Shortcut: COORDINATION_SHELL_AVERAGE
Module | symfunc |
---|---|
Description | Usage |
Calculate an arbitrary function of all the bond vectors in the first coordination sphere of an atom and take an average | |
output value | type |
the symmetry function for each of the specified atoms | vector |
Output components
This action can calculate the values in the following table when the associated keyword is included in the input for the action. These values can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the value required from the list below.
Name | Type | Keyword | Description |
---|---|---|---|
lessthan | scalar | LESS_THAN | the number of colvars that have a value less than a threshold |
morethan | scalar | MORE_THAN | the number of colvars that have a value more than a threshold |
altmin | scalar | ALT_MIN | the minimum value of the cv |
min | scalar | MIN | the minimum colvar |
max | scalar | MAX | the maximum colvar |
between | scalar | BETWEEN | the number of colvars that have a value that lies in a particular interval |
highest | scalar | HIGHEST | the largest of the colvars |
lowest | scalar | LOWEST | the smallest of the colvars |
sum | scalar | SUM | the sum of the colvars |
mean | scalar | MEAN | the mean of the colvars |
Input
The atoms that serve as the input for this action are specified using one or more of the keywords in the following table.
Keyword | Type | Description |
---|---|---|
SPECIES | atoms | the list of atoms for which the symmetry function is being calculated and the atoms that can be in the environments |
SPECIESA | atoms | the list of atoms for which the symmetry function is being calculated |
SPECIESB | atoms | the list of atoms that can be in the environments of each of the atoms for which the symmetry function is being calculated |
Further details and examples
Calculate an arbitrary function of all the bond vectors in the first coordination sphere of an atom and take an average
This shortcut allows you to calculate the average for an arbitrary function of the bond vectors that connect an atom to each of its neighbours. In other words, this action allows you to compute the following:
si=∑i≠jσ(rij)f(xij,yij,zij,rij))∑i≠jσ(rij)
In this expression, xij,yij,zij are the components of the vector connecting atoms i and j and rij is the magnitude of this vector. σ(rij) is then a switching function that ensures that the aritrary function f is only evaluated for if atom j is within a certain cutoff distance of atom i.
Below you can see a simple example that shows how this action can be used in practise.
cvCOORDINATION_SHELL_AVERAGECalculate an arbitrary function of all the bond vectors in the first coordination sphere of an atom and take an average This action is a shortcut and it has hidden defaults. More details SPECIESthe list of atoms for which the symmetry function is being calculated and the atoms that can be in the environments=1-64 SWITCHthe switching function that it used in the construction of the contact matrix. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL D_0=3.0 R_0=1.5} FUNCTIONthe function of the bond vectors that you would like to evaluate=((x+y+z)/r)^3+((x-y-z)/r)^3+((-x+y-z)/r)^3+((-x-y+z)/r)^3 : PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=cv FILEthe name of the file on which to output these quantities=colvar
The above input calculates 64 si values - one si values for each of the atoms specified using the SPECIES keyword. These 64 numbers are then output to a file. The function of x, y, z and r to be evaluated is specified using the FUNCTION keyword. Obviously, if your function does not depend on all four of these variables they can be excluded from your function.
Notice that you can you can rotate the bond vectors before computing the arbitrary function f in the above expression as is discussed in the documentation for COORDINATION_SHELL_FUNCTION
References
More information about how this action can be used is available in the following articles: - A. D. White, G. A. Voth, Efficient and Minimal Method to Bias Molecular Simulations with Experimental Data. Journal of Chemical Theory and Computation. 10, 3023–3030 (2014) - S. Angioletti-Uberti, M. Ceriotti, P. D. Lee, M. W. Finnis, Solid-liquid interface free energy through metadynamics simulations. Physical Review B. 81 (2010) - B. Cheng, G. A. Tribello, M. Ceriotti, Solid-liquid interfacial free energy out of equilibrium. Physical Review B. 92 (2015) - B. Cheng, G. A. Tribello, M. Ceriotti, The Gibbs free energy of homogeneous nucleation: From atomistic nuclei to the planar limit. The Journal of Chemical Physics. 147 (2017) - B. Cheng, M. Ceriotti, G. A. Tribello, Classical nucleation theory predicts the shape of the nucleus in homogeneous solidification. The Journal of Chemical Physics. 152 (2020)
Syntax
The following table describes the keywords and options that can be used with this action
Keyword | Type | Default | Description |
---|---|---|---|
SPECIES | input | none | the list of atoms for which the symmetry function is being calculated and the atoms that can be in the environments |
SPECIESA | input | none | the list of atoms for which the symmetry function is being calculated |
SPECIESB | input | none | the list of atoms that can be in the environments of each of the atoms for which the symmetry function is being calculated |
NN | compulsory | 6 | The n parameter of the switching function |
MM | compulsory | 0 | The m parameter of the switching function; 0 implies 2*NN |
D_0 | compulsory | 0.0 | The d_0 parameter of the switching function |
R_0 | compulsory | none | The r_0 parameter of the switching function |
FUNCTION | compulsory | none | the function of the bond vectors that you would like to evaluate |
PHI | compulsory | 0.0 | The Euler rotational angle phi |
THETA | compulsory | 0.0 | The Euler rotational angle theta |
PSI | compulsory | 0.0 | The Euler rotational angle psi |
ALPHA | compulsory | 3.0 | The alpha parameter of the angular function that is used for FCCUBIC |
SWITCH | optional | not used | the switching function that it used in the construction of the contact matrix. Options for this keyword are explained in the documentation for LESS_THAN. |
LESS_THAN | optional | not used | calculate the number of variables that are less than a certain target value. Options for this keyword are explained in the documentation for LESS_THAN. |
MORE_THAN | optional | not used | calculate the number of variables that are more than a certain target value. Options for this keyword are explained in the documentation for MORE_THAN. |
ALT_MIN | optional | not used | calculate the minimum value |
MIN | optional | not used | calculate the minimum value |
MAX | optional | not used | calculate the maximum value |
BETWEEN | optional | not used | calculate the number of values that are within a certain range. Options for this keyword are explained in the documentation for BETWEEN. |
HIGHEST | optional | false | this flag allows you to recover the highest of these variables |
HISTOGRAM | optional | not used | calculate a discretized histogram of the distribution of values |
LOWEST | optional | false | this flag allows you to recover the lowest of these variables |
SUM | optional | false | calculate the sum of all the quantities |
MEAN | optional | false | calculate the mean of all the quantities |
LOWMEM | optional | false | this flag does nothing and is present only to ensure back-compatibility |