Git Product home page Git Product logo

dingding-han / colvars Goto Github PK

View Code? Open in Web Editor NEW

This project forked from colvars/colvars

0.0 0.0 0.0 33.49 MB

Collective variables module for molecular simulation and analysis programs

Home Page: http://colvars.github.io/

License: GNU Lesser General Public License v3.0

Makefile 1.41% C++ 63.22% Tcl 6.84% Python 3.94% Shell 4.42% Awk 0.07% C 15.12% Perl 1.41% TeX 0.09% M4 0.06% Rich Text Format 3.05% CMake 0.24% Raku 0.12%

colvars's Introduction

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.

Obtaining and using

The easiest way to obtain pre-compiled versions of Colvars is via one of following:

  • the molecular simulation program LAMMPS;
  • the molecular simulation program NAMD;
  • the molecular visualization program VMD;
  • the molecular simulation program GROMACS through our releases.

Please check here to see which version of Colvars is included with the round-number or "stable" versions of each code.

Documentation

The Colvars webpage includes user documentation for the four codes, as well as a Doxygen-based developer documentation.

The reference article is: G. Fiorin, M. L. Klein, and J. Hénin, Molecular Physics 111, 3345 (2013). https://dx.doi.org/10.1080/00268976.2013.813594 [BibTex file] [Endnote file]

Example input

Colvars requires a configuration file, or alternatively configuration arguments given through scripting commands by the linked program.

  • In NAMD:
colvars on
cv configfile <Colvars configuration file>
  • In VMD (Tip: try also the new "Colvars Dashboard" plugin):
cv molid top
cv configfile <Colvars configuration file>
  • In LAMMPS:
fix Colvars all colvars configfile <Colvars configuration file>
  • In GROMACS:
gmx mdrun -s topol.tpr -deffnm topol -colvars <Colvars configuration file>

The contents of the configuration file are typically the same across all programs, for example:

colvar { # Define a new variable
  name d # Must give a name to this variable
  width 0.2 # Estimated fluctuation amplitude and/or grid resolution, "w_d"
  distance { # This variable is a distance between centers of mass (COMs)
    group1 { atomNumbers 1 2 3 } # List the atoms of the 1st group
    group2 { atomNumbers 4 5 6 } # List the atoms of the 2nd group
  }
}

harmonic { # Define a harmonic potential, 1/2*K*(d-d0)^2/w_d^2
  colvars d # Apply it to the variable "d"
  centers 5.0 # The center of the potential, "d0"
  forceConstant 10.0 # Force constant, "K"
}

Complete input decks for some of the most commonly used features are available in the examples repository: https://github.com/Colvars/examples

See also the examples folder of this repository for other examples of configurations. Configuration options (particularly, the selections of atoms) require minimal changes to reflect the specifics of each simulation.

The tests folder also contains functional segments of Colvars configuration, used to build numerical tests of code accuracy and stability. Feel free to use these segments in your production runs.

Updating to the latest version

To recompile each program with the most recent version of the module, download the master branch of this repository, or clone it via git:

git clone https://github.com/Colvars/colvars.git

and run the provided update-colvars-code.sh script against the unpacked source tree of any of the supported programs:

./update-colvars-code.sh /path/to/lammps           ; # updates LAMMPS
./update-colvars-code.sh /path/to/NAMD_X.YY_Source ; # updates NAMD
./update-colvars-code.sh /path/to/vmd-X.Y.Z        ; # updates VMD
./update-colvars-code.sh /path/to/vmd-plugins      ; # updates VMD plugins
./update-colvars-code.sh /path/to/gromacs-XXX.X    ; # update GROMACS

and recompile them.

The update-colvars-code.sh script and its supporting files are synchronized with the latest version of each program:

Earlier versions are not supported.

For GROMACS, the versions supported are 2018.X and 2020.X.

Gromacs-Colvars releases

Here a list of GROMACS archives with Colvars patch:

  • 2018.8 with Colvars version 2020-10-22
  • 2020.1 with Colvars version 2020-10-22
  • 2020.2 with Colvars version 2020-10-22
  • 2020.3 with Colvars version 2020-10-22
  • 2020.4 with Colvars version 2020-10-22

Which version is recommended?

The master branch is to be considered the "stable" release at any given time; any bugfixes are released through master first. The input syntax is near-completely backward-compatible and output files are forward-compatible. Feel free to download Colvars and update NAMD, VMD, LAMMPS or GROMACS as needed.

Other branches are dedicated to the development of specific features: please use them at your own discretion.

Feedback

Please use the "Issues" tab of this page to submit new bug reports or to suggest new features.

License

This software is distributed under the GNU Lesser General Public License, version 3. See COPYING.LESSER for complete licensing terms.

colvars's People

Contributors

giacomofiorin avatar jhenin avatar akohlmey avatar hublot avatar hanatok avatar whitead avatar fabsugar avatar jeffcomer avatar jvermaas avatar alejob avatar jewettaij avatar fhh2626 avatar e-kwsm avatar mvondomaros avatar renehamburger1993 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.