Functions

When performing biased dynamics or analyzing a trajectory you may wish to analyze/bias the value of some function of a set of collective variables rather than the values of the collective variables directly. You can do this with PLUMED by using any one of the following list of functions.

Notice that in many functions you should explicitly say to PLUMED whether the result is a periodic variable or not using the keyword `PERIODIC`

. This is crucial to allow a variable to be properly based. To know if a function is periodic of not you should answer to the following question:

- Can my function change with a discontinuity when I move my atoms in a continuous manner?

In case the answer is no, than you should use `PERIODIC=NO`

. In case the answer is yes, then you should consider the following question:

- Are the values of the function at the discontinuity always the same or do they change?

In case the answer is that they are the same, you should use `PERIODIC=A,B`

where `A`

is the smallest value and `B`

is the largest value. In case the answer is that the values at the discontinuity are not always the same, then you cannot construct a variable that can be biased with PLUMED. Consider the following examples:

Click on the labels of the actions for more information on what each action computes

t:TORSIONATOMS=1,2,3,4 # When atoms are moved, t could jump suddenly from -pi to +pithe four atoms involved in the torsional anglec:MATHEVALARG=the input for this action is the scalar output from one or more other actions.tFUNC=x*x*xcompulsory keywordthe function you wish to evaluatePERIODIC=-31.0062766802998,31.0062766802998 # When atoms are moved, c could jump suddenly from -pi**3 to +pi**3 # equivalently, we could have used: # c: COMBINE ARG=t POWERS=3 PERIODIC=-31.0062766802998,31.0062766802998 # compute x/y/z components of the distance between atoms 1 and 10compulsory keywordif the output of your function is periodic then you should specify the periodicity of the function.d:DISTANCEATOMS=1,10the pair of atom that we are calculating the distance between.COMPONENTS# make a new variable equal to d.z but with the correct periodicity( default=off ) calculate the x, y and z components of the distance separately and store them as label.x,dz:COMBINEARG=the input for this action is the scalar output from one or more other actions.d.zPERIODIC=-10,10 # here we assumed the system is in a orthorhombic box with z side = 20compulsory keywordif the output of your function is periodic then you should specify the periodicity of the function.

COMBINE | Calculate a polynomial combination of a set of other variables. |

CUSTOM | Calculate a combination of variables using a custom expression. |

ENSEMBLE | Calculates the replica averaging of a collective variable over multiple replicas. |

FUNCPATHGENERAL | This function calculates path collective variables (PCVs) using an arbitrary combination of collective variables (see [64]). |

FUNCPATHMSD | This function calculates path collective variables. |

FUNCSUMHILLS | This function is intended to be called by the command line tool sum_hills. It is meant to integrate a HILLS file or an HILLS file interpreted as a histogram in a variety of ways. It is, therefore, not expected that you use this during your dynamics (it will crash!) |

LOCALENSEMBLE | Calculates the average over multiple arguments. |

MATHEVAL | An alias to the CUSTOM function. |

PIECEWISE | Compute a piece wise straight line through its arguments that passes through a set of ordered control points. |

SORT | This function can be used to sort colvars according to their magnitudes. |

STATS | Calculates statistical properties of a set of collective variables with respect to a set of reference values. |

In addition to the keywords above, by enabling optional modules you can access to the following keywords:

SELECT | (from PLUMED-ISDB module) Selects an argument based on the value of a SELECTOR. |