Version 2.4

Version 2.4 (Dec 15, 2017)

Version 2.4 contains several improvements with respect to 2.3. Users currently working with 2.3 should have a look at the section "Changes leading to incompatible behavior" below and might need tiny adjustments in their input files. Notice that version 2.4 includes already all the fixes in branch 2.3 up to 2.3.3 indicated in Version 2.3 .

Changes from version 2.3 which are relevant for users:

Changes from version 2.3 which are relevant for developers:

  • A few fixes has been made to improve exception safety. Although we still cannot declare PLUMED totally exception safe (there are still many non-safe pointers around), this made it possible to add a regtest that actually tests erroneous cmd strings and erroneous inputs.
  • Due to the required c++11 support, travis-ci test on Ubuntu Precise has been removed.
  • gettimeofdate and gettime have been replaced with portable chrono classes introduced in c++11.
  • C++ exceptions are enabled by default.
  • A large number of loops have been changed to use the auto keyword in order to improve code readability.
  • Stack trace is not written upon error anymore, unless environment variable PLUMED_STACK_TRACE is set at runtime.
  • Fixed a potential bug using single precision system blas on a mac (notice that currently plumed only uses double precision, so it is harmless).
  • Added --enable-rpath option for autoconf (off by default).
  • Files related to changelog are now stored as .md files. This makes it possible to navigate them from github.
  • has been simplified and improved in order to more easily probe C++ libraries.
  • added plumed_custom_skip function to regtests in order to skip specific tests based on specific conditions (e.g. OS).
  • environment variable LDSO has been renamed to LDSHARED, which is standard in the python community.
  • a libplumedWrapper.a library is installed as well, that is used in --runtime patching.
  • pkgconfig files are installed.
  • plumed config makefile_conf can be used to retrieve Makefile.conf file a posteriori.
  • Store MPIEXEC variable at configure time and use it later for running regtests. Notice that in case MPIEXEC is not specified regtests will be run using the command stored in env var PLUMED_MPIRUN or, if this is also not defined, using mpirun.
  • Added canonical makefile targets check and installcheck. Notice that check runs checks with non-installed plumed whereas installcheck uses the installed one, including its correct program name if it was personalized (e.g. with suffixes). Notice that this modifies the previously available check target.

Version 2.4.1 (Mar 2, 2018)

For users:

  • Fixed an important bug affecting RMSD calculations with compilers supporting OpenMP 4 (e.g.: intel compiler). Notice that this bug might potentially affect not only RMSD variable, but also PATHMSD variables using RMSD, FIT_TO_TEMPLATE, PCAVARS, and possibly other variables based on RMSD calculations and optimal alignments (see #343). Results might depend on the exact architecture and on how aggressive is the compiler. The bug is a consequence of some erroneous SIMD directives introduced in 2.4.0, so it does not affect PLUMED 2.3.x.
  • Resolved a problem with CS2BACKBONE and glycine atom names.
  • Module VES: Fixed a bug with basis functions that have a constant function different from 1 (e.g. scaled version of the Legendre basis functions, BF_LEGENDRE) that was causing a time-dependent shift in the bias potential.
  • Module VES: In optimizers (OPT_AVERAGED_SGD and OPT_DUMMY) the output of quantities related to the instantaneous gradients are now off by default as these quantities are generally not useful for normal users, their output can instead by re-enabled by using the MONITOR_INSTANTANEOUS_GRADIENT keyword. Also added an keyword MONITOR_AVERAGE_GRADIENT that allows to monitor the averged gradient and output quantities related to it.
  • RMSD variable and other collective variables using reference PDBs now crash when zero weights are passed (see #247).
  • Using COM with driver without passing masses now triggers an error instead of reporting NaNs (see #251).

For developers:

  • plumed patch -p command can be used twice without triggering an error. This will allow e.g. building again on MacPorts in cases where the build was interrupted. Notice that this only works for patches without special after/before patch/revert functions.

Version 2.4.2 (Jul 2, 2018)

For users:

  • All fixes done in version 2.3.6. Notice that #363 in version 2.4 also applies to pathtools.
  • Additional residue names (without the prefix D) are now supported by MOLINFO for DNA. See #367.
  • Solved an important bug appearing in NAMD interface. Notice that the bug was a regression introduced in 2.4.0. As consequence, versions <= 2.3 and versions >=2.4.2 are expected to work correctly. See #254.
  • GROMACS patch for gromacs-2018.1.
  • Using VIM syntax file now highlights __FILL__ strings.
  • METAD and PBMETAD give a warning when one restarts a simulation and the old hills file is not found. See #366.

For developers:

  • LDSHARED is now correctly taken into account when launching ./configure.
  • Fixed installation with --disable-shared.
  • Cppcheck upgraded to 1.84.

Version 2.4.3 (Oct 5, 2018)

For users:

  • All fixes done in version 2.3.7.
  • Module VES: Fixed a bug in TD_GRID for 2D grids where the grid spacing is not the same for both dimensions.
  • GROMACS patch for gromacs-2018.3.

Version 2.4.4 (Dec 19, 2018)

For users:

  • Fixed some performances regression issue with OpenMP
  • Updated NAMD patches to version 2.12 and 2.13. Old patches have been removed.
  • GROMACS patch for gromacs-2018.4.
  • Fixed a threadsafety issue using forces on HISTOGRAM
  • Fixed error message suggesting wrong actions (see #421).

For developers:

  • All fixed done in version 2.3.8
  • CPPCHECK updated to 1.85

Version 2.4.5 (Apr 1, 2019)

This branch is not maintained. Users are invited to upgrade to a newer version

For users:

  • Fixed an inconsistency in parsing of braces. It is now possible to pass individual options including spaces (e.g. with FILE={/path with space/file}). Notice that this invalidates syntax such as ATOMS={1}{2}{3}{4}. See more at #434.
  • Fixed simplemd so as to call "runFinalJobs" at the end of the simulation.
  • GROMACS patch for gromacs-2016.6.
  • GROMACS patch for gromacs-2018.6.
  • Added aliases for some actions/options containing dashes (-) in their name. This will improve backward compatibility when these actions/options will be removed (see #449).

Version 2.4.6 ()

For users:

  • Fixed a bug in COORDINATIONNUMBER where derivatives were wrong when using R_POWER > 2, thanks to for spotting and fixing
  • Fixed a bug in library search, possibly affecting linked blas/lapack on OSX (see #476).