giorginolab / plumed2-pycv

PYCV module for PLUMED2. See the src/pycv directory.
https://giorginolab.github.io/plumed2-pycv/
GNU Lesser General Public License v3.0
8 stars 1 forks source link

The PYCV module for PLUMED 2

Note: this is a fork of the official PLUMED repository. Please see PLUMED's homepage for information on the PLUMED library.

The PYCV module enables PLUMED2 Collective Variables (CVs) and arbitrary functions to be defined and auto-differentiated in the Python language.

Advantages of using PYCV over standard development of CVs in C++ are:

  1. functions may be prototyped in high-level code, using extensive mathematical libraries, and no boilerplate;
  2. just-in-time compilation occurs transparently: there are no compilation and link delays for code changes;
  3. CVs may be automatically differentiated in common cases.

Please see the project's homepage, paper, and regression tests for detailed instructions.

Citation

Giorgino T. PYCV: a PLUMED 2 Module Enabling the Rapid Prototyping of Collective Variables in Python. The Journal of Open Source Software 4(42):1773

DOI plumID:19.075

Last tested with

Software Version
PLUMED 2.8.0
Python 3.7.7 (Homebrew)
Jax 0.2.17
Jaxlib 0.1.69
Numpy 1.19.5

Copyright

PYCV is distributed under the LGPL terms: see COPYRIGHT.

PYCV includes the pybind11 library, distributed under its own license terms (BSD-3).