All Pages
Version 2.2

Version 2.2 (Oct 13, 2015)

Include all fixes in branch 2.1 indicated in Version 2.1 .

Changes from version 2.1 which are relevant for users:

  • Changes leading to incompatible behavior:
    • Labels of quantities calculates by SPRINT have changed from label.coord_num to label.coord-num
    • METAD with WALKERS_MPI now writes a single hills file, without suffixes
    • removed the ./configure.sh script of v2.0.x, now plumed can only be configured using autotools (./configure)
    • COM, CENTER, and GYRATION now automatically make molecules whole. In case you do not want them to do it, use NOPBC flag, which recovers plumed 2.1 behavior
    • Some MD code could now automatically trigger restart (e.g. gromacs when starting from cpt files). This can be overwritten using RESTART NO.
    • Replica suffixes are now added by PLUMED before extension (e.g. use plumed.0.dat instead of plumed.dat.0)
    • When using switchingfunction the STRETCH keyword is now implicit. NOSTRETCH is available to enforce the old behavior.
  • Module activation can now be controlled during configure with --enable-modules option.
  • Almost complete refactoring of installation procedure. Now DESTDIR and other standard autoconf directories (e.g. bindir) are completely supported. Additionally, everything should work properly also when directory names include spaces (#157). Finally, compiler is not invoked on install unless path are explicitly changed (#107).
  • Related to installation refactoring, upon install a previusly installed plumed is not removed. This is to avoid data loss if prefix variable is not properly set
  • Several changes have been made in the Makefile.conf that makes it not compatible with those packaged with plumed 2.0/2.1. Please use ./configure to generate a new configuration file.
  • Added partial OpenMP parallelization, see OpenMP
  • Added multiple time step integration for bias potentials, see Multiple time stepping
  • Link cells are now used in all multicolvars that involve switchingfunction. The link cell cutoff is set equal to 2.* \(d_{\textrm{max}}\). Where \(d_{\textrm{max}}\) is the (user-specified) point at which the switching function goes to zero. Users should always set this parameter when using a switching function in order to achieve optimal performance.
  • DHENERGY option is no longer possible within DISTANCES. You can still calculate the DHENERGY colvar by using DHENERGY
  • Reweighting in the manner described in [47] is now possible using a combination of the METAD and HISTOGRAM actions. The relevent keywords in METAD are REWEIGHTING_NGRID and REWEIGHTING_NHILLS. The \(c(t)\) and the appropriate weight to apply to the configurations are given by the values labeled rct and rbias.
  • News in configure and install:
    • ./configure now allows external blas to be used with internal lapack. This is done automatically if only blas are available, and can be enforced with –disable-external-lapack.
    • ./configure supports –program-prefix, –program-suffix, and –program-transform-name.
    • make install supports DESTDIR and prefix.
    • Environment variables PLUMED_LIBSUFFIX and PLUMED_PREFIX are deprecated and will be removed in a later version.
  • New actions
  • New features for existing actions:
    • Keywords UPDATE_FROM and UPDATE_UNTIL to limit update step in a defined time window, available only for actions where it would be useful.
    • Keyword UNNORMALIZED for HISTOGRAM.
    • Possibility to use Tiwary-Parrinello reweighting for METAD
    • Keywords for GROUP (REMOVE, SORT, UNIQUE) to allow more flexible editing of groups.
    • DUMPATOMS now supports dumping xtc and trr files (requires xdrfile library).
    • driver can now read xtc and trr files also with xdrfile library.
    • driver accepts a –mc flag to read charges and masses from a file produced during molecular dynamics with DUMPMASSCHARGE
    • Possibility to enable or disable RESTART on a per action basis, available only for actions where it would be useful.
    • MOLINFO now supports many more special names for rna and dna (thanks to Alejandro Gil-Ley).
    • VMEAN and VSUM allow one to calculate the sum of a set of vectors calculated by VectorMultiColvar. Note these can also be used in tandem with AROUND or MFILTER_MORE to calculate the average vector within a particular part of the cell or the average vector amonst those that have a magnitude greater than some tolerance
    • New way of calculating the minimum value in multicolvars (ALT_MIN). This is less succetible to overflow for certain values of \(\beta\).
    • New keywords for calculating the LOWEST and HIGHEST colvar calculated by a multicolvar
    • Added components to DIPOLE (#160).
  • Other changes:
    • File reader now supports dos newlines as well as files with no endline at the end.

For developers:

  • In order to be able to use openmp parallelism within multcolvar, secondarystructure, manyrestraints and crystallisation we had to make some substantial changes to the code that underlies these routines that is contained within vesselbase. In particular we needed to get rid of the derivatives and buffer private variables in the class ActionWithVessel. As a consequence the derivatives calculated in the various performTask methods are stored in an object of type MultiValue. Within multicolvar this is contained within an object of type AtomValuePack, which stores information on the atom indices. If you have implemented a new multicolvar it should be relatively straightforward to translate them so they can exploit this new version of the code. Look at what has been done to the other multicolvars in there for guidance. Sorry for any inconvenience caused.
  • Changed the logic of several PLUMED ifdef macros so as to make them consistent. Now every feature based on external libraries is identified by a __PLUMED_HAS_* macro.

Unreleased changes (will be included in 2.2.1)

For users:

  • PLUMED now reports an error when using HISTOGRAM with UNNORMALIZED without USE_ALL_DATA. See #175

For developers:

  • ./configure is automatically relaunched when changing ./configure or Makefile.conf. This makes it more robust to switch between branches.

See branch v2.2 on git repository.