You might have noticed that from time to time constants are specified using strings rather than numbers. An example is the following
#SETTINGS MOLFILE=regtest/basic/rt65/AA.pdb MOLINFOSTRUCTURE=AA.pdbcompulsory keyword a file in pdb format containing a reference structure.MOLTYPE=rna e1: TORSIONcompulsory keyword ( default=protein ) what kind of molecule is contained in the pdb file - usually not needed since protein/RNA/DNA are compatibleATOMS=@epsilon-1 t: METADthe four atoms involved in the torsional angleARG=e1the input for this action is the scalar output from one or more other actions.SIGMA=0.15compulsory keyword the widths of the Gaussian hillsPACE=10compulsory keyword the frequency for hill additionHEIGHT=2the heights of the Gaussian hills.GRID_MIN=-pithe lower bounds for the gridGRID_MAX=pithe upper bounds for the gridGRID_BIN=200the number of bins for the grid
Notice that the boundaries for GRID_MIN
and GRID_MAX
are -pi
and pi
. Until PLUMED 2.3, we used a very dummy parses that could recognize only pi
as a special string, plus strings such as 0.5pi
and -pi
. However, as of version 2.4, we use the Lepton library in order to parse every constant that we read. This means that you can also employ more complicated expressions such as 1+2
or exp(10)
:
#SETTINGS MOLFILE=regtest/basic/rt65/AA.pdb MOLINFOSTRUCTURE=AA.pdbcompulsory keyword a file in pdb format containing a reference structure.MOLTYPE=rna e1: TORSIONcompulsory keyword ( default=protein ) what kind of molecule is contained in the pdb file - usually not needed since protein/RNA/DNA are compatibleATOMS=@epsilon-1 RESTRAINTthe four atoms involved in the torsional angleARG=e1the input for this action is the scalar output from one or more other actions.AT=1+0.5compulsory keyword the position of the restraint
Notice that this applies to any quantity read by plumed as a real number, but does not apply yet to integer numbers (e.g.: the PACE argument of METAD).