Skip to content

Module: multicolvar

Description Usage
tools for working with vectors of collective variables
Authors: Gareth Tribello used in 4 tutorialsused in 71 eggs

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:

Click on the labels of the actions for more information on what each action computes
tested on2.11
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