Skip to content

Shortcut: SIMPLECUBIC

Module symfunc
Description Usage
Calculate whether or not the coordination spheres of atoms are arranged as they would be in a simple cubic structure. used in 0 tutorialsused in 0 eggs
output value type
the symmetry function for each of the specified atoms vector

Details and examples

Calculate whether or not the coordination spheres of atoms are arranged as they would be in a simple cubic structure.

This shortcut is an example of a COORDINATION_SHELL_AVERAGE, which we can use to measure how similar the environment around atom is to a simple cubic structure. We perform this comparison by evaluating the following quantity:

In this expression , and are the , and components of the vector connecting atom to atom and is the magnitude of this vector. is a switching function that acts on the distance between atom and atom and its inclusion in the numerator and the denominator of the above expression as well as the fact that we are summing over all of the other atoms in the system ensures that we are calculating an average of the function of , and for the atoms in the first coordination sphere around atom . This quantity is once again a multicolvar so you can compute it for multiple atoms using a single PLUMED action and then compute the average value for the atoms in your system, the number of atoms that have an value that is more that some target and so on. Notice also that you can rotate the reference frame if you are using a non-standard unit cell.

The following input tells plumed to calculate the simple cubic parameter for the atoms 1-100 with themselves. The mean value is then calculated.

Click on the labels of the actions for more information on what each action computes
tested on2.11
sc: SIMPLECUBICCalculate whether or not the coordination spheres of atoms are arranged as they would be in a simple cubic structure. 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-100 R_0The r_0 parameter of the switching function=1.0
sc_mean: MEANCalculate the arithmetic mean of the elements in a vector More details ARGthe vector/matrix/grid whose elements shuld be added together=sc PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=sc_mean FILEthe name of the file on which to output these quantities=colvar

In the input above we use a rational switching function with the parameters above. We would recommend using SWITCH syntax rather than the syntax above when giving the parameters for the switching function as you can then use any of the switching functions described in the documentation for LESS_THAN. More importantly, however, using this syntax allows you to set the D_MAX parameter for the switching function as demonstrated below:

Click on the labels of the actions for more information on what each action computes
tested on2.11
d: SIMPLECUBICCalculate whether or not the coordination spheres of atoms are arranged as they would be in a simple cubic structure. 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 D_MAX=6.0}
dm: MEANCalculate the arithmetic mean of the elements in a vector More details ARGthe vector/matrix/grid whose elements shuld be added together=d PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=dm FILEthe name of the file on which to output these quantities=colv

Setting the D_MAX can substantially improve PLUMED performance as it turns on the linked list algorithm that is discussed in the optimisation details part of the documentation for CONTACT_MATRIX.

Working with two types of atom

If you would like to calculate whether the atoms in GROUPB are arranged around the atoms in GROUPA as they in an tetrahedral structure you use an input like the one shown below:

Click on the labels of the actions for more information on what each action computes
tested on2.11
d: SIMPLECUBICCalculate whether or not the coordination spheres of atoms are arranged as they would be in a simple cubic structure. This action is a shortcut and it has hidden defaults. More details SPECIESAthe list of atoms for which the symmetry function is being calculated=1-64 SPECIESBthe list of atoms that can be in the environments of each of the atoms for which the symmetry function is being calculated=65-200 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 D_MAX=6.0}
lt: MORE_THANUse a switching function to determine how many of the input variables are more than a certain cutoff. More details ARGthe values input to this function=d SWITCHThis keyword is used if you want to employ an alternative to the continuous swiching function defined above={RATIONAL R_0=0.5}
s: SUMCalculate the sum of the arguments More details ARGthe vector/matrix/grid whose elements shuld be added together=lt PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=s FILEthe name of the file on which to output these quantities=colv

The MASK keyword

You can use the MASK keyword with this action in the same way that it is used with COORDINATIONNUMBER. This keyword thus expects a vector in input, which tells SIMPLECUBIC that it is safe not to calculate the SIMPLECUBIC parameter for some of the atoms. As illustrated below, this is useful if you are using functionality from the volumes module to calculate the average value of the SIMPLECUBIC parameter for only those atoms that lie in a certain part of the simulation box.

