lammps/lib/colvars
Axel Kohlmeyer 2bb5c53a47
remove/replace extended ASCII characters from comments
2020-07-27 17:15:29 -04:00
..
lepton use MY_PI everywhere, not M_PI. 2020-04-13 12:02:53 -04:00
Install.py Print parsed compiler flags, some cosmetic changes for added consistency 2019-10-17 22:53:13 -04:00
Makefile.common Add defines to build Lepton with MSVC and traditional make 2020-04-14 16:57:04 -04:00
Makefile.deps Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
Makefile.g++ enable full c++11 in colvars, same as LAMMPS 2020-06-14 12:18:51 -04:00
Makefile.g++-debug Enable COLVARS_LEPTON for make, update build doc for USER-COLVARS 2019-10-17 22:48:57 -04:00
Makefile.g++-no-lepton Enable COLVARS_LEPTON for make, update build doc for USER-COLVARS 2019-10-17 22:48:57 -04:00
Makefile.lammps.debug Update Colvars to version 2017-07-15 and support automated builds for it 2017-07-19 14:24:07 -04:00
Makefile.lammps.empty Update Colvars to version 2017-07-15 and support automated builds for it 2017-07-19 14:24:07 -04:00
Makefile.lepton.deps Add Lepton library within lib/colvars 2017-10-09 15:25:43 -04:00
Makefile.mpi revamp of library builds 2017-08-07 17:13:01 -04:00
Makefile.serial revamp of library builds 2017-08-07 17:13:01 -04:00
README Update DOI resolver 2020-03-12 16:53:24 +09:00
colvar.cpp Fix typo 2020-03-14 13:57:48 +09:00
colvar.h Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvar_UIestimator.h Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvar_arithmeticpath.h whitespace cleanup: replace tabs and remove trailing whitespace 2020-07-27 17:14:53 -04:00
colvar_geometricpath.h Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvaratoms.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvaratoms.h Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarbias.cpp Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarbias.h Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarbias_abf.cpp Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarbias_abf.h Fix typo 2020-03-14 13:57:48 +09:00
colvarbias_alb.cpp Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarbias_alb.h Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarbias_histogram.cpp Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarbias_histogram.h Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarbias_meta.cpp Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarbias_meta.h Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarbias_restraint.cpp Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarbias_restraint.h Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarcomp.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarcomp.h remove/replace extended ASCII characters from comments 2020-07-27 17:15:29 -04:00
colvarcomp_angles.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarcomp_apath.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarcomp_coordnums.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarcomp_distances.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarcomp_gpath.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarcomp_protein.cpp Fix typo 2020-03-14 13:57:48 +09:00
colvarcomp_rotations.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvardeps.cpp Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvardeps.h Fix typo 2020-03-14 13:57:48 +09:00
colvargrid.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvargrid.h whitespace cleanup: replace tabs and remove trailing whitespace 2020-07-27 17:14:53 -04:00
colvarmodule.cpp Update DOI resolver 2020-03-12 16:53:24 +09:00
colvarmodule.h Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarparams.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarparams.h Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarparse.cpp Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarparse.h Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarproxy.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarproxy.h Fix typo 2020-03-14 13:57:48 +09:00
colvarproxy_replicas.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvars_version.h Update Colvars to version 2020-02-27 2020-02-27 19:55:31 -05:00
colvarscript.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarscript.h Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvartypes.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvartypes.h Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarvalue.cpp Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00
colvarvalue.h Update Colvars library to version 2020-01-27 2020-01-28 14:15:05 -05:00

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.