forked from lijiext/lammps
2bb5c53a47 | ||
---|---|---|
.. | ||
lepton | ||
Install.py | ||
Makefile.common | ||
Makefile.deps | ||
Makefile.g++ | ||
Makefile.g++-debug | ||
Makefile.g++-no-lepton | ||
Makefile.lammps.debug | ||
Makefile.lammps.empty | ||
Makefile.lepton.deps | ||
Makefile.mpi | ||
Makefile.serial | ||
README | ||
colvar.cpp | ||
colvar.h | ||
colvar_UIestimator.h | ||
colvar_arithmeticpath.h | ||
colvar_geometricpath.h | ||
colvaratoms.cpp | ||
colvaratoms.h | ||
colvarbias.cpp | ||
colvarbias.h | ||
colvarbias_abf.cpp | ||
colvarbias_abf.h | ||
colvarbias_alb.cpp | ||
colvarbias_alb.h | ||
colvarbias_histogram.cpp | ||
colvarbias_histogram.h | ||
colvarbias_meta.cpp | ||
colvarbias_meta.h | ||
colvarbias_restraint.cpp | ||
colvarbias_restraint.h | ||
colvarcomp.cpp | ||
colvarcomp.h | ||
colvarcomp_angles.cpp | ||
colvarcomp_apath.cpp | ||
colvarcomp_coordnums.cpp | ||
colvarcomp_distances.cpp | ||
colvarcomp_gpath.cpp | ||
colvarcomp_protein.cpp | ||
colvarcomp_rotations.cpp | ||
colvardeps.cpp | ||
colvardeps.h | ||
colvargrid.cpp | ||
colvargrid.h | ||
colvarmodule.cpp | ||
colvarmodule.h | ||
colvarparams.cpp | ||
colvarparams.h | ||
colvarparse.cpp | ||
colvarparse.h | ||
colvarproxy.cpp | ||
colvarproxy.h | ||
colvarproxy_replicas.cpp | ||
colvars_version.h | ||
colvarscript.cpp | ||
colvarscript.h | ||
colvartypes.cpp | ||
colvartypes.h | ||
colvarvalue.cpp | ||
colvarvalue.h |
README
## 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. In particular, the library is optionally built together with the "Lepton"_https://simtk.org/projects/lepton library, a copy of which is also included in the LAMMPS distribution. Lepton implements the "customFunction"_http://colvars.github.io/colvars-refman-lammps/colvars-refman-lammps.html#colvar|customFunction feature, and requires C++11 support. See "here"_https://colvars.github.io/README-c++11.html for a detailed list of C++11-only features. ## How to build (CMake) This is the recommended build recipe: no additional settings are normally needed besides "-D PKG_USER-COLVARS=yes". Building and linking of Lepton (or other C++11-only features) is enabled automatically when compilation is carried out with C++11 support, and disabled otherwise. Optionally, Lepton build may be manually controlled with the flag "-D COLVARS_LEPTON=yes|no". ## How to build (traditional make) Before building LAMMPS, one must build the Colvars library in lib/colvars. This can be done manually in the same folder 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.