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 MOLINFO STRUCTURE=AA.pdb MOLTYPE=rna e1: TORSION ATOMS=@epsilon-1 t: METAD ARG=e1 SIGMA=0.15 PACE=10 HEIGHT=2 GRID_MIN=-pi GRID_MAX=pi GRID_BIN=200
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 MOLINFO STRUCTURE=AA.pdb MOLTYPE=rna e1: TORSION ATOMS=@epsilon-1 RESTRAINT ARG=e1 AT=1+0.5
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).