84 lines
3.3 KiB
Plaintext
84 lines
3.3 KiB
Plaintext
## Collective variables module (Colvars)
|
||
|
||
A software module for molecular simulation and analysis that provides a
|
||
high-performance implementation of sampling algorithms defined on a reduced
|
||
space of continuously differentiable functions (aka collective variables).
|
||
|
||
The module itself implements a variety of functions and algorithms, including
|
||
free-energy estimators based on thermodynamic forces, non-equilibrium work and
|
||
probability distributions.
|
||
|
||
|
||
## Documentation
|
||
|
||
For a brief description see:
|
||
https://colvars.github.io/
|
||
https://github.com/Colvars/colvars/
|
||
|
||
For the reference manual see:
|
||
http://colvars.github.io/colvars-refman-lammps
|
||
|
||
A PDF copy is also at:
|
||
doc/PDF/colvars-refman-lammps.pdf
|
||
|
||
Also available is a Doxygen-based developer documentation:
|
||
http://colvars.github.io/doxygen/html/
|
||
|
||
The reference article is:
|
||
G. Fiorin, M. L. Klein, and J. Hénin,
|
||
Molecular Physics 111, 3345 (2013).
|
||
https://doi.org/10.1080/00268976.2013.813594
|
||
|
||
|
||
## Requirements
|
||
|
||
The Colvars library can be built for the most part with all major versions of
|
||
the C++ language.
|
||
|
||
A few of the most recent features require C++11 support, which is also required
|
||
by LAMMPS, so no additional notes are needed.
|
||
|
||
## How to build (CMake)
|
||
|
||
This is the recommended build recipe: no additional settings are normally
|
||
needed besides "-D PKG_COLVARS=yes".
|
||
|
||
Linking to the Lepton library, which is also used by the LEPTON LAMMPS package,
|
||
is enabled automatically. Optionally, support for Lepton within Colvars may
|
||
be manually controlled with theCMake setting "-D COLVARS_LEPTON=yes|no".
|
||
|
||
## How to build (traditional make)
|
||
|
||
Before building LAMMPS, one must build the Colvars library in lib/colvars
|
||
and the Lepton library in lib/lepton. For building Lepton please see the
|
||
README.md file in the lib/lepton folder.
|
||
|
||
Building the Colvars library can be done manually in the respective
|
||
folders by using or adapting one of the provided Makefiles: for example,
|
||
Makefile.g++ for the GNU compiler.
|
||
|
||
In general, it is safer to use build setting consistent with the rest of
|
||
LAMMPS. This is best carried out from the LAMMPS src directory using a
|
||
command like these, which simply invoke the lib/colvars/Install.py script
|
||
with the specified args:
|
||
|
||
make lib-colvars # print help message
|
||
make lib-colvars args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
|
||
make lib-colvars args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
|
||
make lib-colvars args="-m g++-debug" # build with GNU g++ compiler and colvars debugging enabled :pre
|
||
|
||
The "machine" argument of the "-m" flag is used to find a Makefile.machine to
|
||
use as build recipe. If it does not already exist in lib/colvars, it will be
|
||
auto-generated by using compiler flags consistent with those parsed from the
|
||
core LAMMPS makefiles.
|
||
|
||
Optional flags may be specified as environment variables:
|
||
|
||
COLVARS_DEBUG=yes make lib-colvars args="-m machine" # Build with debug code (much slower)
|
||
COLVARS_LEPTON=no make lib-colvars args="-m machine" # Build without Lepton (included otherwise)
|
||
|
||
The build should produce two files: the library lib/colvars/libcolvars.a
|
||
(which also includes Lepton objects if enabled) and the specification file
|
||
lib/colvars/Makefile.lammps. The latter is auto-generated, and normally does
|
||
not need to be edited.
|