The functionality in PLUMED 2 is divided into a small number of modules. Some users may only wish to use a subset of the functionality available within the code while others may wish to use some of the more complicated features that are available. For this reason the plumed source code is divided into modules, which users can activate or deactivate to their hearts content.
You can activate a module at configure time using the keyword --enable-modules
. For example:
./configure --enable-modules=modulename
will enable module called modulename. A module that is on by default can be disabled using the following syntax
./configure --enable-modules=-modulename
To enable or disable multiple modules one should provide them as a : separated list. Notice that +modulename
and modulename
both activate the module, whereas -modulename
deactivates it. E.g.
./configure --enable-modules=+crystallization:-colvar
will disable the colvar module and enable the crystallization module. Also notice that :
can be omitted when using +
or -
. Thus, the same can be obtained with
./configure --enable-modules=+crystallization-colvar
If you repeat the --enable-modules
keyword only the last instance will be used. Thus ./configure --enable-modules=crystallization --enable-modules=-colvar
will not do what you expect!
There are also some shortcuts available:
./configure --enable-modules=all
to enable all optional modules. This includes the maximum number of features in PLUMED, including modules that might not be properly functional../configure --enable-modules=none
or ./configure --disable-modules
to disable all optional modules. This produces a minimal PLUMED which can be used as a library but which has no command line tools and no collective variables or biasing methods../configure --enable-modules=reset
or ./configure --enable-modules
to enable the default modules.The two kinds of syntax can be combined and, for example, ./configure --enable-modules=none:colvar
will result in a PLUMED with all the modules disabled with the exception of the colvar module.
Some modules are active by default in the version of PLUMED 2 that you download from the website while others are inactive. The following lists all of the modules that are available in plumed and tells you whether or not they are active by default.
Module name | Default behavior |
adjmat | off |
annfunc | off |
bias | on |
cltools | on |
clusters | off |
colvar | on |
contour | off |
crystdistrib | off |
dimred | off |
drr | off |
eds | off |
envsim | off |
fisst | off |
fourier | off |
function | on |
funnel | off |
generic | on |
gridtools | on |
isdb | on |
landmarks | off |
logmfd | off |
mapping | off |
matrixtools | on |
maze | off |
membranefusion | off |
metatensor | off |
molfile | on |
multicolvar | on |
opes | off |
pamm | off |
piv | off |
pytorch | off |
refdist | on |
s2cm | off |
sasa | off |
secondarystructure | on |
setup | on |
sizeshape | off |
sprint | off |
symfunc | off |
vatom | on |
ves | off |
volumes | off |
wham | off |
xdrfile | on |
Until PLUMED 2.2, it was also possible to switch on or off modules by adding files in the plumed2/src directory. Since PLUMED 2.3 this is discouraged, since any choice made in this manner will be overwritten next time ./configure
is used.