/plumed2

Development version of plumed 2

Primary LanguageC++GNU Lesser General Public License v3.0LGPL-3.0

Homepage Homepage codecov License: LGPL v3 Github Releases MacPorts package Anaconda-Server Badge AUR package DPorts package FreeBSD port Spack package Twitter Follow

Branches and releases

Several branches and tags are stored on the git repository.

Branches named v2.X correspond to release branches.

Master branch may contain non tested features and is not expected to be used by non-developers. It typically contains features that will be available on the next release.

Tags named v2.XbY correspond to beta releases, use it with care. Tags named v2.X.Y correspond to official releases, use the latest available.

In addition, the repository contains a number of other branches related to specific features. Please contact the developers that are committing on those branches before basing your work there, since they might contain temporary work and might be rebased later. For instance, branch testdoc is setup so as to push a test copy of the manual and is often force pushed.

To report problems found on beta or official releases, use the normal plumed-users@googlegroups.com mailing list. Please state exactly which version you are using. To report problems found on master branch, use the plumed2-git@googlegroups.com mailing list. This is also the correct place for discussions about new features etc. When reporting please provide the git hash (you can obtain it with git rev-parse HEAD).

Status

Below you find the status on GitHub Actions for the release branches.

Branch Status First stable release (year) Still supported
master CI 2025 (expected) /
v2.10b CI 2024 (expected) yes
v2.9 CI 2023 yes
v2.8 CI 2022 no
v2.7 CI 2020 no
v2.6 CI 2019 no
v2.5 CI 2018 no
v2.4 CI 2017 no
v2.3 Not available 2016 no
v2.2 Not available 2015 no
v2.1 Not available 2014 no
v2.0 Not available 2013 no

Content

Here's a description of the content of each file and directory in the root PLUMED directory.

CHANGES          : change log
COPYING.LESSER   : license
Makefile         : makefile
Makefile.conf.in : template configuration makefile
PEOPLE           : list of authors
README.md        : this file
VERSION.txt      : version file
astyle           : a local version of astyle, used to format code
configure        : configuration script
configure.ac     : configuration script (autoconf)
developer-doc    : developer documentation
docker           : directory where Docker is generated
macports         : directory where Portfiles are generated
patches          : patch scripts
python           : python stuff
regtest          : regression tests, including reference results
release.sh       : developer utility to publish releases
scripts          : shell tools
sourceme.sh.in   : template configuration script
src              : source code
test             : examples
user-doc         : user documentation
vim              : directory where vim syntax is generated

Required software

Required software:

  • GNU make.
  • C/c++ compiler (c++17 support is required as of version 2.10).
  • A modern version of the patch command line tool.

Suggested software (libraries are checked by ./configure and enabled if available):

  • MPI library to run parallel simulations. It should be the same library used by your MD code.
  • Optimized blas and lapack libraries. They are automatically replaced by an internal version if not available.
  • VMD molfile plugins to read arbitrary file formats. They are automatically replaced by an internal version supporting a few formats if not available.
  • Zlib library to use compressed data files.
  • Doxygen to build user manual. Doxygen might need the following packages:
    • Latex to build the pdf user manual.
    • Graphviz to show class hierarchy in developer manual.

Quick compilation instructions

Extensive installation instructions are in the user documentation. Quick instructions:

./configure --prefix=$HOME/opt
make
make doc # optional
make test # optional

User documentation can be found at user-doc/html/index.html. Developer documentation can be found at developer-doc/html/index.html. Pre-compiled documentation is available online, so this is only required if you are working with a modified version of the code!

In order to run PLUMED without installing it you should type source sourceme.sh. However, we recommend installing PLUMED. To install it in $HOME/opt (directory should be set during ./configure):

umask 022
make install

Now you will be able to run plumed using e.g.

plumed help

If you compiled your own documentation, paths to the installed documentation can be found with command plumed info --user-doc.

A sample modulefile with environment variable will be placed in $HOME/opt/lib/plumed/src/lib/modulefile. This can be useful if you want to install multiple PLUMED versions side by side and select them with env modules.