Module: multicolvar
| Description | Usage |
|---|---|
| tools for working with vectors of collective variables | |
| Authors: Gareth Tribello |
Details
THIS MODULE HAS BEEN INCLUDED FOR BACK COMPATIBILITY. ALL THE ACTIONS WITHIN IT ARE NOW SHORTCUTS. IF YOU USE THESE FUNCTIONALITIES WE WOULD STRONGLY ENCOURAGE YOU TO LOOK AT THE EXPANDED VERSIONS OF THESE INPUTS AND TO LEARN HOW THE NEWER AND MORE POWERFUL SYNTAX OPERATES. THE DOCUMENTATION THAT FOLLOWS IS COPIED FROM THE OLD MANUAL WHERE THIS NEW SYNTAX WAS NOT AVAILABLE
Oftentimes, when you do not need one of the collective variables described elsewhere in the manual, what you want instead is a function of a distribution of collective variables of a particular type. In other words, you would like to calculate a function something like this:
In this expression is a function that takes in one argument and is a function that takes a set of atomic positions as argument. The symbol is used to indicate the fact that the function is evaluated for a number of different sets of atoms. If you would just like to output the values of all the various functions you can use the command DUMPMULTICOLVAR
This functionality is useful if you need to calculate a minimum distance or the number of coordination numbers greater than a 3.0. To avoid duplicating the code to calculate an angle or distance many times and to make it easier to implement very complex collective variables PLUMED provides these sort of collective variables using so-called MultiColvars. MultiColvars are named in this way because a single PLUMED action can be used to calculate a number of different collective variables. For instance the DISTANCES action can be used to calculate the minimum distance, the number of distances less than a certain value, the number of distances within a certain range... A more detailed introduction to multicolvars is provided in this 10-minute video.
To instruct PLUMED to calculate a multicolvar you give an instruction that looks something like this:
NAME <atoms involved> <parameters> <what am I calculating> TOL=0.001 LABEL=label
Oftentimes the simplest way to specify the atoms involved is to use multiple instances of the ATOMS keyword i.e. ATOMS1, ATOMS2, ATOMS3,... Separate instances of the quantity specified by NAME are then calculated for each of the sets of atoms. For example if the command issued contains the following:
d: DISTANCESCalculate the distances between multiple piars of atoms This action is a shortcut. More details ATOMS1the pairs of atoms that you would like to calculate the angles for=1,2 ATOMS2the pairs of atoms that you would like to calculate the angles for=3,4 ATOMS3the pairs of atoms that you would like to calculate the angles for=5,6
The distances between atoms 1 and 2, atoms 3 and 4, and atoms 5 and 6 are calculated. Obviously, generating this sort of input is rather tedious so short cuts are also available many of the collective variables. These are described on the manual pages for the actions.
After specifying the atoms involved you sometimes need to specify some parameters that required in the calculation. For instance, for COORDINATIONNUMBER - the number of atoms in the first coordination sphere of each of the atoms in the system - you need to specify the parameters for a switching function (see LESS_THAN) that will tell us whether or not an atom is in the first coordination sphere. Details as to how to do this are provided on the manual pages.
Once you have specified the base quantities that are to be calculated from the atoms involved and any parameters you need to specify what function of these base quantities is to be calculated. For most multicolvars you can calculate the minimum, the number less than a target value, the number within a certain range, the number more than a target value and the average value directly.
Multicolvar functions and biases
In older versions of PLUMED there were actions that took the label of a multicolvar as input and computed things from the vector of CVs directly from them. In newer versions this functionality is easier to use as the multicolvars are shortcuts. You thus use the outputs from the commmands that output the vectors of CV values in the input to other actions directly.
Actions
The following actions are part of this module
| Name | Description | Tags |
|---|---|---|
| ALPHABETA | Measures a distance including pbc between the instantaneous values of a set of torsional angles and set of reference values. | MCOLVAR |
| ANGLES | Calculate functions of the distribution of angles. | COLVAR |
| COORD_ANGLES | Calculate functions of the distribution of angles between bonds in the first coordination spheres of a set of atoms | MCOLVAR |
| DIHCOR | Measures the degree of similarity between dihedral angles. | COLVAR |
| DISTANCES | Calculate the distances between multiple piars of atoms | MCOLVAR |
| DUMPMULTICOLVAR | Dump atom positions and a vector of values to a file. | MCOLVAR |
| INPLANEDISTANCES | Calculate distances in the plane perpendicular to an axis | MCOLVAR |
| MFILTER_LESS | Apply a switching function to the input vector. | MCOLVAR |
| MFILTER_MORE | Apply one minus a switching function to the input vector. | MCOLVAR |
| PLANES | Calculate the components of the normals to the planes containing groups of three atoms. | MCOLVAR |
| TORSIONS | Calculate whether or not a set of torsional angles are within a particular range. | MCOLVAR |
| UWALLS | Add lower walls to a vector of quantities | MCOLVAR |
| XANGLES | Calculate the angle between an arbitrary vector and the positive x direction | COLVAR |
| XDISTANCES | Calculate the x components of the vectors connecting one or many pairs of atoms. | MCOLVAR |
| XYTORSIONS | Calculate the torsional angle around the x axis between an arbitrary vector and the positive y direction | COLVAR |
| XZTORSIONS | Calculate the torsional angle around the x axis between an arbitrary vector and the positive z direction | COLVAR |
| YANGLES | Calculate the angle between an arbitrary vector and the positive y direction | COLVAR |
| YDISTANCES | Calculate the y components of the vectors connecting one or many pairs of atoms. | MCOLVAR |
| YXTORSIONS | Calculate the torsional angle around the y axis between an arbitrary vector and the positive x direction | COLVAR |
| YZTORSIONS | Calculate the torsional angle around the y axis between an arbitrary vector and the positive z direction | COLVAR |
| ZANGLES | Calculate the angle between an arbitrary vector and the positive z direction | COLVAR |
| ZDISTANCES | Calculate the z components of the vectors connecting one or many pairs of atoms. | MCOLVAR |
| ZXTORSIONS | Calculate the torsional angle around the z axis between an arbitrary vector and the positive x direction | COLVAR |
| ZYTORSIONS | Calculate the torsional angle around the z axis between an arbitrary vector and the positive y direction | COLVAR |