Shortcut: SMAC
| Module | symfunc |
|---|---|
| Description | Usage |
| Calculate the SMAC order parameter for a set of molecules | |
| output value | type |
| the value of the smac parameter for each of the input molecules | vector |
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 and by calculating the torsional angle, , between the two molecular orientations around the vector connecting the centers of mass of the two molecules. The value of the molecular order parameter for molecule is thus calculated as:
In this expression is a switching function that acts on the distance between the centers of mass of molecules and . is thus the number of molecules that are within a certain cutoff of molecule 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. is then a kernel function with bandwidth that is centered at . The function above is thus only large if molecule is surrounded by molecules whose relative orientations are as the user has requested by specifying parameters.
The following example illustrates how the SMAC order parameter in PLUMED is used:
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 vectors in the above expression are calculated. The sum over 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 is calculated. The elements of this vector are transformed by a switching function that is one if the value is larger than 0.7. The eight elements of the resulting vector of transformed 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.
Working with two types of molecule
You can use two different sets of vectors in the input to this action as shown below:
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 COMPONENTS calculate the x, y and z components of the distance separately and store them as label ...
m4: 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=1521,1522 LOCATION1the location at which the CV is assumed to be in space=1521 ATOMS2the pairs of atoms that you would like to calculate the angles for=1593,1594 LOCATION2the location at which the CV is assumed to be in space=1593 ATOMS3the pairs of atoms that you would like to calculate the angles for=1601,1602 LOCATION3the location at which the CV is assumed to be in space=1601 ATOMS4the pairs of atoms that you would like to calculate the angles for=2201,2202 LOCATION4the 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 SPECIESAthe label of the DISTANCES or PLANES action that computes the orientations of the molecules for which you would like to compute SMAC=m3 SPECIESBthe label of the DISTANCES or PLANES action that computes the orientations of the molecules that should be considered as part of the coordination sphere=m4 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
In this input the values defined using the equation above is evaluated for the four vectors that are specified in the DISTANCE action with label m3. In evaluating the sum in that expression
we run over the four vectors that are specified in the action with label m4 above.
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 | 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. |
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 |
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)