CAVITY
This is part of the volumes module
It is only available if you configure PLUMED with ./configure –enable-modules=volumes . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list.

This quantity can be used to calculate functions of the distribution of collective variables for the atoms that lie in a box defined by the positions of four atoms.

Each of the base quantities calculated by a multicolvar can can be assigned to a particular point in three dimensional space. For example, if we have the coordination numbers for all the atoms in the system each coordination number can be assumed to lie on the position of the central atom. Because each base quantity can be assigned to a particular point in space we can calculate functions of the distribution of base quantities in a particular part of the box by using:

\[ \overline{s}_{\tau} = \frac{ \sum_i f(s_i) w(u_i,v_i,w_i) }{ \sum_i w(u_i,v_i,w_i) } \]

where the sum is over the collective variables, \(s_i\), each of which can be thought to be at \( (u_i,v_i,z_i)\). The function \((s_i)\) can be any of the usual LESS_THAN, MORE_THAN, WITHIN etc that are used in all other multicolvars. Notice that here (at variance with what is done in AROUND) we have transformed from the usual \((x_i,y_i,z_i)\) position to a position in \( (u_i,v_i,z_i)\). This is done using a rotation matrix as follows:

\[ \left( \begin{matrix} u_i \\ v_i \\ w_i \end{matrix} \right) = \mathbf{R} \left( \begin{matrix} x_i - x_o \\ y_i - y_o \\ z_i - z_o \end{matrix} \right) \]

where \(\mathbf{R}\) is a rotation matrix that is calculated by constructing a set of three orthonormal vectors from the reference positions specified by the user. The first of these unit vectors points from the first reference atom to the second. The second is then the normal to the plane containing atoms 1,2 and 3 and the the third is the unit vector orthogonal to these first two vectors. \((x_o,y_o,z_o)\), meanwhile, specifies the position of the first reference atom.

In the previous function \( w(u_i,v_i,w_i) \) measures whether or not the system is in the subregion of interest. It is equal to:

\[ w(u_i,v_i,w_i) = \int_{0}^{u'} \int_{0}^{v'} \int_{0}^{w'} \textrm{d}u\textrm{d}v\textrm{d}w K\left( \frac{u - u_i}{\sigma} \right)K\left( \frac{v - v_i}{\sigma} \right)K\left( \frac{w - w_i}{\sigma} \right) \]

where \(K\) is one of the kernel functions described on histogrambead and \(\sigma\) is a bandwidth parameter. The vector connecting atom 1 to atom 4 is used to define the extent of the box in each of the \(u\), \(v\) and \(w\) directions. Essentially the vector connecting atom 1 to atom 4 is projected onto the three unit vectors described above and the resulting projections determine the \(u'\), \(v'\) and \(w'\) parameters in the above expression.

Examples

The following commands tell plumed to calculate the number of atoms in an ion channel in a protein. The extent of the channel is calculated from the positions of atoms 1, 4, 5 and 11. The final value will be labeled cav.

Click on the labels of the actions for more information on what each action computes
tested on master
d1: DENSITY 
SPECIES
compulsory keyword the atoms in the group
=20-500 cav: CAVITY
DATA
the label of an action that calculates multicolvars.
=d1
ATOMS
the group of atoms that you would like to investigate.
=1,4,5,11
SIGMA
compulsory keyword the width of the function to be used for kernel density estimation
=0.1

The following command tells plumed to calculate the coordination numbers (with other water molecules) for the water molecules in the protein channel described above. The average coordination number and the number of coordination numbers more than 4 is then calculated. The values of these two quantities are given the labels cav.mean and cav.morethan

Click on the labels of the actions for more information on what each action computes
tested on master
d1: COORDINATIONNUMBER 
SPECIES
this keyword is used for colvars such as coordination number.
=20-500
R_0
could not find this keyword
=0.1 cav: CAVITY
DATA
the label of an action that calculates multicolvars.
=d1
ATOMS
the group of atoms that you would like to investigate.
=1,4,5,11
SIGMA
compulsory keyword the width of the function to be used for kernel density estimation
=0.1
MEAN
( default=off ) calculate the average value of the colvar inside the region of interest
MORE_THAN
calcualte the number of colvars that are inside the region of interest and that are greater that a certain threshold
={RATIONAL R_0=4}
Glossary of keywords and components
Description of components

By default the value of the calculated quantity can be referenced elsewhere in the input file by using the label of the action. Alternatively this Action can be used to calculate the following quantities by employing the keywords listed below. These quantities can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the quantity required from the list below.

Quantity Description
.#!value sum of values of input CVs in regin of interest

In addition the following quantities can be calculated by employing the keywords listed below

Quantity Keyword Description
lessthan LESS_THAN the number of cvs in the region of interest that are less than a certain threshold
morethan MORE_THAN the number of cvs in the region of interest that are more than a certain threshold
between BETWEEN the number of cvs in the region of interest that are within a certain range
sum SUM the sum of all the colvars weighted by the function that determines if we are in the region
mean MEAN the average values of the colvar in the region of interest
The atoms involved can be specified using
ATOMS the group of atoms that you would like to investigate. For more information on how to specify lists of atoms see Groups and Virtual Atoms
BOX the positions of four atoms that define spatial extent of the cavity. For more information on how to specify lists of atoms see Groups and Virtual Atoms
Compulsory keywords
SIGMA the width of the function to be used for kernel density estimation
KERNEL ( default=gaussian ) the type of kernel function to be used
Options
SERIAL ( default=off ) do the calculation in serial. Do not parallelize
OUTSIDE ( default=off ) calculate quantities for colvars that are on atoms outside the region of interest
PRINT_BOX ( default=off ) write out the positions of the corners of the box to an xyz file
SUM ( default=off ) calculate the sum of all the quantities.
MEAN

( default=off ) calculate the average value of the colvar inside the region of interest

FILE the file on which to write out the box coordinates
UNITS ( default=nm ) the units in which to write out the corners of the box
DATA the label of an action that calculates multicolvars. Weighted sums based on the location of the colvars calculated by this action will be calcualted
LESS_THAN calcualte the number of colvars that are inside the region of interest and that are less than a certain threshold
MORE_THAN calcualte the number of colvars that are inside the region of interest and that are greater that a certain threshold
BETWEEN calculate the number of colvars that are inside the region of interest and that have a CV value that is between a particular set of bounds