Click on the labels of the actions for more information on what each action computes
tested on2.11
# Fixed virtual atom which serves as the probe volume's center (pos. in nm)
center: FIXEDATOMAdd a virtual atom in a fixed position. This action has hidden defaults. More details ATcoordinates of the virtual atom=2.5,2.5,2.5
# Vector in which element i is one if atom i is in sphere of interest and zero otherwise
sphere: INSPHEREThis quantity can be used to calculate functions of the distribution of collective variables for the atoms that lie in a particular, user-specified part of of the cell. More details ATOMSthe group of atoms that you would like to investigate=1-400 CENTERthe atom whose vicinity we are interested in examining=center RADIUSthe switching function that tells us the extent of the sphereical region of interest. Options for this keyword are explained in the documentation for LESS_THAN.={GAUSSIAN D_0=0.5 R_0=0.01 D_MAX=0.52}
# Calculate the tetrahedral parameter of the atoms
cc: SIMPLECUBICCalculate whether or not the coordination spheres of atoms are arranged as they would be in a simple cubic structure. 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-400 MASKthe label for a vector that is used to determine which rows of the matrix are computed=sphere
  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 D_MAX=6.0}
...
# Multiply fccubic parameters numbers by sphere vector
prod: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=cc,sphere FUNCthe function you wish to evaluate=x*y PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# Sum of coordination numbers for atoms that are in the sphere of interest
numer: SUMCalculate the sum of the arguments More details ARGthe vector/matrix/grid whose elements shuld be added together=prod PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# Number of atoms that are in sphere of interest
denom: SUMCalculate the sum of the arguments More details ARGthe vector/matrix/grid whose elements shuld be added together=sphere PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# Average coordination number for atoms in sphere of interest
av: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=numer,denom FUNCthe function you wish to evaluate=x/y PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# And print out final CV to a file
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=av FILEthe name of the file on which to output these quantities=colvar STRIDE the frequency with which the quantities of interest should be output=1

This input calculate the average value of the SIMPLECUBIC parameter for only those atoms that are within a spherical region that is centered on the point .

Deprecated syntax

More information on the deprecated keywords that are given below is available in the documentation for the DISTANCES command.

The following command illustrates how this deprecated syntax works. It tells plumed to look at the ways atoms 1-100 are within 3.0 are arranged about atoms from 101-110. The number of simple cubic parameters that are greater than 0.8 is then output

Click on the labels of the actions for more information on what each action computes
tested on2.11
SIMPLECUBICCalculate whether or not the coordination spheres of atoms are arranged as they would be in a simple cubic structure. More details SPECIESAthe list of atoms for which the symmetry function is being calculated=101-110 SPECIESBthe list of atoms that can be in the environments of each of the atoms for which the symmetry function is being calculated=1-100 R_0The r_0 parameter of the switching function=3.0 MORE_THANcalculate the number of variables that are more than a certain target value. Options for this keyword are explained in the documentation for MORE_THAN.={RATIONAL R_0=0.8 NN=6 MM=12 D_0=0}

Notice that you can you can rotate the bond vectors before computing the function in the above expression as is discussed in the documentation for COORDINATION_SHELL_FUNCTION

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

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

Full list of keywords

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
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
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.
MASK optional not used the label for a vector that is used to determine which rows of the matrix are computed
USEGPUThis keyword do not have examples optional false run part of this calculation on the GPU

deprecated keywords

The keywords in the following table can still be used with this action but have been deprecated

Keyword Description
LESS_THAN calculate the number of variables that are less than a certain target value
MORE_THAN calculate the number of variables that are more than a certain target value
ALT_MIN calculate the minimum value
MIN calculate the minimum value
MAX calculate the maximum value
BETWEEN calculate the number of values that are within a certain range
HIGHEST this flag allows you to recover the highest of these variables
HISTOGRAM calculate a discretized histogram of the distribution of values
LOWEST this flag allows you to recover the lowest of these variables
SUM calculate the sum of all the quantities
MEAN calculate the mean of all the quantities
LOWMEM Including this keyword in the input to this action makes no difference to the calculation performed it was used in older versions of PLUMED and is provided here for back compatibility only

References

More information about how this action can be used is available in the following articles: