Shortcut: SMAC

Module symfunc
Description Usage
Calculate the SMAC order parameter for a set of molecules used in 0 tutorialsused in 1 eggs
output value type
the value of the smac parameter for each of the input molecules 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

Further details and examples

Calculate the SMAC order parameter for a set of molecules

This shortcut action provides a quantity that can be thought of as a symmetry function for molecules. You can thus use it to detect whether the molecules in a sample are ordered in the way that they would expect to be ordered in the crystal. If you are using this CV you normally use the COM command to define centers of mass for your molecules and the DISTANCE or PLANE command to define each molecules orientation. You can thus calculate the relative orientation molecules i and j by calculating the torsional angle, θij, between the two molecular orientations around the vector rij connecting the centers of mass of the two molecules. The value of the molecular order parameter for molecule i is thus calculated as:

si=frac1γ(ci)cijσ(|rij|)kK(θijϕkb)whereci=jσ(|rij|)

In this expression σ is a switching function that acts on the distance between the centers of mass of molecules i and j. ci is thus the number of molecules that are within a certain cutoff of molecule i and γ is another switching function that acts upon this quantity. This switching function ensures that the symmetry function is zero for atoms that are regions where the density of molecules are low. K is then a kernel function with bandwidth b that is centered at ϕk. The function above is thus only large if molecule i is surrounded by molecules whose relative orientations are as the user has requested by specifying ϕk parameters.

The following example illustrates how the SMAC order parameter in PLUMED is used:

Click on the labels of the actions for more information on what each action computes
tested on2.11
m3: DISTANCESCalculate the distances between multiple piars of atoms This action is a shortcut. More details ...
   ATOMS1the pairs of atoms that you would like to calculate the angles for=9,10 LOCATION1the location at which the CV is assumed to be in space=9
   ATOMS2the pairs of atoms that you would like to calculate the angles for=89,90 LOCATION2the location at which the CV is assumed to be in space=89
   ATOMS3the pairs of atoms that you would like to calculate the angles for=473,474 LOCATION3the location at which the CV is assumed to be in space=473
   ATOMS4the pairs of atoms that you would like to calculate the angles for=1161,1162 LOCATION4the location at which the CV is assumed to be in space=1161
   ATOMS5the pairs of atoms that you would like to calculate the angles for=1521,1522 LOCATION5the location at which the CV is assumed to be in space=1521
   ATOMS6the pairs of atoms that you would like to calculate the angles for=1593,1594 LOCATION6the location at which the CV is assumed to be in space=1593
   ATOMS7the pairs of atoms that you would like to calculate the angles for=1601,1602 LOCATION7the location at which the CV is assumed to be in space=1601
   ATOMS8the pairs of atoms that you would like to calculate the angles for=2201,2202 LOCATION8the location at which the CV is assumed to be in space=2201
   COMPONENTS calculate the x, y and z components of the distance separately and store them as label
...

s2: SMACCalculate the SMAC order parameter for a set of molecules This action is a shortcut. More details SPECIESthe label of the DISTANCES or PLANES action that computes the orientations of the molecules for which you would like to compute SMAC=m3 KERNEL1The kernels used in the function of the angle={GAUSSIAN CENTER=0 SIGMA=0.480} KERNEL2The kernels used in the function of the angle={GAUSSIAN CENTER=pi SIGMA=0.480} SWITCHThis keyword is used if you want to employ an alternative to the continuous swiching function defined above. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL R_0=0.6} 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.7} SWITCH_COORDThis keyword is used to define the coordination switching function. Options for this keyword are explained in the documentation for LESS_THAN.={EXP R_0=4}
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=s2_morethan FILEthe name of the file on which to output these quantities=colvar

Here the orientations of the molecules are specified by calculating the vectors connecting pairs of atoms in the molecules. The LOCATION keywords in the distance command are used to specify the positions of the molecules from which the rij vectors in the above expression are calculated. The sum over k in the above expression has two terms corresponding to the two Gaussian kernels that have been specified using KERNEL keywords. The SWITCH keyword has been used to specify the parameters of the switching function σ, while the SWITCH_COORD keyword has been used to specify the parameters of the switching function γ.

A vector of 8 values for si is calculated. The elements of this vector are transformed by a switching function that is one if the si value is larger than 0.7. The eight elements of the resulting vector of transformed si are then added together to determine the final quantity that is output to the colvar file.

Incidentally, the authors who designed the SMAC symmetry function have forgotten what the letters in this acronym stand for.

References

More information about how this action can be used is available in the following articles: - F. Giberti, M. Salvalaglio, M. Mazzotti, M. Parrinello, Insight into the nucleation of urea crystals from the melt. Chemical Engineering Science. 121, 51–59 (2015) - G. A. Tribello, F. Giberti, G. C. Sosso, M. Salvalaglio, M. Parrinello, Analyzing and Driving Cluster Formation in Atomistic Simulations. Journal of Chemical Theory and Computation. 13, 1317–1327 (2017)

Syntax

The following table describes the keywords and options that can be used with this action

Keyword Type Default Description
SPECIES optional not used the label of the DISTANCES or PLANES action that computes the orientations of the molecules for which you would like to compute SMAC
SPECIESA optional not used the label of the DISTANCES or PLANES action that computes the orientations of the molecules for which you would like to compute SMAC
SPECIESB optional not used the label of the DISTANCES or PLANES action that computes the orientations of the molecules that should be considered as part of the coordination sphere
SWITCH optional not used This keyword is used if you want to employ an alternative to the continuous swiching function defined above. Options for this keyword are explained in the documentation for LESS_THAN.
KERNEL optional not used The kernels used in the function of the angle
SWITCH_COORD optional not used This keyword is used to define the coordination switching function. 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