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 the local degree of order around an atoms by taking the average dot product between the \(q_6\) vector on the central atom and the \(q_6\) vector on the atoms in the first coordination sphere.
The Q6 command allows one to calculate one complex vectors for each of the atoms in your system that describe the degree of order in the coordination sphere around a particular atom. The difficulty with these vectors comes when combining the order parameters from all of the individual atoms/molecules so as to get a measure of the global degree of order for the system. The simplest way of doing this - calculating the average Steinhardt parameter - can be problematic. If one is examining nucleation say only the order parameters for those atoms in the nucleus will change significantly when the nucleus forms. The order parameters for the atoms in the surrounding liquid will remain pretty much the same. As such if one models a small nucleus embedded in a very large amount of solution/melt any change in the average order parameter will be negligible. Substantial changes in the value of this average can be observed in simulations of nucleation but only because the number of atoms is relatively small.
When the average Q6 parameter is used to bias the dynamics a problems can occur. These averaged coordinates cannot distinguish between the correct, single-nucleus pathway and a concerted pathway in which all the atoms rearrange themselves into their solid-like configuration simultaneously. This second type of pathway would be impossible in reality because there is a large entropic barrier that prevents concerted processes like this from happening. However, in the finite sized systems that are commonly simulated this barrier is reduced substantially. As a result in simulations where average Steinhardt parameters are biased there are often quite dramatic system size effects
If one wants to simulate nucleation using some form on biased dynamics what is really required is an order parameter that measures:
Whether or not the coordination spheres around atoms are ordered
Whether or not the atoms that are ordered are clustered together in a crystalline nucleus
LOCAL_AVERAGE and NLINKS are variables that can be combined with the Steinhardt parameters allow to calculate variables that satisfy these requirements. LOCAL_Q6 is another variable that can be used in these sorts of calculations. The LOCAL_Q6 parameter for a particular atom is a number that measures the extent to which the orientation of the atoms in the first coordination sphere of an atom match the orientation of the central atom. It does this by calculating the following quantity for each of the atoms in the system:
where \(q_{6m}(i)\) and \(q_{6m}(j)\) are the sixth order Steinhardt vectors calculated for atom \(i\) and atom \(j\) respectively and the asterisk denotes complex conjugation. The function \(\sigma( r_{ij} )\) is a switchingfunction that acts on the distance between atoms \(i\) and \(j\). The parameters of this function should be set so that it the function is equal to one when atom \(j\) is in the first coordination sphere of atom \(i\) and is zero otherwise. The sum in the numerator of this expression is the dot product of the Steinhardt parameters for atoms \(i\) and \(j\) and thus measures the degree to which the orientations of these adjacent atoms is correlated.
Examples
The following command calculates the average value of the LOCAL_Q6 parameter for the 64 Lennard Jones atoms in the system under study and prints this quantity to a file called colvar.
Click on the labels of the actions for more information on what each action computes
the numerical indexes for the set of atoms in the group.
=1-64 The GROUP action with label q6_grp defines a group of atoms so that they can be referred to later in the inputq6_mat: CONTACT_MATRIX
GROUP
specifies the list of atoms that should be assumed indistinguishable.
=1-64
R_0
could not find this keyword
=0.2
D_0
could not find this keyword
=1.3
NN
compulsory keyword ( default=6 )
The n parameter of the switching function
=6
MM
compulsory keyword ( default=0 )
The m parameter of the switching function; 0 implies 2*NN
=0
COMPONENTS
( default=off ) also calculate the components of the vector connecting the atoms
in the contact matrix
The CONTACT_MATRIX action with label q6_mat calculates the following quantities:
Quantity
Description
q6_mat.w
The following calculates the LOCAL_Q6 parameters for atoms 1-5 only. For each of these atoms comparisons of the geometry of the coordination sphere are done with those of all the other atoms in the system. The final quantity is the average and is outputted to a file
Click on the labels of the actions for more information on what each action computes
the numerical indexes for the set of atoms in the group.
=1-5 The GROUP action with label q6a_grp defines a group of atoms so that they can be referred to later in the inputq6a_mat: CONTACT_MATRIX
GROUPA
.
=1-5
GROUPB
.
=1-64
R_0
could not find this keyword
=0.2
D_0
could not find this keyword
=1.3
NN
compulsory keyword ( default=6 )
The n parameter of the switching function
=6
MM
compulsory keyword ( default=0 )
The m parameter of the switching function; 0 implies 2*NN
=0
COMPONENTS
( default=off ) also calculate the components of the vector connecting the atoms
in the contact matrix
The CONTACT_MATRIX action with label q6a_mat calculates the following quantities:
Quantity
Description
q6a_mat.w
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
Options
LOWMEM
( default=off ) this flag does nothing and is present only to ensure back-compatibility
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.
SPECIES
SPECIESA
SPECIESB
SWITCH
This keyword is used if you want to employ an alternative to the continuous swiching function defined above. The following provides information on the switchingfunction that are available. When this keyword is present you no longer need the NN, MM, D_0 and R_0 keywords.
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.