Version 2.3

## Version 2.3 (Dec 12, 2016)

Version 2.3 contains several improvements with respect to 2.2. Users currently working with 2.2 should have a look at the section "Changes leading to incompatible behavior" below and might need tiny adjustments in their input files.

Below you find a list of all the changes with respect to version 2.2. Notice that version 2.3 includes already all the fixes in branch 2.2 up to 2.2.3 indicated in Version 2.2 .

Changes from version 2.2 which are relevant for users:

• Changes leading to incompatible behavior:
• COMMITTOR can now be used to define multiple basins, but the syntax has been changed
• Syntax for SPRINT and DFSCLUSTERING has changed. We have separated the Actions that calculate the contact matrix from these actions. These actions thus now take a contact matrix as input. This means that we these actions can be used with contact matrices that measures whether or not a pair of atoms are hydrogen bonded. For more details on this see Exploiting contact matrices. For clustering the output can now be passed to the actions CLUSTER_PROPERTIES, CLUSTER_DIAMETER, CLUSTER_NATOMS, OUTPUT_CLUSTER and CLUSTER_DISTRIBUTION. These provide various different kinds of information about the connected components found by clustering
• In driver masses and charges are set by default to NaN. This makes it less likely to do mistakes trying to compute centers of mass or electrostatic-dependent variables when masses or charges were not set. To compute these variables from the driver you are now forced to use --pdb or --mc.
• In rational switching functions, by default MM is twice NN. This is valid both in switchingfunction with expanded syntax and when specifying MM on e.g. COORDINATION
• Patch script plumed patch now patches by default with --shared. This should make the procedure more robust (see #186).
• Faster GYRATION but new default behavior is not mass weighted
• When using HISTOGRAM you now output the accumulated grid using DUMPGRID or DUMPCUBE to get the free energy you use the method CONVERT_TO_FES. These changes allow one to use grids calculated within PLUMED in a work flow of tasks similarly to the way that you can currently use Values.
• The way that reweighting is performed is now different. There are three separate actions REWEIGHT_BIAS, REWEIGHT_TEMP and REWEIGHT_METAD. These actions calculate the quantities that were calculated using the keywords REWEIGHT_BIAS and REWEIGHT_TEMP that used to appear in the old HISTOGRAM method. Now those these methods can be used in any methods that calculate ensemble averages for example HISTOGRAM and AVERAGE
• Manual is now build with locally compiled plumed
• Removed CH3SHIFT
• CS2BACKBONE is now native in PLUMED removing the need to link ALMOST, small syntax differences
• CS2BACKBONE, NOE, RDC, removed the keyword ENSEMBLE: now ensemble averages can only be calculated using ENSEMBLE
• RDC, syntax changes
• It is not possible anymore to select modules using modulename.on and modulename.off files. Use ./configure --enable-modules instead.
• Removed IMD modules. In case someone is interested in restoring it, please contact the PLUMED developers.
• New actions:
• New features in MD patches (require repatch):
• Patch for amber 14 now passes charges with appropriate units (fixes #165). Notice that the patch is still backward compatible with older PLUMED version, but the charges will only be passed when using PLUMED 2.3 or later.
• Patch for GROMACS 5.1 incorporates Hamiltonian replica exchange, see Using Hamiltonian replica exchange with GROMACS
• Gromacs 2016, 5.1.x, 5.0.x, flush the plumed output files upon checkpointing
• Added patch for Gromacs 2016.1
• gromacs 5.1.x patch updated to 5.1.4
• Removed the patch for Gromacs 4.6.x
• LAMMPS patch updated to support multiple walkers and report plumed bias to LAMMPS (thanks to Pablo Piaggi).
• New features for existing actions:
• The SPECIES and SPECIESA keyword in MultiColvars can now take a multicolvar as input. This allows one to calculate quantities such as the Q4 parameters for those atoms that have a coordination number greater than x.
• Added MATHEVAL type in switchingfunction
• Added Q type native contacts in switchingfunction (thanks to Jan Domanski).
• COMMITTOR can now be used to define multiple basins
• The number of atoms admitted in BRIDGE has been significantly increased, see #185.
• driver now allows –trajectory-stride to be set to zero when reading with –ixtc/–itrr. In this case, step number is read from the trajectory file.
• When using METAD with file-based multple walkers and parallel jobs (i.e. mpirun) extra suffix is not added (thanks to Marco De La Pierre).
• ENSEMBLE added keywords for weighted averages, and calculation of higher momenta
• MOLINFO now allows single atoms to be picked by name.
• FIT_TO_TEMPLATE now supports optimal alignment.
• CONSTANT added the possibility of storing more values as components with or without derivatives
• PUCKERING now supports 6 membered rings.
• Extended checkpoint infrastracture, now METAD and PBMETAD will write GRIDS also on checkpoint step (only the GROMACS patch is currently using the checkpointing interface)
• Other features:
• Added a plumed-config command line tool. Can be used to inspect configuration also when cross compiling.
• Added a --mpi option to plumed, symmetric to --no-mpi. Currently, it has no effect (MPI is initialized by default when available).
• PLUMED now generate a VIM syntax file, see Using VIM syntax file
• The backward cycle is now parallelised in MPI/OpenMP in case many collective variables are used.
• GSL library is now searched by default during ./configure.
• Tutorials have been (partially) updated to reflect some of the changes in the syntax
• Parser now reports errors when passing numbers that cannot be parsed instead of silently replacing their default value. See #104.
• More and more documentation
• Bug fixes:
• Fixed a bug in PBMETAD that was preventing the writing of GRIDS if a hill was not added in that same step

For developers:

• IMPORTANT: BIAS can now be BIASED as well, this changes can lead to some incompatibility: now the "bias" component is always defined automatically by the constructure as a componentWithDerivatives, derivatives are automaticcaly obtained by forces. The main change is that you don't have to define the bias component anymore in your constructor and that you can use setBias(value) to set the value of the bias component in calculate.
• Added new strings for plumed cmd: setMDMassUnits, setMDChargeUnits, readInputLine, performCalcNoUpdate, update and doCheckPoint.
• Easier to add actions with multiple arguments
• New functions to access local quantities in domain decomposition
• Active modules to enable regtests are chosen using plumed config.
• A script is available to check if source code complies plumed standard. Notice that this script is run together with cppcheck on travis-ci.
• Cppcheck on travis-ci has been updated to 1.75. Several small issues triggering errors on 1.75 were fixed (e.g. structures passed by value are now passed by const ref) and false positives marked as such.

## Version 2.3.1

See branch v2.3 on git repository.

• Fix to FIT_TO_TEMPLATE as in 2.2.5. Notice that in 2.3.0 also the case with TYPE=OPTIMAL was affected. This is fixed now.
• small change in CS2BACKBONE to symmetrise the ring current contribution with respect to ring rotations (also faster)
• fixed plumed-config that was not working.
• log file points to the config.txt files to allow users to check which features were available in that compiled version.
• make clean in root dir now also cleans vim subdirectory.

For developers:

• Cppcheck on travis-ci has been updated to 1.77.
• Doxygen on travis-ci has been updated to 1.8.13