In typical scenarios the Gaussian hills of a metadynamics potential are interpolated and summed
together onto a grid, which is much more efficient than computing each hill independently at every
step (the keyword useGrids is on by default). This numerical approximation typically yields
negligible errors in the resulting PMF [1]. However, due to the finite thickness of the Gaussian
function, the metadynamics potential would suddenly vanish each time a variable exceeds its grid
boundaries.
-
To avoid such discontinuity the Colvars metadynamics code will keep an explicit copy
+
To avoid such discontinuity the Colvars metadynamics code will keep an explicit copy
of each hill that straddles a grid's boundary, and will use it to compute metadynamics
forces outside the grid. This measure is taken to protect the accuracy and stability of
a metadynamics simulation, except in cases of “natural" boundaries (for example, the
- interval
+ interval
of an angle colvar) or when the flags hardLowerBoundary and hardUpperBoundary are explicitly set
by the user. Unfortunately, processing explicit hills alongside the potential and force grids
could easily become inefficient, slowing down the simulation and increasing the state file's
size.
-
-
colvar {
name r
distance { ... }
upperBoundary 15.0
width 0.2
}
metadynamics {
name meta_r
colvars r
hillWeight 0.001
hillWidth 2.0
}
harmonicWalls {
name wall_r
colvars r
upperWalls 13.0
upperWallConstant 2.0
}
+
Example: Using harmonic walls to protect the grid's boundaries.
+
+
colvar {
name r
distance { ... }
upperBoundary 15.0
width 0.2
}
metadynamics {
name meta_r
colvars r
hillWeight 0.001
hillWidth 2.0
}
harmonicWalls {
name wall_r
colvars r
upperWalls 13.0
upperWallConstant 2.0
}
-
In the colvar r, the distance function used has a lowerBoundary automatically set to 0 by
+
In the colvar r, the distance function used has a lowerBoundary automatically set to 0 by
default, thus the keyword lowerBoundary itself is not mandatory and hardLowerBoundary
is set to yes internally. However, upperBoundary does not have such a “natural" choice of
value. The metadynamics potential meta_r will individually process any hill whose center is too
close to the upperBoundary, more precisely within fewer grid points than 6 times the Gaussian
-
+
parameter plus one. It goes without saying that if the colvar r represents a distance between two
freely-moving molecules, it will cross this “threshold" rather frequently.
-
In this example, where the value of hillWidth
-() amounts
+
In this example, where the value of hillWidth
+() amounts
to 2 grid points, the threshold is 6+1 = 7 grid points away from upperBoundary. In explicit units, the width
-of is
- 0.2 Å, and the
-threshold is 15.0 - 70.2
+of is
+ 0.2 Å, and the
+threshold is 15.0 - 70.2
= 13.6 Å.
-
The wall_r restraint included in the example prevents this: the position of its upperWall is 13 Å, i.e. 3 grid
+
The wall_r restraint included in the example prevents this: the position of its upperWall is 13 Å, i.e. 3 grid
points below the buffer's threshold (13.6 Å). For the chosen value of upperWallConstant, the energy of the wall_r
-bias at r =
+bias at r =
= 13.6 Å is:
- |
-
which results in a relative probability exp ⁡ (−E∗∕κBT ) ≃
-3×10−7 that r
+
which results in a relative probability exp ⁡ (−E∗∕κBT ) ≃
+3×10−7 that r
crosses the threshold. The probability that r exceeds upperBoundary, which is further away, has
also become vanishingly small. At that point, you may want to set hardUpperBoundary to
yes for r, and let meta_r know that no special treatment near the grid's boundaries will be
needed.
-
What is the impact of the wall restraint onto the PMF? Not a very complicated one: the PMF reconstructed
+
What is the impact of the wall restraint onto the PMF? Not a very complicated one: the PMF reconstructed
by metadynamics will simply show a sharp increase in free-energy where the wall potential kicks in
-(r >
+(r >
13 Å). You may then choose between using the PMF only up until that point and discard the rest, or
subtracting the energy of the harmonicWalls restraint from the PMF itself. Keep in mind, however, that the
statistical convergence of metadynamics may be less accurate where the wall potential is
strong.
-
In summary, although it would be simpler to set the wall's position upperWall and the grid's boundary
+
In summary, although it would be simpler to set the wall's position upperWall and the grid's boundary
upperBoundary to the same number, the finite width of the Gaussian hills calls for setting the former
strictly within the latter.
-
+
6.4.2 Required metadynamics keywords
-
-
To enable a metadynamics-based calculation, a metadynamics {...} block must be included in the
+
+
To enable a metadynamics-based calculation, a metadynamics {...} block must be included in the
Colvars configuration file.
-
By default, metadynamics bias energy and forces will be recorded onto a grid, the parameters of
+
By default, metadynamics bias energy and forces will be recorded onto a grid, the parameters of
which can be defined within the definition of each colvar, as described in 4.16.
-
Other required keywords will be specified within the metadynamics block: these
+
Other required keywords will be specified within the metadynamics block: these
are colvars (the names of the variables involved), hillWeight (the weight parameter
-W), and the
-widths 2σ
+W), and the
+widths 2σ
of the Gaussian hills in each dimension that can be given either as the single dimensionless parameter
hillWidth, or explicitly for each colvar with gaussianSigmas.
-- Keyword name: see definition of name (biasing and analysis methods)
+
- Keyword name: see definition of name (biasing and analysis methods)
-- Keyword colvars: see definition of colvars (biasing and analysis methods)
+
- Keyword colvars: see definition of colvars (biasing and analysis methods)
-- Keyword outputEnergy: see definition of outputEnergy (biasing and analysis methods)
+
- Keyword outputEnergy: see definition of outputEnergy (biasing and analysis methods)
-- Keyword outputFreq: see definition of outputFreq (biasing and analysis methods)
+
- Keyword outputFreq: see definition of outputFreq (biasing and analysis methods)
-- Keyword writeTIPMF: see definition of writeTIPMF (biasing and analysis methods)
+
- Keyword writeTIPMF: see definition of writeTIPMF (biasing and analysis methods)
-- Keyword writeTISamples: see definition of writeTISamples (biasing and analysis
+
- Keyword writeTISamples: see definition of writeTISamples (biasing and analysis
methods)
-- Keyword stepZeroData: see definition of stepZeroData (biasing and analysis methods)
+
- Keyword stepZeroData: see definition of stepZeroData (biasing and analysis methods)
-- Keyword hillWeight⟨Height
- of each hill (kJ/mol)⟩
Context: metadynamics
Acceptable values: positive decimal
Description: This option sets the height W
+ - Keyword hillWeight⟨Height
+ of each hill (kJ/mol)⟩
Context: metadynamics
Acceptable values: positive decimal
Description: This option sets the height W
of the Gaussian hills that are added during this run. Lower values provide more accurate
sampling of the system's degrees of freedom at the price of longer simulation times to
complete a PMF calculation based on metadynamics.
-- Keyword hillWidth⟨Width
- 2σ
- of a Gaussian hill, measured in number of grid points⟩
Context: metadynamics
Acceptable values: positive decimal
Description: This keyword sets the Gaussian width 2σξi
+ - Keyword hillWidth⟨Width
+ 2σ
+ of a Gaussian hill, measured in number of grid points⟩
Context: metadynamics
Acceptable values: positive decimal
Description: This keyword sets the Gaussian width 2σξi
for all colvars, expressed in number of grid points, with the grid spacing along each colvar
- ξ
+ ξ
determined by the respective value of width. Values between 1 and 3 are recommended for
this option: smaller numbers will fail to adequately interpolate each Gaussian function [1],
while larger values may be unable to account for steep free-energy gradients. The values of
- each half-width σξi
- in the physical units of ξi
- are also printed by Gromacs at initialization time; alternatively, they may be set explicitly via
- gaussianSigmas.
-
-- Keyword gaussianSigmas⟨Half-widths
- σ
- of the Gaussian hill (one for each colvar)⟩
Context: metadynamics
Acceptable values: space-separated list of decimals
Description: This option sets the parameters σξi
- of the Gaussian hills along each colvar ξi,
- expressed in the same unit of ξi.
+ each half-width σξi
+ in the physical units of ξi
+ are also printed by GROMACS at initialization time; alternatively, they may be set explicitly
+ via gaussianSigmas.
+
+- Keyword gaussianSigmas⟨Half-widths
+ σ
+ of the Gaussian hill (one for each colvar)⟩
Context: metadynamics
Acceptable values: space-separated list of decimals
Description: This option sets the parameters σξi
+ of the Gaussian hills along each colvar ξi,
+ expressed in the same unit of ξi.
No restrictions are placed on each value, but a warning will be printed if useGrids is on and
- the Gaussian width 2σξi
- is smaller than the corresponding grid spacing, width(ξi).
+ the Gaussian width 2σξi
+ is smaller than the corresponding grid spacing, width(ξi).
If not given, default values will be computed from the dimensionless number hillWidth.
-- Keyword newHillFrequency⟨Frequency
- of hill creation⟩
Context: metadynamics
Acceptable values: positive integer
Default value: 1000
Description: This option sets the number of steps after which a new Gaussian hill is added
+ - Keyword newHillFrequency⟨Frequency
+ of hill creation⟩
Context: metadynamics
Acceptable values: positive integer
Default value: 1000
Description: This option sets the number of steps after which a new Gaussian hill is added
to the metadynamics potential. The product of this number and the integration time-step
- defines the parameter δt
+ defines the parameter δt
in eq. 25. Higher values provide more accurate statistical sampling, at the price of longer
simulation times to complete a PMF calculation.
-
+
-
When interpolating grids are enabled (default behavior), the PMF is written by default every
+
+
When interpolating grids are enabled (default behavior), the PMF is written by default every
colvarsRestartFrequency steps to the file output.pmf in multicolumn text format (3.7.4). The following
two options allow to disable or control this behavior and to track statistical convergence:
-- Keyword writeFreeEnergyFile⟨Periodically
- write the PMF for visualization⟩
Context: metadynamics
Acceptable values: boolean
Default value: on
Description: When useGrids and this option are on, the PMF is written every outputFreq
+ - Keyword writeFreeEnergyFile⟨Periodically
+ write the PMF for visualization⟩
Context: metadynamics
Acceptable values: boolean
Default value: on
Description: When useGrids and this option are on, the PMF is written every outputFreq
steps.
-- Keyword keepFreeEnergyFiles⟨Keep
- all the PMF files⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: When writeFreeEnergyFile and this option are on, the step number is included
+ - Keyword keepFreeEnergyFiles⟨Keep
+ all the PMF files⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: When writeFreeEnergyFile and this option are on, the step number is included
in the file name, thus generating a series of PMF files. Activating this option can be useful
to follow more closely the convergence of the simulation, by comparing PMFs separated by
short times.
-- Keyword writeHillsTrajectory⟨Write
- a log of new hills⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: If this option is on, a file containing the Gaussian hills written by the metadynamics
- bias, with the name:
“output.colvars. <name >.hills.traj",
which can be useful to post-process the time series of the Gassian hills. Each line is written
+ - Keyword writeHillsTrajectory⟨Write
+ a log of new hills⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: If this option is on, a file containing the Gaussian hills written by the metadynamics
+ bias, with the name:
“output.colvars. <name >.hills.traj",
which can be useful to post-process the time series of the Gassian hills. Each line is written
every newHillFrequency, regardless of the value of outputFreq. When multipleReplicas
- is on, its name is changed to:
“output.colvars. <name >. <replicaID >.hills.traj".
The columns of this file are the centers of the hills, ξi(t′),
- followed by the half-widths, σξi,
- and the weight, W.
- Note: prior to version 2020-02-24, the full-width 2σ
- of the Gaussian was reported in lieu of σ.
+ is on, its name is changed to:
“output.colvars. <name >. <replicaID >.hills.traj".
The columns of this file are the centers of the hills, ξi(t′),
+ followed by the half-widths, σξi,
+ and the weight, W.
+ Note: prior to version 2020-02-24, the full-width 2σ
+ of the Gaussian was reported in lieu of σ.
-
+
6.4.4 Performance optimization
-
The following options control the computational cost of metadynamics calculations,
+
The following options control the computational cost of metadynamics calculations,
but do not affect results. Default values are chosen to minimize such cost with no loss of
accuracy.
-- Keyword useGrids⟨Interpolate
- the hills with grids⟩
Context: metadynamics
Acceptable values: boolean
Default value: on
Description: This option discretizes all hills for improved performance, accumulating their
+ - Keyword useGrids⟨Interpolate
+ the hills with grids⟩
Context: metadynamics
Acceptable values: boolean
Default value: on
Description: This option discretizes all hills for improved performance, accumulating their
energy and their gradients on two separate grids of equal spacing. Grids are defined by the
values of lowerBoundary, upperBoundary and width for each colvar. Currently, this option is
implemented for all types of variables except the non-scalar types (distanceDir or orientation).
If expandBoundaries is defined in one of the colvars, grids are automatically expanded along
the direction of that colvar.
-- Keyword rebinGrids⟨Recompute
- the grids when reading a state file⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: When restarting from a state file, the grid's parameters (boundaries and
+ - Keyword rebinGrids⟨Recompute
+ the grids when reading a state file⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: When restarting from a state file, the grid's parameters (boundaries and
widths) saved in the state file override those in the configuration file. Enabling this option
forces the grids to match those in the current configuration file.
-- Keyword keepHills⟨Write
- each individual hill to the state file⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: When useGrids and this option are on, all hills are saved to the state file in
+ - Keyword keepHills⟨Write
+ each individual hill to the state file⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: When useGrids and this option are on, all hills are saved to the state file in
their analytic form, alongside their grids. This makes it possible to later use exact analytic
Gaussians for rebinGrids. To only keep track of the history of the added hills, writeHillsTrajectory
is preferable.
-
+
6.4.5 Ensemble-Biased Metadynamics
-
-
The ensemble-biased metadynamics (EBMetaD) approach [27] is designed to reproduce a target
+
+
The ensemble-biased metadynamics (EBMetaD) approach [27] is designed to reproduce a target
probability distribution along selected collective variables. Standard metadynamics can be seen as a
special case of EBMetaD with a flat distribution as target. This is achieved by weighing the Gaussian
functions used in the metadynamics approach by the inverse of the target probability distribution:
-
+
VEBmetaD (ξ (t)) = ∑t′=δt,2δt,…t′<t W
exp ⁡ (Sρ)ρexp(ξ(t′))∏i=1Ncv exp ⁡ (−(ξi(t)−ξi(t′))2
2σξi2 ),
| (28) |
-
where ρexp(ξ) is the target
-probability distribution and Sρ = −∫
+ where ρexp(ξ) is the target
+probability distribution and Sρ = −∫
⁡ρexp(ξ)log ⁡ ρexp(ξ)dξ
its corresponding differential entropy. The method is designed so that during the simulation the resulting distribution of
-the collective variable ξ
-converges to ρexp(ξ).
+the collective variable ξ
+converges to ρexp(ξ).
A practical application of EBMetaD is to reproduce an “experimental" probability distribution,
for example the distance distribution between spectroscopic labels inferred from Förster
resonance energy transfer (FRET) or double electron-electron resonance (DEER) experiments
[27].
-
The PMF along ξ
+
The PMF along ξ
can be estimated from the bias potential and the target ditribution [27]:
-
+
A(ξ) ≃−VEBmetaD(ξ)−κBT log ⁡ ρexp(ξ)
| (29) |
- and obtained by enabling writeFreeEnergyFile. Similarly to eq. 27, a more accurate estimate of the
+
and obtained by enabling writeFreeEnergyFile. Similarly to eq. 27, a more accurate estimate of the
free energy can be obtained by averaging (after an equilibration time) multiple time-dependent free
energy estimates (see keepFreeEnergyFiles).
-
The following additional options define the configuration for the ensemble-biased metadynamics
+
The following additional options define the configuration for the ensemble-biased metadynamics
approach:
-- Keyword ebMeta⟨Perform
- ensemble-biased metadynamics⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: If enabled, this flag activates the ensemble-biased metadynamics as described
+ - Keyword ebMeta⟨Perform
+ ensemble-biased metadynamics⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: If enabled, this flag activates the ensemble-biased metadynamics as described
by Marinelli et al.[27]. The target distribution file, targetdistfile, is then required. The
keywords lowerBoundary, upperBoundary and width for the respective variables are also
needed to set the binning (grid) of the target distribution file.
-- Keyword targetDistFile⟨Target
- probability distribution file for ensemble-biased metadynamics⟩
Context: metadynamics
Acceptable values: multicolumn text file
Description: This file provides the target probability distribution, ρexp(ξ),
+ - Keyword targetDistFile⟨Target
+ probability distribution file for ensemble-biased metadynamics⟩
Context: metadynamics
Acceptable values: multicolumn text file
Description: This file provides the target probability distribution, ρexp(ξ),
reported in eq. 28. The latter distribution must be a tabulated function provided in a multicolumn
text format (see 3.7.4). The provided distribution is then normalized.
-- Keyword ebMetaEquilSteps⟨Number
- of equilibration steps for ensemble-biased metadynamics⟩
Context: metadynamics
Acceptable values: positive integer
Description: The EBMetaD approach may introduce large hills in regions with small values
+ - Keyword ebMetaEquilSteps⟨Number
+ of equilibration steps for ensemble-biased metadynamics⟩
Context: metadynamics
Acceptable values: positive integer
Description: The EBMetaD approach may introduce large hills in regions with small values
of the target probability distribution (eq. 28). This happens, for example, if the probability
distribution sampled by a conventional molecular dynamics simulation is significantly different
from the target distribution. This may lead to instabilities at the beginning of the simulation
related to large biasing forces. In this case, it is useful to introduce an equilibration stage in
which the bias potential gradually switches from standard metadynamics (eq. 25) to EBmetaD
- (eq. 28) as λVmeta(ξ)+(1−λ)VEBmetaD(ξ),
- where λ = (ebMetaEquilSteps−step)∕ebMetaEquilSteps
+ (eq. 28) as λVmeta(ξ)+(1−λ)VEBmetaD(ξ),
+ where λ = (ebMetaEquilSteps−step)∕ebMetaEquilSteps
and step is the current simulation step number.
-- Keyword targetDistMinVal⟨Minimum
- value of the target distribution in reference to its maximum value⟩
Context: metadynamics
Acceptable values: positive decimal
Description: It is useful to set a minimum value of the target probability distribution to
+ - Keyword targetDistMinVal⟨Minimum
+ value of the target distribution in reference to its maximum value⟩
Context: metadynamics
Acceptable values: positive decimal
Description: It is useful to set a minimum value of the target probability distribution to
avoid values of the latter that are nearly zero, leading to very large hills. This parameter sets
the minimum value of the target probability distribution that is expressed as a fraction of its
maximum value: minimum value = maximum value X targetDistMinVal. This implies that
0 <targetDistMinVal< 1 and its default value is set to 1/1000000. To avoid divisions by zero
- (see eq. 28), if targetDistMinVal is set as zero, values of ρexp
+ (see eq. 28), if targetDistMinVal is set as zero, values of ρexp
equal to zero are replaced by the smallest positive value read in the same file.
- As with standard metadynamics, multidimensional probability distributions can be targeted using a
+
As with standard metadynamics, multidimensional probability distributions can be targeted using a
single metadynamics block using multiple colvars and a multidimensional target distribution file (see
3.7.4). Instead, multiple probability distributions on different variables can be targeted separately in
the same simulation by introducing multiple metadynamics blocks with the ebMeta option.
-
Example: EBmetaD configuration for a single variable.
-
-
colvar {
name r
distance {
group1 { atomNumbers 991 992 }
group2 { atomNumbers 1762 1763 }
}
upperBoundary 100.0
width 0.1
}
metadynamics {
name ebmeta
colvars r
hillWeight 0.01
hillWidth 3.0
ebMeta on
targetDistFile targetdist1.dat
ebMetaEquilSteps 500000
}
+
Example: EBmetaD configuration for a single variable.
+
+
colvar {
name r
distance {
group1 { atomNumbers 991 992 }
group2 { atomNumbers 1762 1763 }
}
upperBoundary 100.0
width 0.1
}
metadynamics {
name ebmeta
colvars r
hillWeight 0.01
hillWidth 3.0
ebMeta on
targetDistFile targetdist1.dat
ebMetaEquilSteps 500000
}
-
where targetdist1.dat is a text file in “multicolumn" format (3.7.4) with the same width as the variable r
+
where targetdist1.dat is a text file in “multicolumn" format (3.7.4) with the same width as the variable r
(0.1 in this case):
|
# | 1 | | | | |
# | 0.0 | 0.1 | 1000 | 0 |
|
| 0.05 | 0.0012 |
@@ -3997,48 +4064,48 @@ 6.4.5 | 99.95 | 0.0010 |
|
|
-
Tip: Besides setting a meaningful value for targetDistMinVal, the exploration of unphysically low
+
Tip: Besides setting a meaningful value for targetDistMinVal, the exploration of unphysically low
values of the target distribution (which would lead to very large hills and possibly numerical instabilities)
can be also prevented by restricting sampling to a given interval, using e.g. harmonicWalls restraint
(6.7).
-
+
6.4.6 Well-tempered metadynamics
-
The following options define the configuration for the “well-tempered" metadynamics approach
+
The following options define the configuration for the “well-tempered" metadynamics approach
[28]:
-- Keyword wellTempered⟨Perform
- well-tempered metadynamics⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: If enabled, this flag causes well-tempered metadynamics as described by
+ - Keyword wellTempered⟨Perform
+ well-tempered metadynamics⟩
Context: metadynamics
Acceptable values: boolean
Default value: off
Description: If enabled, this flag causes well-tempered metadynamics as described by
Barducci et al.[28] to be performed, rather than standard metadynamics. The parameter
biasTemperature is then required. This feature was contributed by Li Li (Luthey-Schulten
group, Department of Chemistry, UIUC).
-- Keyword biasTemperature⟨Temperature
+
- Keyword biasTemperature⟨Temperature
- bias for well-tempered metadynamics⟩
Context: metadynamics
Acceptable values: positive decimal
Description: When running metadynamics in the long time limit, collective variable space is
- sampled to a modified temperature T +ΔT .
- In conventional metadynamics, the temperature “boost" ΔT
- would constantly increases with time. Instead, in well-tempered metadynamics ΔT
+ bias for well-tempered metadynamics⟩
Context: metadynamics
Acceptable values: positive decimal
Description: When running metadynamics in the long time limit, collective variable space is
+ sampled to a modified temperature T +ΔT .
+ In conventional metadynamics, the temperature “boost" ΔT
+ would constantly increases with time. Instead, in well-tempered metadynamics ΔT
must be defined by the user via biasTemperature. The written PMF includes the scaling
- factor (T +ΔT )∕ΔT
-[28]. A careful choice of ΔT
+ factor (T +ΔT )∕ΔT
+[28]. A careful choice of ΔT
determines the sampling and convergence rate, and is hence crucial to the success of a
well-tempered metadynamics simulation.
-
+
6.4.7 Multiple-walker metadynamics
-
Metadynamics calculations can be performed concurrently by multiple replicas that share a
+
Metadynamics calculations can be performed concurrently by multiple replicas that share a
common history. This variant of the method is called multiple-walker metadynamics
[29]: the Gaussian
hills of all replicas are periodically combined into a single biasing potential, intended to converge to a
single PMF.
-
In the implementation here described [1], replicas communicate through files. This arrangement
+
In the implementation here described [1], replicas communicate through files. This arrangement
allows launching the replicas either (1) as a bundle (i.e. a single job in a cluster's queueing system) or (2)
as fully independent runs (i.e. as separate jobs for the queueing system). One advantage of the use case
(1) is that an identical Colvars configuration can be used for all replicas (otherwise, replicaID needs to
@@ -4047,7 +4114,7 @@
-
+
V (ξ ) = { 1 2k (ξ−ξupper
wξ ) 2 ifξ > ξupper
0 ifξlower ≤ ξ ≤ ξupper
@@ -4352,56 +4419,56 @@ 6.7 ) 2 ifξ < ξlower
| (32) |
-
where ξlower
-and ξupper are
+
where ξlower
+and ξupper are
the lower and upper wall thresholds, respectively; (ii) because an interval between two walls is defined,
only scalar variables can be used (but any number of variables can be defined, and the wall bias is
intrinsically multi-dimensional).
-
Note: this bias replaces the keywords lowerWall, lowerWallConstant, upperWall and
+
Note: this bias replaces the keywords lowerWall, lowerWallConstant, upperWall and
upperWallConstant defined in the colvar context. Those keywords are deprecated.
-
The harmonicWalls bias implements the following options:
+
The harmonicWalls bias implements the following options:
-- Keyword name: see definition of name (biasing and analysis methods)
+
- Keyword name: see definition of name (biasing and analysis methods)
-- Keyword colvars: see definition of colvars (biasing and analysis methods)
+
- Keyword colvars: see definition of colvars (biasing and analysis methods)
-- Keyword outputEnergy: see definition of outputEnergy (biasing and analysis methods)
+
- Keyword outputEnergy: see definition of outputEnergy (biasing and analysis methods)
-- Keyword writeTIPMF: see definition of writeTIPMF (biasing and analysis methods)
+
- Keyword writeTIPMF: see definition of writeTIPMF (biasing and analysis methods)
-- Keyword writeTISamples: see definition of writeTISamples (biasing and analysis
+
- Keyword writeTISamples: see definition of writeTISamples (biasing and analysis
methods)
-- Keyword stepZeroData: see definition of stepZeroData (biasing and analysis methods)
+
- Keyword stepZeroData: see definition of stepZeroData (biasing and analysis methods)
-- Keyword lowerWalls⟨Position
- of the lower wall(s)⟩
Context: colvar
Acceptable values: Space-separated list of decimals
Description: Defines the values ξlower
- below which a confining restraint on the colvar is applied to each colvar ξ.
+ - Keyword lowerWalls⟨Position
+ of the lower wall(s)⟩
Context: colvar
Acceptable values: Space-separated list of decimals
Description: Defines the values ξlower
+ below which a confining restraint on the colvar is applied to each colvar ξ.
-- Keyword upperWalls⟨Position
- of the upper wall(s)⟩
Context: colvar
Acceptable values: Space-separated list of decimals
Description: Defines the values ξupper
- above which a confining restraint on the colvar is applied to each colvar ξ.
+ - Keyword upperWalls⟨Position
+ of the upper wall(s)⟩
Context: colvar
Acceptable values: Space-separated list of decimals
Description: Defines the values ξupper
+ above which a confining restraint on the colvar is applied to each colvar ξ.
-- Keyword forceConstant: see definition of forceConstant (Harmonic restraints)
+
- Keyword forceConstant: see definition of forceConstant (Harmonic restraints)
-- Keyword lowerWallConstant⟨Force
- constant for the lower wall⟩
Context: harmonicWalls
Acceptable values: positive decimal
Default value: forceConstant
Description: When both sets of walls are defined (lower and upper), this keyword allows
+ - Keyword lowerWallConstant⟨Force
+ constant for the lower wall⟩
Context: harmonicWalls
Acceptable values: positive decimal
Default value: forceConstant
Description: When both sets of walls are defined (lower and upper), this keyword allows
setting different force constants for them. As with forceConstant, the specified constant is
divided internally by the square of the specific width of each variable (see also the equivalent
keyword for the harmonic restraint, forceConstant). The force constant reported in the
- output as “k",
+ output as “k",
and used in the change of force constant scheme, is the geometric mean of upperWallConstant
and upperWallConstant.
-- upperWallConstant: analogous to lowerWallConstant
+
- upperWallConstant: analogous to lowerWallConstant
-- Keyword targetForceConstant: see definition of targetForceConstant (harmonic
+
- Keyword targetForceConstant: see definition of targetForceConstant (harmonic
restraints)
-- Keyword targetForceConstant⟨Change
- the force constant(s) towards this value⟩
Context: harmonicWalls
Acceptable values: positive decimal
Description: This keyword allows changing either one or both of the wall force constants
+ - Keyword targetForceConstant⟨Change
+ the force constant(s) towards this value⟩
Context: harmonicWalls
Acceptable values: positive decimal
Description: This keyword allows changing either one or both of the wall force constants
over time. In the case that lowerWallConstant and upperWallConstant have the same
value, the behavior of this keyword is identical to the corresponding keyword in the harmonic
restraint; otherwise, the change schedule is applied to the geometric mean of the two constant.
@@ -4410,23 +4477,23 @@ 6.7 harmonicWalls, and apply the changing schedule
only to one of them.
-- Keyword targetNumSteps: see definition of targetNumSteps (harmonic restraints)
+
- Keyword targetNumSteps: see definition of targetNumSteps (harmonic restraints)
-- Keyword lambdaExponent: see definition of lambdaExponent (harmonic restraints)
+
- Keyword lambdaExponent: see definition of lambdaExponent (harmonic restraints)
-- Keyword targetEquilSteps: see definition of targetEquilSteps (harmonic restraints)
+
- Keyword targetEquilSteps: see definition of targetEquilSteps (harmonic restraints)
-- Keyword targetNumStages: see definition of targetNumStages (harmonic restraints)
+
- Keyword targetNumStages: see definition of targetNumStages (harmonic restraints)
-- Keyword lambdaSchedule: see definition of lambdaSchedule (harmonic restraints)
+
- Keyword lambdaSchedule: see definition of lambdaSchedule (harmonic restraints)
-- Keyword outputAccumulatedWork: see definition of outputAccumulatedWork (harmonic
+
- Keyword outputAccumulatedWork: see definition of outputAccumulatedWork (harmonic
restraints)
-- Keyword bypassExtendedLagrangian⟨Apply
- bias to actual colvars, bypassing extended coordinates⟩
Context: harmonicWalls
Acceptable values: boolean
Default value: on
Description: This option behaves as bypassExtendedLagrangian for other biases, but it
+ - Keyword bypassExtendedLagrangian⟨Apply
+ bias to actual colvars, bypassing extended coordinates⟩
Context: harmonicWalls
Acceptable values: boolean
Default value: on
Description: This option behaves as bypassExtendedLagrangian for other biases, but it
defaults to on, unlike in the general case. Thus, by default, the harmonicWalls bias applies
to the actual colvars, so that the distribution of the colvar between the walls is unaffected by
the bias, which then applies a flat-bottom potential as a function of the colvar value. This bias
@@ -4435,96 +4502,96 @@ 6.7 coordinate. Conversely, this bias will then modify the distribution of the actual colvar value
near the walls.
-
Example 1: harmonic walls for one variable with two different force constants.
-
-
harmonicWalls {
name mywalls
colvars dist
lowerWalls 22.0
upperWalls 38.0
lowerWallConstant 2.0
upperWallConstant 10.0
}
-
-
Example 2: harmonic walls for two variables with a single force constant.
+
Example 1: harmonic walls for one variable with two different force constants.
-
harmonicWalls {
name mywalls
colvars phi psi
lowerWalls -180.0 0.0
upperWalls 0.0 180.0
forceConstant 5.0
}
+
harmonicWalls {
name mywalls
colvars dist
lowerWalls 22.0
upperWalls 38.0
lowerWallConstant 2.0
upperWallConstant 10.0
}
+
+
Example 2: harmonic walls for two variables with a single force constant.
+
+
harmonicWalls {
name mywalls
colvars phi psi
lowerWalls -180.0 0.0
upperWalls 0.0 180.0
forceConstant 5.0
}
-
+
-
The linear keyword defines a linear potential:
-
+
+ The linear keyword defines a linear potential:
+
V (ξ ) = k (ξ −ξ0
wξ )
| (33) |
-whose force is simply given by the constant k∕wξ
+ whose force is simply given by the constant k∕wξ
itself:
-This type of bias is therefore most useful in situations where a constant force is desired. As all other
+ This type of bias is therefore most useful in situations where a constant force is desired. As all other
restraints, it can be defined on one or more CVs, with each contribution added to the total potential and the
-parameters wξ
+parameters wξ
determining the relative magnitude for each.
- Example: A possible use case of the linear bias is mimicking a constant electric field acting on a
+ Example: A possible use case of the linear bias is mimicking a constant electric field acting on a
specific particle, or the center of mass of many particles. In the following example, a linear restraint is
applied on a distanceZ variable (4.2.2), generating a constant force parallel to the Z axis of magnitude
5 kJ/mol/nm:
-
- colvar { name z distanceZ { ... } }
linear { colvars z forceConstant 5.0 centers 0.0 }
+
+ colvar { name z distanceZ { ... } }
linear { colvars z forceConstant 5.0 centers 0.0 }
- Another useful application of a linear restraint is to enforce experimental constraints in a simulation,
+ Another useful application of a linear restraint is to enforce experimental constraints in a simulation,
with a lower non-equilibrium work than e.g. harmonic restraints [31]. There is generally a unique strength
of bias for each CV center, which means you must know the bias force constant specifically for the center
of the CV. This force constant may be found by using experiment directed simulation described in section
6.9.
-- Keyword name: see definition of name (biasing and analysis methods)
+
- Keyword name: see definition of name (biasing and analysis methods)
-- Keyword colvars: see definition of colvars (biasing and analysis methods)
+
- Keyword colvars: see definition of colvars (biasing and analysis methods)
-- Keyword outputEnergy: see definition of outputEnergy (biasing and analysis methods)
+
- Keyword outputEnergy: see definition of outputEnergy (biasing and analysis methods)
-- Keyword forceConstant⟨Scaled
- force constant (kJ/mol)⟩
Context: linear Acceptable values: Decimal Default value: 1.0 Description: This option defines a scaled force constant k
+ - Keyword forceConstant⟨Scaled
+ force constant (kJ/mol)⟩
Context: linear Acceptable values: Decimal Default value: 1.0 Description: This option defines a scaled force constant k
for the linear bias. To ensure consistency for multidimensional restraints, it is divided internally
by the specific width of each variable (which is 1 by default), so that all variables are
- effectively dimensionless and of commensurate size. The values of k∕wξ
+ effectively dimensionless and of commensurate size. The values of k∕wξ
are always printed when the restraint is defined.
-- Keyword centers⟨Initial
- linear restraint centers⟩
Context: linear Acceptable values: space-separated list of colvar values Description: These are analogous to the centers keyword of the harmonic restraint. Although
+ - Keyword centers⟨Initial
+ linear restraint centers⟩
Context: linear Acceptable values: space-separated list of colvar values Description: These are analogous to the centers keyword of the harmonic restraint. Although
they do not affect dynamics, they are here necessary to ensure a well-defined energy for the
linear bias.
-- Keyword writeTIPMF: see definition of writeTIPMF (biasing and analysis methods)
+
- Keyword writeTIPMF: see definition of writeTIPMF (biasing and analysis methods)
-- Keyword writeTISamples: see definition of writeTISamples (biasing and analysis
+
- Keyword writeTISamples: see definition of writeTISamples (biasing and analysis
methods)
-- Keyword targetForceConstant: see definition of targetForceConstant (Harmonic
+
- Keyword targetForceConstant: see definition of targetForceConstant (Harmonic
restraints)
-- Keyword targetNumSteps: see definition of targetNumSteps (Harmonic restraints)
+
- Keyword targetNumSteps: see definition of targetNumSteps (Harmonic restraints)
-- Keyword lambdaExponent: see definition of lambdaExponent (Harmonic restraints)
+
- Keyword lambdaExponent: see definition of lambdaExponent (Harmonic restraints)
-- Keyword targetEquilSteps: see definition of targetEquilSteps (Harmonic restraints)
+
- Keyword targetEquilSteps: see definition of targetEquilSteps (Harmonic restraints)
-- Keyword targetNumStages: see definition of targetNumStages (Harmonic restraints)
+
- Keyword targetNumStages: see definition of targetNumStages (Harmonic restraints)
-- Keyword lambdaSchedule: see definition of lambdaSchedule (Harmonic restraints)
+
- Keyword lambdaSchedule: see definition of lambdaSchedule (Harmonic restraints)
-- Keyword outputAccumulatedWork: see definition of outputAccumulatedWork (Harmonic
+
- Keyword outputAccumulatedWork: see definition of outputAccumulatedWork (Harmonic
restraints)
-
+
6.9 Adaptive Linear Bias/Experiment Directed Simulation
-
- Experiment directed simulation applies a linear bias with a changing force constant. Please cite White
+
+ Experiment directed simulation applies a linear bias with a changing force constant. Please cite White
and Voth [32] when using this feature. As opposed to that reference, the force constant here is scaled by
the width corresponding to the biased colvar. In White and Voth, each force constant is scaled by the
colvars set center. The bias converges to a linear bias, after which it will be the minimal possible bias. You
@@ -4535,172 +4602,172 @@ 6.9 converged.
-- Keyword name: see definition of name (biasing and analysis methods)
+
- Keyword name: see definition of name (biasing and analysis methods)
-- Keyword colvars: see definition of colvars (biasing and analysis methods)
+
- Keyword colvars: see definition of colvars (biasing and analysis methods)
-- Keyword centers⟨Collective
- variable centers⟩
Context: alb Acceptable values: space-separated list of colvar values Description: The desired center (equilibrium values) which will be sought during the adaptive
+ - Keyword centers⟨Collective
+ variable centers⟩
Context: alb Acceptable values: space-separated list of colvar values Description: The desired center (equilibrium values) which will be sought during the adaptive
linear biasing. The number of values must be the number of requested colvars. Each value
is a decimal number if the corresponding colvar returns a scalar, a “(x, y, z)" triplet if it
returns a unit vector or a vector, and a “q0, q1, q2, q3)" quadruplet if it returns a rotational
quaternion. If a colvar has periodicities or symmetries, its closest image to the restraint center
is considered when calculating the linear potential.
-- Keyword updateFrequency⟨The
- duration of updates⟩
Context: alb Acceptable values: An integer Description: This is, N,
+ - Keyword updateFrequency⟨The
+ duration of updates⟩
Context: alb Acceptable values: An integer Description: This is, N,
the number of simulation steps to use for each update to the bias. This determines how long
- the system requires to equilibrate after a change in force constant (N∕2),
- how long statistics are collected for an iteration (N∕2),
- and how quickly energy is added to the system (at most, A∕2N,
- where A
+ the system requires to equilibrate after a change in force constant (N∕2),
+ how long statistics are collected for an iteration (N∕2),
+ and how quickly energy is added to the system (at most, A∕2N,
+ where A
is the forceRange). Until the force constant has converged, the method as described is
an optimization procedure and not an integration of a particular statistical ensemble. It is
important that each step should be uncorrelated from the last so that iterations are independent.
- Therefore, N
+ Therefore, N
should be at least twice the autocorrelation time of the collective variable. The system should
- also be able to dissipate energy as fast as N∕2,
- which can be done by adjusting thermostat parameters. Practically, N
+ also be able to dissipate energy as fast as N∕2,
+ which can be done by adjusting thermostat parameters. Practically, N
has been tested successfully at significantly shorter than the autocorrelation time of the
collective variables being biased and still converge correctly.
-- Keyword forceRange⟨The
- expected range of the force constant in units of energy⟩
Context: alb Acceptable values: A space-separated list of decimal numbers Default value: 3 kbT
+ - Keyword forceRange⟨The
+ expected range of the force constant in units of energy⟩
Context: alb Acceptable values: A space-separated list of decimal numbers Default value: 3 kbT
Description: This is largest magnitude of the force constant which one expects. If this
parameter is too low, the simulation will not converge. If it is too high the simulation will waste
- time exploring values that are too large. A value of 3 kbT
+ time exploring values that are too large. A value of 3 kbT
has worked well in the systems presented as a first choice. This parameter is dynamically
adjusted over the course of a simulation. The benefit is that a bad guess for the forceRange
can be corrected. However, this can lead to large amounts of energy being added over time
to the system. To prevent this dynamic update, add hardForceRange yes as a parameter
-- Keyword rateMax⟨The
- maximum rate of change of force constant⟩
Context: alb Acceptable values: A list of space-separated real numbers Description: This optional parameter controls how much energy is added to the system
+ - Keyword rateMax⟨The
+ maximum rate of change of force constant⟩
Context: alb Acceptable values: A list of space-separated real numbers Description: This optional parameter controls how much energy is added to the system
from this bias. Tuning this separately from the updateFrequency and forceRange can allow
for large bias changes but with a low rateMax prevents large energy changes that can lead
to instability in the simulation.
-
+
6.10 Multidimensional histograms
-
- The histogram feature is used to record the distribution of a set of collective variables in the form of a
+
+ The histogram feature is used to record the distribution of a set of collective variables in the form of a
N-dimensional histogram. Defining such a histogram is generally useful for analysis purposes, but it has
no effect on the simulation.
- Example 1: the two-dimensional histogram of a distance and an angle can be generated
+ Example 1: the two-dimensional histogram of a distance and an angle can be generated
using the configuration below. The histogram code requires that each variable is a scalar
number that is confined within a pre-defined interval. The interval's boundaries may be
specified by hand (e.g. through lowerBoundary and upperBoundary in the variable definition),
or auto-detected based on the type of function. In this example, the lower boundary for the
distance variable “r" is automatically set to zero, and interval for the three-body angle “theta" is
-0∘ and
-180∘: however, that
+0∘ and
+180∘: however, that
an upper boundary for the distance “r" still needs to be specified manually. The grid spacings for the two variables
-are 0.2 nmand
-3.0∘,
+are 0.2 nmand
+3.0∘,
respectively.
-
- colvar { name r width 0.2 upperBoundary 20.0 distance { ... } }
colvar { name theta width 3.0 dihedral { ... } }
histogram { name hist2d colvars r theta }
+
+ colvar { name r width 0.2 upperBoundary 20.0 distance { ... } }
colvar { name theta width 3.0 dihedral { ... } }
histogram { name hist2d colvars r theta }
- Example 2: This example is similar to the previous one, but with the important difference
+ Example 2: This example is similar to the previous one, but with the important difference
that the parameters for the histogram's grid are defined explicitly for this histogram instance.
Therefore, this histogram's grid may differ from the one defined from parameters embedded in
the colvar { ... } block (for example, narrower intervals and finer grid spacings may be
selected).
-
- colvar { name r upperBoundary 20.0 distance { ... } }
colvar { name theta dihedral { ... } }
histogram { name hist2d colvars r theta histogramGrid { widths 0.1 1.0 lowerBoundaries 2.0 30.0 upperBoundaries 10.0 90.0 } }
+
+ colvar { name r upperBoundary 20.0 distance { ... } }
colvar { name theta dihedral { ... } }
histogram { name hist2d colvars r theta histogramGrid { widths 0.1 1.0 lowerBoundaries 2.0 30.0 upperBoundaries 10.0 90.0 } }
- The standard keywords below are used to control the histogram's computation and to select the
+ The standard keywords below are used to control the histogram's computation and to select the
variables that are sampled. See also 6.10.1 for keywords used to define the grid, 6.10.2 for output
parameters and 6.10.3 for more advanced keywords.
-- Keyword name: see definition of name (biasing and analysis methods)
+
- Keyword name: see definition of name (biasing and analysis methods)
-- Keyword colvars: see definition of colvars (biasing and analysis methods)
+
- Keyword colvars: see definition of colvars (biasing and analysis methods)
-- Keyword stepZeroData: see definition of stepZeroData (biasing and analysis methods)
+
- Keyword stepZeroData: see definition of stepZeroData (biasing and analysis methods)
-
+
6.10.1 Defining grids for multidimensional histograms
-
- Grid parameters for the histogram may be provided at the level of the individual variables, or via a
+
+ Grid parameters for the histogram may be provided at the level of the individual variables, or via a
dedicated configuration block histogramGrid { …} inside the configuration of this histogram. The options
supported inside this block are:
-- Keyword lowerBoundaries⟨Lower
- boundaries of the grid⟩
Context: histogramGrid Acceptable values: list of space-separated decimals Description: This option defines the lower boundaries of the grid, overriding any values
+ - Keyword lowerBoundaries⟨Lower
+ boundaries of the grid⟩
Context: histogramGrid Acceptable values: list of space-separated decimals Description: This option defines the lower boundaries of the grid, overriding any values
defined by the lowerBoundary keyword of each colvar. Note that when gatherVectorColvars
is on, each vector variable is automatically treated as a scalar, and a single value should be
provided for it.
-- upperBoundaries: analogous to lowerBoundaries
+
- upperBoundaries: analogous to lowerBoundaries
-- widths: analogous to lowerBoundaries
+ widths: analogous to lowerBoundaries
-
+
6.10.2 Output options for multi-dimensional histograms
-
- The accumulated histogram is written in the Colvars state file, allowing for its accumulation
+
+ The accumulated histogram is written in the Colvars state file, allowing for its accumulation
across continued runs. Additionally, the following files are written depending on the histogram's
dimensionality:
-- Keyword outputFreq: see definition of outputFreq (biasing and analysis methods)
+
- Keyword outputFreq: see definition of outputFreq (biasing and analysis methods)
-- Keyword outputFile⟨Write
- the histogram to a file⟩
Context: histogram Acceptable values: UNIX filename Default value: output. <name >.dat
+ - Keyword outputFile⟨Write
+ the histogram to a file⟩
Context: histogram Acceptable values: UNIX filename Default value: output. <name >.dat
Description: Name of the file containing histogram data (multicolumn format, see 3.7.4),
which is written every outputFreq steps. If outputFile is set to none, the file is not written.
-- Keyword outputFileDX⟨Write
- the histogram to a file⟩
Context: histogram Acceptable values: UNIX filename Default value: output. <name >.dx
+ - Keyword outputFileDX⟨Write
+ the histogram to a file⟩
Context: histogram Acceptable values: UNIX filename Default value: output. <name >.dx
Description: Name of the file containing histogram data (OpenDX format), which is written
every outputFreq steps. For the special case of 3 variables, VMD may be used to visualize
this file. This file is written by default if the dimension is 3 or more (you cannot visualize
it easily for dimensions 4 and above, but the DX format is still more compact than the
multicolumn format). If outputFileDX is set to none, the file is not written.
-
+
6.10.3 Histogramming vector variables
-
+
-- Keyword gatherVectorColvars⟨Treat
+
- Keyword gatherVectorColvars⟨Treat
vector variables as multiple observations of a scalar
- variable?⟩
Context: histogram Acceptable values: UNIX filename Default value: off Description: When this is set to on, the components of a multi-dimensional colvar
+ variable?⟩ Context: histogram Acceptable values: UNIX filename Default value: off Description: When this is set to on, the components of a multi-dimensional colvar
(e.g. one based on cartesian, distancePairs) are treated as multiple observations of a
scalar variable. This results in the histogram being accumulated multiple times for each
simulation step). When multiple vector variables are included in histogram, these must have
the same length because their components are accumulated together. For example, if
- ξ,
- λ and
- τ
+ ξ,
+ λ and
+ τ
are three variables of dimensions 5, 5 and 1, respectively, for each iteration 5 triplets
- (ξi,λi,τ)
- (i = 1,… ⁡5)
+ (ξi,λi,τ)
+ (i = 1,… ⁡5)
are accumulated into a 3-dimensional histogram.
-- Keyword weights⟨Relative
+
- Keyword weights⟨Relative
contributions of each vector component to the
- histogram⟩
Context: histogram Acceptable values: list of space-separated decimals Default value: all weights equal to 1 Description: When gatherVectorColvars is on, the components of each
+ histogram⟩ Context: histogram Acceptable values: list of space-separated decimals Default value: all weights equal to 1 Description: When gatherVectorColvars is on, the components of each
multi-dimensional colvar are accumulated with a different weight. For example, if
- x and
- y
+ x and
+ y
are two distinct cartesian variables defined on the same group of atoms, the corresponding 2D
histogram can be weighted on a per-atom basis in the definition of histogram.
- As with any other biasing and analysis method, when a histogram is applied to an extended-system
+ As with any other biasing and analysis method, when a histogram is applied to an extended-system
colvar (4.18), it accesses the value of the extended coordinate rather than that of the actual
colvar. This can be overridden by enabling the bypassExtendedLagrangian option. A joint
histogram of the actual colvar and the extended coordinate may be collected by specifying the
@@ -4709,109 +4776,109 @@ 6.10.3
-Keyword bypassExtendedLagrangian: see definition of bypassExtendedLagrangian
+Keyword bypassExtendedLagrangian: see definition of bypassExtendedLagrangian
(biasing and analysis methods)
-
+
6.11 Probability distribution-restraints
-
- The histogramRestraint bias implements a continuous potential of many variables (or of a single
+
+ The histogramRestraint bias implements a continuous potential of many variables (or of a single
high-dimensional variable) aimed at reproducing a one-dimensional statistical distribution that is provided by the
-user. The M
-variables (ξ1,… ⁡,ξM)
+user. The M
+variables (ξ1,… ⁡,ξM)
are interpreted as multiple observations of a random variable
-ξ
+ξ
with unknown probability distribution. The potential is minimized when the histogram
-h(ξ), estimated as a sum of Gaussian
-functions centered at (ξ1,… ⁡,ξM), is equal
-to the reference histogram h0(ξ):
+h(ξ), estimated as a sum of Gaussian
+functions centered at (ξ1,… ⁡,ξM), is equal
+to the reference histogram h0(ξ):
-
+
V (ξ1,… ⁡,ξM) = 1
2k∫
(h(ξ)−h0(ξ))2dξ
| (35) |
-
+
h (ξ ) = 1
M2πσ2∑i=1Mexp ⁡ (−(ξ −ξi)2
2σ2 )
| (36) |
- When used in combination with a distancePairs multi-dimensional variable, this bias
+ When used in combination with a distancePairs multi-dimensional variable, this bias
implements the refinement algorithm against ESR/DEER experiments published by Shen et al
[33].
- This bias behaves similarly to the histogram bias with the gatherVectorColvars option, with the
+ This bias behaves similarly to the histogram bias with the gatherVectorColvars option, with the
important difference that all variables are gathered, resulting in a one-dimensional histogram. Future
versions will include support for multi-dimensional histograms.
- The list of options is as follows:
+ The list of options is as follows:
-- Keyword name: see definition of name (biasing and analysis methods)
+
- Keyword name: see definition of name (biasing and analysis methods)
-- Keyword colvars: see definition of colvars (biasing and analysis methods)
+
- Keyword colvars: see definition of colvars (biasing and analysis methods)
-- Keyword outputEnergy: see definition of outputEnergy (biasing and analysis methods)
+
- Keyword outputEnergy: see definition of outputEnergy (biasing and analysis methods)
-- Keyword lowerBoundary⟨Lower
- boundary of the colvar grid⟩
Context: histogramRestraint Acceptable values: decimal Description: Defines the lowest end of the interval where the reference distribution h0(ξ)
+ - Keyword lowerBoundary⟨Lower
+ boundary of the colvar grid⟩
Context: histogramRestraint Acceptable values: decimal Description: Defines the lowest end of the interval where the reference distribution h0(ξ)
is defined. Exactly one value must be provided, because only one-dimensional histograms
are supported by the current version.
-- upperBoundary: analogous to lowerBoundary
+
- upperBoundary: analogous to lowerBoundary
-- Keyword width⟨Width
- of the colvar grid⟩
Context: histogramRestraint Acceptable values: positive decimal Description: Defines the spacing of the grid where the reference distribution h0(ξ)
+ - Keyword width⟨Width
+ of the colvar grid⟩
Context: histogramRestraint Acceptable values: positive decimal Description: Defines the spacing of the grid where the reference distribution h0(ξ)
is defined.
-- Keyword gaussianSigma⟨Standard
- deviation of the approximating Gaussian⟩
Context: histogramRestraint Acceptable values: positive decimal Default value: 2 ×
-width Description: Defines the parameter σ
+ - Keyword gaussianSigma⟨Standard
+ deviation of the approximating Gaussian⟩
Context: histogramRestraint Acceptable values: positive decimal Default value: 2 ×
+width Description: Defines the parameter σ
in eq. 36.
-- Keyword forceConstant⟨Force
- constant (kJ/mol)⟩
Context: histogramRestraint Acceptable values: positive decimal Default value: 1.0 Description: Defines the parameter k
+ - Keyword forceConstant⟨Force
+ constant (kJ/mol)⟩
Context: histogramRestraint Acceptable values: positive decimal Default value: 1.0 Description: Defines the parameter k
in eq. 35.
-- Keyword refHistogram⟨Reference
- histogram h0(ξ)⟩
Context: histogramRestraint Acceptable values: space-separated list of M
- positive decimals Description: Provides the values of h0(ξ)
+ - Keyword refHistogram⟨Reference
+ histogram h0(ξ)⟩
Context: histogramRestraint Acceptable values: space-separated list of M
+ positive decimals Description: Provides the values of h0(ξ)
consecutively. The mid-point convention is used, i.e. the first point that should be included is
- for ξ
- = lowerBoundary+width/2. If the integral of h0(ξ)
- is not normalized to 1, h0(ξ)
+ for ξ
+ = lowerBoundary+width/2. If the integral of h0(ξ)
+ is not normalized to 1, h0(ξ)
is rescaled automatically before use.
-- Keyword refHistogramFile⟨Reference
- histogram h0(ξ)⟩
Context: histogramRestraint Acceptable values: UNIX file name Description: Provides the values of h0(ξ)
+ - Keyword refHistogramFile⟨Reference
+ histogram h0(ξ)⟩
Context: histogramRestraint Acceptable values: UNIX file name Description: Provides the values of h0(ξ)
as contents of the corresponding file (mutually exclusive with refHistogram). The format is
- that of a text file, with each line containing the space-separated values of ξ
- and h0(ξ).
+ that of a text file, with each line containing the space-separated values of ξ
+ and h0(ξ).
The same numerical conventions as refHistogram are used.
-- Keyword writeHistogram⟨Periodically
- write the instantaneous histogram h(ξ)⟩
Context: metadynamics Acceptable values: boolean Default value: off Description: If on, the histogram h(ξ)
- is written every colvarsRestartFrequency steps to a file with the name output. <name >.hist.dat
- This is useful to diagnose the convergence of h(ξ)
- against h0(ξ).
+ - Keyword writeHistogram⟨Periodically
+ write the instantaneous histogram h(ξ)⟩
Context: metadynamics Acceptable values: boolean Default value: off Description: If on, the histogram h(ξ)
+ is written every colvarsRestartFrequency steps to a file with the name output. <name >.hist.dat
+ This is useful to diagnose the convergence of h(ξ)
+ against h0(ξ).
-
+
-
+
7 Syntax changes from older versions
-
- The following is a list of syntax changes in Colvars since its first release. Many of the older keywords
+
+ The following is a list of syntax changes in Colvars since its first release. Many of the older keywords
are still recognized by the current code, thanks to specific compatibility code. This is not a list of new
features: its primary purpose is to make you aware of those improvements that affect the use of old
configuration files with new versions of the code.
- Note: if you are using any of the NAMD and VMD tutorials: https://www.ks.uiuc.edu/Training/Tutorials/ please be aware that several of these tutorials are not actively maintained: for those cases, this list will
+ Note: if you are using any of the NAMD and VMD tutorials: https://www.ks.uiuc.edu/Training/Tutorials/ please be aware that several of these tutorials are not actively maintained: for those cases, this list will
help you reconcile any inconsistencies.
@@ -4827,13 +4894,13 @@ 7 Colvars version 2018-11-15 or later . The global analysis keyword has been discontinued: specific analysis tasks are controlled
directly by the keywords corrFunc and runAve, which continue to remain off by default.
-- Colvars version 2020-02-25 or later.
The parameter hillWidth, expressing the Gaussian width 2σ
+ - Colvars version 2020-02-25 or later.
The parameter hillWidth, expressing the Gaussian width 2σ
in relative units (number of grid points), does not have a default value any more. A new
- alternative parameter gaussianSigmas allows setting the σ
+ alternative parameter gaussianSigmas allows setting the σ
- parameters explicitly for each variable if needed. Furthermore, to facilitate the use of other analysis tools such as for example sum_hills: https://www.plumed.org/doc-v2.6/user-doc/html/sum_hills.html the format of the file written by writeHillsTrajectory has also been changed to use σ
- instead of 2σ.
+ parameters explicitly for each variable if needed. Furthermore, to facilitate the use of other analysis tools such as for example sum_hills: https://www.plumed.org/doc-v2.6/user-doc/html/sum_hills.html the format of the file written by writeHillsTrajectory has also been changed to use σ
+ instead of 2σ.
This change does not affect how the biasing potential is written in the state file, or the
simulated trajectory.
@@ -4849,19 +4916,19 @@ 7 Up-to-date documentation can always be accessed at: https://colvars.github.io/\cvreleaselabel/colvars-refman-gromacs.html
-
+ An up-to-date version of this manual for the latest version of Colvars may be accessed here.
+
-
+
- The Colvars module is typically built using the recipes of each supported software package: for this
+
+ The Colvars module is typically built using the recipes of each supported software package: for this
reason, no installation instructions are needed, and the vast majority of the features described in this
manual are supported in the most common builds of each package.
- This section lists the few cases where the choice of compilation settings affects the availability
+ This section lists the few cases where the choice of compilation settings affects the availability
features in the Colvars module.
@@ -4872,13 +4939,14 @@ 8 The Lepton library (https://simtk.org/projects/lepton) used to implement the
customFunction feature is currently included only in NAMD (always on), in LAMMPS (on by
- default) and in the Colvars-patched GROMACS releases. For VMD, a patch that allows to
- link Lepton is available.
-
-- Colvars requires the C++11 language standard, which is either supported (VMD) or required
- (GROMACS, LAMMPS, NAMD) by all the engines. However, many of the VMD official builds
- are produced on very old architectures. For details please see:
https://colvars.github.io/README-c++11.html
-
+ default) and in the Colvars-patched GROMACS releases (but currently, not in the standard
+ releases). For VMD, a patch that allows to link Lepton is available.
+
+ - Colvars requires the C++11 language standard or higher, which is either supported (VMD)
+ or required (GROMACS, LAMMPS, NAMD) by all the engines. However, many of the VMD
+ official builds are produced on very old architectures, where C++11 features are disabled at
+ build time, thus limiting functionality. For details please see:
https://colvars.github.io/README-c++11.html
+
References
@@ -5036,6 +5104,6 @@ References
non-interacting molecular fragments. PLoS Comput. Biol., 11(10):e1004368, 2015.
-
+
|