It is only available if you configure PLUMED with ./configure –enable-modules=symfunc . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list.
Calculate whether or not the coordination spheres of atoms are arranged as they would be in a simple cubic structure.
We can measure how similar the environment around atom \(i\) is to a simple cubic structure is by evaluating the following quantity:
In this expression \(x_{ij}\), \(y_{ij}\) and \(z_{ij}\) are the \(x\), \(y\) and \(z\) components of the vector connecting atom \(i\) to atom \(j\) and \(r_{ij}\) is the magnitude of this vector. \(\sigma(r_{ij})\) is a switchingfunction that acts on the distance between atom \(i\) and atom \(j\) 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 \(x_{ij}\), \(y_{ij}\) and \(z_{ij}\) for the atoms in the first coordination sphere around atom \(i\). 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 \(s_i\) 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.
Examples
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
compulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function.
=NO
FUNC
compulsory keyword
the function you wish to evaluate
=sqrt(x*x+y*y+z*z) The CUSTOM action with label @0_r calculates a single scalar value@0_vfunc: CUSTOM
ARG
the input to this function.
=@0_mat.x,@0_mat.y,@0_mat.z,@0_r
VAR
the names to give each of the arguments in the function.
=x,y,z,r
PERIODIC
compulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function.
=NO
FUNC
compulsory keyword
the function you wish to evaluate
=(x^4+y^4+z^4)/(r^4) The CUSTOM action with label @0_vfunc calculates a single scalar value@0_wvfunc: CUSTOM
ARG
the input to this function.
=@0_vfunc,@0_mat.w
FUNC
compulsory keyword
the function you wish to evaluate
=x*y
PERIODIC
compulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function.
=NO The CUSTOM action with label @0_wvfunc calculates a single scalar value@0_ones: ONES
SIZE
compulsory keyword
the number of ones that you would like to create
=100 The ONES action with label @0_ones calculates a single scalar value@0: MATRIX_VECTOR_PRODUCT
ARG
the input for this action is the scalar output from one or more other actions.
=@0_wvfunc,@0_onesThe MATRIX_VECTOR_PRODUCT action with label @0 calculates a single scalar value@0_denom: MATRIX_VECTOR_PRODUCT
ARG
the input for this action is the scalar output from one or more other actions.
=@0_mat.w,@0_onesThe MATRIX_VECTOR_PRODUCT action with label @0_denom calculates a single scalar value@0_n: CUSTOM
ARG
the input to this function.
=@0,@0_denom
FUNC
compulsory keyword
the function you wish to evaluate
=x/y
PERIODIC
compulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function.
=NO The CUSTOM action with label @0_n calculates a single scalar value@0_mean: MEAN
ARG
the input to this function.
=@0_n
PERIODIC
compulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function.
=NO The MEAN action with label @0_mean calculates a single scalar value
The following input 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
compulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function.
=NO
FUNC
compulsory keyword
the function you wish to evaluate
=sqrt(x*x+y*y+z*z) The CUSTOM action with label @0_r calculates a single scalar value@0_vfunc: CUSTOM
ARG
the input to this function.
=@0_mat.x,@0_mat.y,@0_mat.z,@0_r
VAR
the names to give each of the arguments in the function.
=x,y,z,r
PERIODIC
compulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function.
=NO
FUNC
compulsory keyword
the function you wish to evaluate
=(x^4+y^4+z^4)/(r^4) The CUSTOM action with label @0_vfunc calculates a single scalar value@0_wvfunc: CUSTOM
ARG
the input to this function.
=@0_vfunc,@0_mat.w
FUNC
compulsory keyword
the function you wish to evaluate
=x*y
PERIODIC
compulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function.
=NO The CUSTOM action with label @0_wvfunc calculates a single scalar value@0_ones: ONES
SIZE
compulsory keyword
the number of ones that you would like to create
=100 The ONES action with label @0_ones calculates a single scalar value@0: MATRIX_VECTOR_PRODUCT
ARG
the input for this action is the scalar output from one or more other actions.
=@0_wvfunc,@0_onesThe MATRIX_VECTOR_PRODUCT action with label @0 calculates a single scalar value@0_denom: MATRIX_VECTOR_PRODUCT
ARG
the input for this action is the scalar output from one or more other actions.
=@0_mat.w,@0_onesThe MATRIX_VECTOR_PRODUCT action with label @0_denom calculates a single scalar value@0_n: CUSTOM
ARG
the input to this function.
=@0,@0_denom
FUNC
compulsory keyword
the function you wish to evaluate
=x/y
PERIODIC
compulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function.
=NO The CUSTOM action with label @0_n calculates a single scalar value@0_mt: MORE_THAN
ARG
the input to this function.
=@0_n
SWITCH
This keyword is used if you want to employ an alternative to the continuous swiching
function defined above.
=RATIONAL,R_0=0.8,NN=6,MM=12,D_0=0 The MORE_THAN action with label @0_mt
Glossary of keywords and components
Description of components
Quantity
Keyword
Description
lessthan
LESS_THAN
the number of colvars that have a value less than a threshold
morethan
MORE_THAN
the number of colvars that have a value more than a threshold
altmin
ALT_MIN
the minimum value of the cv
min
MIN
the minimum colvar
max
MAX
the maximum colvar
between
BETWEEN
the number of colvars that have a value that lies in a particular interval
highest
HIGHEST
the largest of the colvars
lowest
LOWEST
the smallest of the colvars
sum
SUM
the sum of the colvars
mean
MEAN
the mean of the colvars
The atoms involved can be specified using
SPECIES
this keyword is used for colvars such as coordination number. In that context it specifies that plumed should calculate one coordination number for each of the atoms specified. Each of these coordination numbers specifies how many of the other specified atoms are within a certain cutoff of the central atom. You can specify the atoms here as another multicolvar action or using a MultiColvarFilter or ActionVolume action. When you do so the quantity is calculated for those atoms specified in the previous multicolvar. This is useful if you would like to calculate the Steinhardt parameter for those atoms that have a coordination number more than four for example
Or alternatively by using
SPECIESA
this keyword is used for colvars such as the coordination number. In that context it species that plumed should calculate one coordination number for each of the atoms specified in SPECIESA. Each of these cooordination numbers specifies how many of the atoms specifies using SPECIESB is within the specified cutoff. As with the species keyword the input can also be specified using the label of another multicolvar
SPECIESB
this keyword is used for colvars such as the coordination number. It must appear with SPECIESA. For a full explanation see the documentation for that keyword
Compulsory keywords
NN
( default=6 ) The n parameter of the switching function
MM
( default=0 ) The m parameter of the switching function; 0 implies 2*NN
D_0
( default=0.0 ) The d_0 parameter of the switching function
R_0
The r_0 parameter of the switching function
FUNCTION
the function of the bond vectors that you would like to evaluate
PHI
( default=0.0 ) The Euler rotational angle phi
THETA
( default=0.0 ) The Euler rotational angle theta
PSI
( default=0.0 ) The Euler rotational angle psi
ALPHA
( default=3.0 ) The alpha parameter of the angular function that is used for FCCUBIC
Options
HIGHEST
( default=off ) this flag allows you to recover the highest of these variables.
LOWEST
( default=off ) this flag allows you to recover the lowest of these variables.
SUM
( default=off ) calculate the sum of all the quantities.
MEAN
( default=off ) calculate the mean of all the quantities.
LOWMEM
( default=off ) this flag does nothing and is present only to ensure back-compatibility
SWITCH
the switching function that it used in the construction of the contact matrix
LESS_THAN
calculate the number of variables that are less than a certain target value. This quantity is calculated using \(\sum_i \sigma(s_i)\), where \(\sigma(s)\) is a switchingfunction.. You can use multiple instances of this keyword i.e. LESS_THAN1, LESS_THAN2, LESS_THAN3...
MORE_THAN
calculate the number of variables that are more than a certain target value. This quantity is calculated using \(\sum_i 1 - \sigma(s_i)\), where \(\sigma(s)\) is a switchingfunction.. You can use multiple instances of this keyword i.e. MORE_THAN1, MORE_THAN2, MORE_THAN3...
ALT_MIN
calculate the minimum value. To make this quantity continuous the minimum is calculated using \( \textrm{min} = -\frac{1}{\beta} \log \sum_i \exp\left( -\beta s_i \right) \) The value of \(\beta\) in this function is specified using (BETA= \(\beta\)).
MIN
calculate the minimum value. To make this quantity continuous the minimum is calculated using \( \textrm{min} = \frac{\beta}{ \log \sum_i \exp\left( \frac{\beta}{s_i} \right) } \) The value of \(\beta\) in this function is specified using (BETA= \(\beta\))
MAX
calculate the maximum value. To make this quantity continuous the maximum is calculated using \( \textrm{max} = \beta \log \sum_i \exp\left( \frac{s_i}{\beta}\right) \) The value of \(\beta\) in this function is specified using (BETA= \(\beta\))
BETWEEN
calculate the number of values that are within a certain range. These quantities are calculated using kernel density estimation as described on histogrambead.. You can use multiple instances of this keyword i.e. BETWEEN1, BETWEEN2, BETWEEN3...
HISTOGRAM
calculate a discretized histogram of the distribution of values. This shortcut allows you to calculates NBIN quantites like BETWEEN.