Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
6f82d01
Add a global register of all colvar components
giacomofiorin Dec 8, 2023
1d144a9
Report list of objects after initialization
giacomofiorin Dec 12, 2023
5b96304
Modernize memory management in colvarmodule object
giacomofiorin Dec 9, 2023
1947d9d
Move tilt/spinAngle functions into quaternion class
giacomofiorin Dec 11, 2023
367a815
Add dependency features for CVCs that reuse each other's computation
giacomofiorin Dec 8, 2023
7eace6a
Reuse optimal rotation in all orientation-derived components
giacomofiorin Sep 5, 2026
24c5096
Do add padding space in traj file when colvars or biases report nothing
giacomofiorin Dec 15, 2023
519b978
Add test for spinAngle CVC reusing a quaternion CVC
giacomofiorin Dec 12, 2023
275a211
Only allow reusing components that are not already reusing other comp…
giacomofiorin Dec 19, 2023
d610d8a
Fix order of deinitialization
giacomofiorin Dec 21, 2023
18f663b
fix: Pass shared_ptr object correctly to avoid deallocating stale poi…
giacomofiorin Sep 5, 2026
8574bf9
fix: Always refer to cached quaternion instead of rotation object mem…
giacomofiorin Sep 8, 2026
9bf912c
fix: Dereference reused CVCs before deleting
giacomofiorin Sep 8, 2026
440871d
fix: Add forgotten call to enable() for reusing CVCs feature
giacomofiorin Sep 8, 2026
c878979
fix: Temporarily make reusable CVCs incompatible with smp on or smp cvcs
giacomofiorin Sep 8, 2026
a14b31d
doc: Fix mistake in comment caught by Copilot
giacomofiorin Sep 8, 2026
1b85441
fix: Enforce smp off for reusable CVCs
giacomofiorin Sep 9, 2026
8e94740
feat: Initialize ref_quat to unit quaternion by default, regardless o…
giacomofiorin Sep 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
colvars: ----------------------------------------------------------------------
colvars: Please cite Fiorin et al, Mol Phys 2013:
colvars: https://doi.org/10.1080/00268976.2013.813594
colvars: as well as all other papers listed below for individual features used.
colvars: SMP parallelism is enabled (num threads = 1).
colvars: This version was built with the C++11 standard or higher.
colvars: Redefining the Tcl "cv" command to the new script interface.
colvars: The restart output state file will be "test.tmp.colvars.state".
colvars: The final output state file will be "test.colvars.state".
colvars: ----------------------------------------------------------------------
colvars: Reading new configuration from file "test.in":
colvars: # units = "" [default]
colvars: # indexFile = "index.ndx"
colvars: The following index groups are currently defined:
colvars: Protein (104 atoms)
colvars: Protein_noH (51 atoms)
colvars: Protein_Backbone (40 atoms)
colvars: Protein_C-alpha (10 atoms)
colvars: RMSD_atoms (10 atoms)
colvars: Protein_C-alpha_1_2 (2 atoms)
colvars: Protein_C-alpha_9_10 (2 atoms)
colvars: Protein_C-alpha_1 (1 atoms)
colvars: group1 (4 atoms)
colvars: Protein_C-alpha_2 (1 atoms)
colvars: group2 (4 atoms)
colvars: Protein_C-alpha_3 (1 atoms)
colvars: group3 (4 atoms)
colvars: Protein_C-alpha_4 (1 atoms)
colvars: group4 (4 atoms)
colvars: Protein_C-alpha_5 (1 atoms)
colvars: group5 (4 atoms)
colvars: Protein_C-alpha_6 (1 atoms)
colvars: group6 (4 atoms)
colvars: Protein_C-alpha_7 (1 atoms)
colvars: group7 (4 atoms)
colvars: Protein_C-alpha_8 (1 atoms)
colvars: group8 (4 atoms)
colvars: Protein_C-alpha_9 (1 atoms)
colvars: group9 (4 atoms)
colvars: Protein_C-alpha_10 (1 atoms)
colvars: group10 (4 atoms)
colvars: heavy_atoms (51 atoms)
colvars: # smp = on [default]
colvars: # colvarsTrajFrequency = 1
colvars: # colvarsRestartFrequency = 10
colvars: # scriptedColvarForces = off [default]
colvars: # scriptingAfterBiases = off [default]
colvars: # sourceTclFile = "" [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "ori"
colvars: Initializing a new "orientation" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 0 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: # reuseComponent = "" [default]
colvars: Initializing atom group "atoms".
colvars: # name = "" [default]
colvars: # centerToOrigin = off [default]
colvars: # centerToReference = off [default]
colvars: # rotateToReference = off [default]
colvars: # atomsOfGroup = "" [default]
colvars: # indexGroup = "RMSD_atoms"
colvars: # psfSegID = [default]
colvars: # atomsFile = "" [default]
colvars: # dummyAtom = ( 0 , 0 , 0 ) [default]
colvars: # enableFitGradients = on [default]
colvars: # printAtomIDs = off [default]
colvars: Atom group "atoms" defined with 10 atoms requested: total mass = 120.11, total charge = 0.53.
colvars: # refPositions = [default]
colvars: # refPositionsFile = "rmsd_atoms_refpos.xyz"
colvars: # refPositionsCol = "" [default]
colvars: Warning: beginning from 2019-11-26 the XYZ file reader assumes Angstrom units.
colvars: # closestToQuaternion = ( 1 , 0 , 0 , 0 ) [default]
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 0.5
colvars: # hardLowerBoundary = off [default]
colvars: # hardUpperBoundary = off [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = off
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = off [default]
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Initializing a new collective variable.
colvars: # name = "one"
colvars: Initializing a new "spinAngle" component.
colvars: # name = "" [default]
colvars: # componentCoeff = 1 [default]
colvars: # componentExp = 1 [default]
colvars: # period = 360 [default]
colvars: # wrapAround = 0 [default]
colvars: # forceNoPBC = off [default]
colvars: # scalable = on [default]
colvars: # reuseComponent = "ori/orientation0001"
colvars: # axis = ( 1 , -3 , 4 )
colvars: Normalizing rotation axis to ( 0.196116 , -0.588348 , 0.784465 ).
colvars: All components initialized.
colvars: # timeStepFactor = 1 [default]
colvars: # width = 3
colvars: # lowerBoundary = -180 [default]
colvars: # upperBoundary = 180 [default]
colvars: # hardLowerBoundary = on [default]
colvars: # hardUpperBoundary = on [default]
colvars: # expandBoundaries = off [default]
colvars: # extendedLagrangian = off [default]
colvars: # outputValue = on [default]
colvars: # outputVelocity = off [default]
colvars: # outputTotalForce = off [default]
colvars: # outputAppliedForce = on
colvars: # subtractAppliedForce = off [default]
colvars: # runAve = off [default]
colvars: # corrFunc = off [default]
colvars: ----------------------------------------------------------------------
colvars: Collective variables initialized, 2 in total.
colvars: List of variables: ori one
colvars: List of components: one/spinAngle0001 ori/orientation0001
colvars: ----------------------------------------------------------------------
colvars: Initializing a new "harmonic" instance.
colvars: # name = "harmonic1" [default]
colvars: # colvars = { one }
colvars: # stepZeroData = off [default]
colvars: # outputEnergy = off [default]
colvars: # outputFreq = 10 [default]
colvars: # timeStepFactor = 1 [default]
colvars: # writeTISamples = off [default]
colvars: # writeTIPMF = off [default]
colvars: # centers = { 0.1 }
colvars: # targetCenters = { 0.1 } [default]
colvars: # outputCenters = off [default]
colvars: # forceConstant = 0.001
colvars: # decoupling = off [default]
colvars: # targetForceConstant = -1 [default]
colvars: The force constant for colvar "one" will be rescaled to 0.000111111 according to the specified width (3).
colvars: ----------------------------------------------------------------------
colvars: Collective variables biases initialized, 1 in total.
colvars: List of biases: harmonic1
colvars: ----------------------------------------------------------------------
colvars: Collective variables module (re)initialized.
colvars: ----------------------------------------------------------------------
colvars: Updating NAMD interface:
colvars: updating atomic data (10 atoms).
colvars: updating group data (0 scalable groups, 0 atoms in total).
colvars: updating grid object data (0 grid objects in total).
colvars:
colvars: SUMMARY OF COLVARS FEATURES USED SO FAR AND THEIR CITATIONS:
colvars:
colvars: - Colvars module:
colvars: - Colvars-NAMD interface:
colvars: - Harmonic colvar bias implementation:
colvars: - Optimal rotation via flexible fitting:
colvars: - orientation colvar component:
colvars: - orientationAngle colvar component (derived from orientation):
colvars: - orientationProj colvar component (derived from orientationAngle):
colvars: - spinAngle colvar component (derived from tilt):
colvars: - tilt colvar component (derived from orientationProj):
colvars: Fiorin2013 https://doi.org/10.1080/00268976.2013.813594
colvars:
colvars: - NAMD engine:
colvars: Phillips2020 https://doi.org/10.1063/5.0014475
colvars:
colvars: updating target temperature (T = 0 K).
colvars: Updating NAMD interface:
colvars: updating atomic data (10 atoms).
colvars: updating group data (0 scalable groups, 0 atoms in total).
colvars: updating grid object data (0 grid objects in total).
colvars: updating target temperature (T = 0 K).
colvars: Current simulation parameters: initial step = 0, integration timestep = 1
colvars: Updating atomic parameters (masses, charges, etc).
colvars: Re-initialized atom group for variable "ori":0/0. 10 atoms: total mass = 120.11, total charge = 0.53.
colvars: The restart output state file will be "test.tmp.colvars.state".
colvars: Synchronizing (emptying the buffer of) trajectory file "test.colvars.traj".
colvars: Synchronizing (emptying the buffer of) trajectory file "test.colvars.traj".
colvars: Saving collective variables state to "test.tmp.colvars.state".
colvars: Synchronizing (emptying the buffer of) trajectory file "test.colvars.traj".
colvars: Saving collective variables state to "test.tmp.colvars.state".
colvars: Saving collective variables state to "test.colvars.state".
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
configuration {
step 20
dt 1.000000e+00
}

