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
).
Below you find the status on GitHub Actions for the release branches.
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 : 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:
- GNU make.
- C/c++ compiler (c++11 support is required as of version 2.4).
- A modern version of the
patch
command line tool. - Support for POSIX library
dirent.h
.
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.
- Xdrfile library to have read/write access to gromacs trajectory 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.
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.