colvar {
name ori
x ( 0.99504759124548 , -0.089421878144897 , 0.010350023726748 , -0.042153242751538 )
}

colvar {
name one
x -6.5219617552899
}

restraint {
configuration {
step 20
name harmonic1
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# step one fa_one
0 -6.74120349418967e+00 7.60133721576629e-04
1 -6.74680409124886e+00 7.60756010138763e-04
2 -6.74928398676683e+00 7.61031554085203e-04
3 -6.74760118854837e+00 7.60844576505375e-04
4 -6.74089237394015e+00 7.60099152660017e-04
5 -6.72859795268796e+00 7.58733105854218e-04
6 -6.71056189836587e+00 7.56729099818430e-04
7 -6.68709018460367e+00 7.54121131622629e-04
8 -6.65896053826554e+00 7.50995615362838e-04
9 -6.62738484678158e+00 7.47487205197953e-04
10 -6.59393151683697e+00 7.43770168537441e-04
11 -6.56041836901761e+00 7.40046485446401e-04
12 -6.52878782058752e+00 7.36531980065280e-04
13 -6.50097576071506e+00 7.33441751190562e-04
14 -6.47878371974444e+00 7.30975968860493e-04
15 -6.46376168610113e+00 7.29306854011237e-04
16 -6.45710716417506e+00 7.28567462686117e-04
17 -6.45958482166641e+00 7.28842757962935e-04
18 -6.47146995371894e+00 7.30163328190994e-04
19 -6.49251798066684e+00 7.32501997851872e-04
20 -6.52196175528559e+00 7.35773528365066e-04
Loading
Loading