| Module |
symfunc |
| Description |
Usage |
| Calculate averages over spherical regions centered on atoms |
  |
| output value |
type |
| the values of the local averages |
vector |
Details and examples
Calculate averages over spherical regions centered on atoms
As is explained in this video certain PLUMED actions
calculate one scalar quantity or one vector for each of the atoms in the system. For example
COORDINATIONNUMBER measures the coordination number of each of the atoms in the system and Q4 measures
the 4th order Steinhardt parameter for each of the atoms in the system. These quantities provide tell us something about
the disposition of the atoms in the first coordination sphere of each of the atoms of interest. In the paper in the bibliography Lechner and Dellago
have suggested that one can probe local order in a system by taking the average value of such symmetry functions over
the atoms within a spherical cutoff of each of these atoms in the systems. When this is done with Steinhardt parameters
they claim this gives a coordinate that is better able to distinguish solid and liquid configurations of Lennard-Jones atoms.
You can calculate such locally averaged quantities within plumed by using the LOCAL_AVERAGE command. This command calculates
the following atom-centered quantities:
where the and values can be any vector of symmetry functions
that can be calculated using plumed multicolvars. The function is a switching function that acts on the distance between
atoms and . Lechner and Dellago suggest that the parameters of this function should be set so that it the function is equal to one
when atom is in the first coordination sphere of atom and is zero otherwise.
To see how this works in practice consider the following example input.
This input calculates the coordination numbers for all the atoms in the system. These coordination numbers are then averaged over
spherical regions. The number of averaged coordination numbers that are greater than 4 is then output to a file. Furthermore, if you
expand the input above you can see how the LOCAL_AVERAGE command is a shortcut action that expands to a longer input that you should be able to
interpret.
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:
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.
Locally averaged Steinhardt Parameters
What Lechner and Dellago did in their paper was a little more complicated than the example in the previous section. To reproduce what they did you would use
an input something like this:
q4The Q4 action with label q4 calculates the following quantities:| Quantity | Type | Description |
| q4 | vector | the norms of the vectors of spherical harmonic coefficients |
: Q4Calculate fourth order Steinhardt parameters. This action is a shortcut. 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=1.3 R_0=0.2}
# q4: Q4 SPECIES=1-64 SWITCH={RATIONAL D_0=1.3 R_0=0.2}
q4_grpThe GROUP action with label q4_grp calculates the following quantities:| Quantity | Type | Description |
| q4_grp | atoms | indices of atoms specified in GROUP |
: GROUPDefine a group of atoms so that a particular list of atoms can be referenced with a single label in definitions of CVs or virtual atoms. More details ATOMSthe numerical indexes for the set of atoms in the group=1-64
q4_matThe CONTACT_MATRIX action with label q4_mat calculates the following quantities:| Quantity | Type | Description |
| q4_mat.w | matrix | a matrix containing the weights for the bonds between each pair of atoms |
| q4_mat.x | matrix | the projection of the bond on the x axis |
| q4_mat.y | matrix | the projection of the bond on the y axis |
| q4_mat.z | matrix | the projection of the bond on the z axis |
: CONTACT_MATRIXAdjacency matrix in which two atoms are adjacent if they are within a certain cutoff. More details GROUPspecifies the list of atoms that should be assumed indistinguishable=1-64 SWITCHthe input for the switching function that acts upon the distance between each pair of atoms. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL D_0=1.3 R_0=0.2} COMPONENTS also calculate the components of the vector connecting the atoms in the contact matrix
q4_shThe SPHERICAL_HARMONIC action with label q4_sh calculates the following quantities:| Quantity | Type | Description |
| q4_sh.rm-n4 | matrix | the real parts of the spherical harmonic values with the m value given This is the n4th of these quantities |
| q4_sh.rm-n3 | matrix | the real parts of the spherical harmonic values with the m value given This is the n3th of these quantities |
| q4_sh.rm-n2 | matrix | the real parts of the spherical harmonic values with the m value given This is the n2th of these quantities |
| q4_sh.rm-n1 | matrix | the real parts of the spherical harmonic values with the m value given This is the n1th of these quantities |
| q4_sh.rm-0 | matrix | the real parts of the spherical harmonic values with the m value given This is the 0th of these quantities |
| q4_sh.rm-p1 | matrix | the real parts of the spherical harmonic values with the m value given This is the p1th of these quantities |
| q4_sh.rm-p2 | matrix | the real parts of the spherical harmonic values with the m value given This is the p2th of these quantities |
| q4_sh.rm-p3 | matrix | the real parts of the spherical harmonic values with the m value given This is the p3th of these quantities |
| q4_sh.rm-p4 | matrix | the real parts of the spherical harmonic values with the m value given This is the p4th of these quantities |
| q4_sh.im-n4 | matrix | the real parts of the spherical harmonic values with the m value given This is the n4th of these quantities |
| q4_sh.im-n3 | matrix | the real parts of the spherical harmonic values with the m value given This is the n3th of these quantities |
| q4_sh.im-n2 | matrix | the real parts of the spherical harmonic values with the m value given This is the n2th of these quantities |
| q4_sh.im-n1 | matrix | the real parts of the spherical harmonic values with the m value given This is the n1th of these quantities |
| q4_sh.im-0 | matrix | the real parts of the spherical harmonic values with the m value given This is the 0th of these quantities |
| q4_sh.im-p1 | matrix | the real parts of the spherical harmonic values with the m value given This is the p1th of these quantities |
| q4_sh.im-p2 | matrix | the real parts of the spherical harmonic values with the m value given This is the p2th of these quantities |
| q4_sh.im-p3 | matrix | the real parts of the spherical harmonic values with the m value given This is the p3th of these quantities |
| q4_sh.im-p4 | matrix | the real parts of the spherical harmonic values with the m value given This is the p4th of these quantities |
: SPHERICAL_HARMONICCalculate the values of all the spherical harmonic funtions for a particular value of l. More details ARGthe values input to this function=q4_mat.x,q4_mat.y,q4_mat.z,q4_mat.w Lthe value of the angular momentum=4
q4_denom_onesThe CONSTANT action with label q4_denom_ones calculates the following quantities:| Quantity | Type | Description |
| q4_denom_ones | vector | the constant value that was read from the plumed input |
: ONESCreate a constant vector with all elements equal to one More details SIZEthe number of ones that you would like to create=64
q4_denomThe MATRIX_VECTOR_PRODUCT action with label q4_denom calculates the following quantities:| Quantity | Type | Description |
| q4_denom | vector | the vector that is obtained by taking the product between the matrix and the vector that were input |
: MATRIX_VECTOR_PRODUCTCalculate the product of the matrix and the vector More details ARGthe label for the matrix and the vector/scalar that are being multiplied=q4_mat.w,q4_denom_ones
q4_spThe MATRIX_VECTOR_PRODUCT action with label q4_sp calculates the following quantities:| Quantity | Type | Description |
| q4_sp.rm-n4 | vector | the product of the matrix q4_sh.rm-n4 and the vector q4_denom_ones |
| q4_sp.rm-n3 | vector | the product of the matrix q4_sh.rm-n3 and the vector q4_denom_ones |
| q4_sp.rm-n2 | vector | the product of the matrix q4_sh.rm-n2 and the vector q4_denom_ones |
| q4_sp.rm-n1 | vector | the product of the matrix q4_sh.rm-n1 and the vector q4_denom_ones |
| q4_sp.rm-0 | vector | the product of the matrix q4_sh.rm-0 and the vector q4_denom_ones |
| q4_sp.rm-p1 | vector | the product of the matrix q4_sh.rm-p1 and the vector q4_denom_ones |
| q4_sp.rm-p2 | vector | the product of the matrix q4_sh.rm-p2 and the vector q4_denom_ones |
| q4_sp.rm-p3 | vector | the product of the matrix q4_sh.rm-p3 and the vector q4_denom_ones |
| q4_sp.rm-p4 | vector | the product of the matrix q4_sh.rm-p4 and the vector q4_denom_ones |
| q4_sp.im-n4 | vector | the product of the matrix q4_sh.im-n4 and the vector q4_denom_ones |
| q4_sp.im-n3 | vector | the product of the matrix q4_sh.im-n3 and the vector q4_denom_ones |
| q4_sp.im-n2 | vector | the product of the matrix q4_sh.im-n2 and the vector q4_denom_ones |
| q4_sp.im-n1 | vector | the product of the matrix q4_sh.im-n1 and the vector q4_denom_ones |
| q4_sp.im-0 | vector | the product of the matrix q4_sh.im-0 and the vector q4_denom_ones |
| q4_sp.im-p1 | vector | the product of the matrix q4_sh.im-p1 and the vector q4_denom_ones |
| q4_sp.im-p2 | vector | the product of the matrix q4_sh.im-p2 and the vector q4_denom_ones |
| q4_sp.im-p3 | vector | the product of the matrix q4_sh.im-p3 and the vector q4_denom_ones |
| q4_sp.im-p4 | vector | the product of the matrix q4_sh.im-p4 and the vector q4_denom_ones |
: MATRIX_VECTOR_PRODUCTCalculate the product of the matrix and the vector More details ARGthe label for the matrix and the vector/scalar that are being multiplied=q4_sh.*,q4_denom_ones
q4_norm2The COMBINE action with label q4_norm2 calculates the following quantities:| Quantity | Type | Description |
| q4_norm2 | vector | the vector obtained by doing an element-wise application of a linear combination to the input vectors |
: COMBINECalculate a polynomial combination of a set of other variables. More details PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO POWERS the powers to which you are raising each of the arguments in your function=2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ARGthe values input to this function=q4_sp.rm-n4,q4_sp.im-n4,q4_sp.rm-n3,q4_sp.im-n3,q4_sp.rm-n2,q4_sp.im-n2,q4_sp.rm-n1,q4_sp.im-n1,q4_sp.rm-0,q4_sp.im-0,q4_sp.rm-p1,q4_sp.im-p1,q4_sp.rm-p2,q4_sp.im-p2,q4_sp.rm-p3,q4_sp.im-p3,q4_sp.rm-p4,q4_sp.im-p4
q4_normThe CUSTOM action with label q4_norm calculates the following quantities:| Quantity | Type | Description |
| q4_norm | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_norm2 FUNCthe function you wish to evaluate=sqrt(x) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
q4The CUSTOM action with label q4 calculates the following quantities:| Quantity | Type | Description |
| q4 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_norm,q4_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
# --- End of included input --- laThe LOCAL_AVERAGE action with label la calculates the following quantities:| Quantity | Type | Description |
| la | vector | the values of the local averages |
: LOCAL_AVERAGECalculate averages over spherical regions centered on atoms This action is a shortcut. More details SPECIESthe list of atoms for which the symmetry function is being calculated and the atoms that can be in the environments=q4 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=1.3 R_0=0.2}
# la: LOCAL_AVERAGE SPECIES=q4 SWITCH={RATIONAL D_0=1.3 R_0=0.2}
la_grpThe GROUP action with label la_grp calculates the following quantities:| Quantity | Type | Description |
| la_grp | atoms | indices of atoms specified in GROUP |
: GROUPDefine a group of atoms so that a particular list of atoms can be referenced with a single label in definitions of CVs or virtual atoms. More details ATOMSthe numerical indexes for the set of atoms in the group=q4
la_matThe CONTACT_MATRIX action with label la_mat calculates the following quantities:| Quantity | Type | Description |
| la_mat | matrix | a matrix containing the weights for the bonds between each pair of atoms |
: CONTACT_MATRIXAdjacency matrix in which two atoms are adjacent if they are within a certain cutoff. More details GROUPspecifies the list of atoms that should be assumed indistinguishable=q4 SWITCHthe input for the switching function that acts upon the distance between each pair of atoms. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL D_0=1.3 R_0=0.2}
la_onesThe CONSTANT action with label la_ones calculates the following quantities:| Quantity | Type | Description |
| la_ones | vector | the constant value that was read from the plumed input |
: ONESCreate a constant vector with all elements equal to one More details SIZEthe number of ones that you would like to create=64
la_coordThe MATRIX_VECTOR_PRODUCT action with label la_coord calculates the following quantities:| Quantity | Type | Description |
| la_coord | vector | the vector that is obtained by taking the product between the matrix and the vector that were input |
: MATRIX_VECTOR_PRODUCTCalculate the product of the matrix and the vector More details ARGthe label for the matrix and the vector/scalar that are being multiplied=la_mat,la_ones
q4_rmn-n4The CUSTOM action with label q4_rmn-n4 calculates the following quantities:| Quantity | Type | Description |
| q4_rmn-n4 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.rm-n4,q4_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
q4_imn-n4The CUSTOM action with label q4_imn-n4 calculates the following quantities:| Quantity | Type | Description |
| q4_imn-n4 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.im-n4,q4_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
q4_rmn-n3The CUSTOM action with label q4_rmn-n3 calculates the following quantities:| Quantity | Type | Description |
| q4_rmn-n3 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.rm-n3,q4_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
q4_imn-n3The CUSTOM action with label q4_imn-n3 calculates the following quantities:| Quantity | Type | Description |
| q4_imn-n3 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.im-n3,q4_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
q4_rmn-n2The CUSTOM action with label q4_rmn-n2 calculates the following quantities:| Quantity | Type | Description |
| q4_rmn-n2 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.rm-n2,q4_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
q4_imn-n2The CUSTOM action with label q4_imn-n2 calculates the following quantities:| Quantity | Type | Description |
| q4_imn-n2 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.im-n2,q4_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
q4_rmn-n1The CUSTOM action with label q4_rmn-n1 calculates the following quantities:| Quantity | Type | Description |
| q4_rmn-n1 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.rm-n1,q4_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
q4_imn-n1The CUSTOM action with label q4_imn-n1 calculates the following quantities:| Quantity | Type | Description |
| q4_imn-n1 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.im-n1,q4_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
q4_rmn-0The CUSTOM action with label q4_rmn-0 calculates the following quantities:| Quantity | Type | Description |
| q4_rmn-0 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.rm-0,q4_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
q4_imn-0The CUSTOM action with label q4_imn-0 calculates the following quantities:| Quantity | Type | Description |
| q4_imn-0 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.im-0,q4_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
q4_rmn-p1The CUSTOM action with label q4_rmn-p1 calculates the following quantities:| Quantity | Type | Description |
| q4_rmn-p1 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.rm-p1,q4_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
q4_imn-p1The CUSTOM action with label q4_imn-p1 calculates the following quantities:| Quantity | Type | Description |
| q4_imn-p1 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.im-p1,q4_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
q4_rmn-p2The CUSTOM action with label q4_rmn-p2 calculates the following quantities:| Quantity | Type | Description |
| q4_rmn-p2 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.rm-p2,q4_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
q4_imn-p2The CUSTOM action with label q4_imn-p2 calculates the following quantities:| Quantity | Type | Description |
| q4_imn-p2 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.im-p2,q4_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
q4_rmn-p3The CUSTOM action with label q4_rmn-p3 calculates the following quantities:| Quantity | Type | Description |
| q4_rmn-p3 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.rm-p3,q4_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
q4_imn-p3The CUSTOM action with label q4_imn-p3 calculates the following quantities:| Quantity | Type | Description |
| q4_imn-p3 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.im-p3,q4_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
q4_rmn-p4The CUSTOM action with label q4_rmn-p4 calculates the following quantities:| Quantity | Type | Description |
| q4_rmn-p4 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.rm-p4,q4_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
q4_imn-p4The CUSTOM action with label q4_imn-p4 calculates the following quantities:| Quantity | Type | Description |
| q4_imn-p4 | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=q4_sp.im-p4,q4_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
la_vstackThe VSTACK action with label la_vstack calculates the following quantities:| Quantity | Type | Description |
| la_vstack | matrix | a matrix that contains the input vectors in its columns |
: VSTACKCreate a matrix by stacking vectors together More details ARGthe values that you would like to stack together to construct the output matrix=q4_rmn-n4,q4_imn-n4,q4_rmn-n3,q4_imn-n3,q4_rmn-n2,q4_imn-n2,q4_rmn-n1,q4_imn-n1,q4_rmn-0,q4_imn-0,q4_rmn-p1,q4_imn-p1,q4_rmn-p2,q4_imn-p2,q4_rmn-p3,q4_imn-p3,q4_rmn-p4,q4_imn-p4
la_prodThe MATRIX_VECTOR_PRODUCT action with label la_prod calculates the following quantities:| Quantity | Type | Description |
| la_prod.q4_rmn-n4 | vector | the product of the matrix la_mat and the vector q4_rmn-n4 |
| la_prod.q4_imn-n4 | vector | the product of the matrix la_mat and the vector q4_imn-n4 |
| la_prod.q4_rmn-n3 | vector | the product of the matrix la_mat and the vector q4_rmn-n3 |
| la_prod.q4_imn-n3 | vector | the product of the matrix la_mat and the vector q4_imn-n3 |
| la_prod.q4_rmn-n2 | vector | the product of the matrix la_mat and the vector q4_rmn-n2 |
| la_prod.q4_imn-n2 | vector | the product of the matrix la_mat and the vector q4_imn-n2 |
| la_prod.q4_rmn-n1 | vector | the product of the matrix la_mat and the vector q4_rmn-n1 |
| la_prod.q4_imn-n1 | vector | the product of the matrix la_mat and the vector q4_imn-n1 |
| la_prod.q4_rmn-0 | vector | the product of the matrix la_mat and the vector q4_rmn-0 |
| la_prod.q4_imn-0 | vector | the product of the matrix la_mat and the vector q4_imn-0 |
| la_prod.q4_rmn-p1 | vector | the product of the matrix la_mat and the vector q4_rmn-p1 |
| la_prod.q4_imn-p1 | vector | the product of the matrix la_mat and the vector q4_imn-p1 |
| la_prod.q4_rmn-p2 | vector | the product of the matrix la_mat and the vector q4_rmn-p2 |
| la_prod.q4_imn-p2 | vector | the product of the matrix la_mat and the vector q4_imn-p2 |
| la_prod.q4_rmn-p3 | vector | the product of the matrix la_mat and the vector q4_rmn-p3 |
| la_prod.q4_imn-p3 | vector | the product of the matrix la_mat and the vector q4_imn-p3 |
| la_prod.q4_rmn-p4 | vector | the product of the matrix la_mat and the vector q4_rmn-p4 |
| la_prod.q4_imn-p4 | vector | the product of the matrix la_mat and the vector q4_imn-p4 |
: MATRIX_VECTOR_PRODUCTCalculate the product of the matrix and the vector More details ARGthe label for the matrix and the vector/scalar that are being multiplied=la_mat,q4_rmn-n4,q4_imn-n4,q4_rmn-n3,q4_imn-n3,q4_rmn-n2,q4_imn-n2,q4_rmn-n1,q4_imn-n1,q4_rmn-0,q4_imn-0,q4_rmn-p1,q4_imn-p1,q4_rmn-p2,q4_imn-p2,q4_rmn-p3,q4_imn-p3,q4_rmn-p4,q4_imn-p4
la_vpstackThe VSTACK action with label la_vpstack calculates the following quantities:| Quantity | Type | Description |
| la_vpstack | matrix | a matrix that contains the input vectors in its columns |
: VSTACKCreate a matrix by stacking vectors together More details ARGthe values that you would like to stack together to construct the output matrix=la_prod.q4_rmn-n4,la_prod.q4_imn-n4,la_prod.q4_rmn-n3,la_prod.q4_imn-n3,la_prod.q4_rmn-n2,la_prod.q4_imn-n2,la_prod.q4_rmn-n1,la_prod.q4_imn-n1,la_prod.q4_rmn-0,la_prod.q4_imn-0,la_prod.q4_rmn-p1,la_prod.q4_imn-p1,la_prod.q4_rmn-p2,la_prod.q4_imn-p2,la_prod.q4_rmn-p3,la_prod.q4_imn-p3,la_prod.q4_rmn-p4,la_prod.q4_imn-p4
la_lonesThe CONSTANT action with label la_lones calculates the following quantities:| Quantity | Type | Description |
| la_lones | vector | the constant value that was read from the plumed input |
: ONESCreate a constant vector with all elements equal to one More details SIZEthe number of ones that you would like to create=18
la_unormThe OUTER_PRODUCT action with label la_unorm calculates the following quantities:| Quantity | Type | Description |
| la_unorm | matrix | a matrix containing the outer product of the two input vectors that was obtained using the function that was input |
: OUTER_PRODUCTCalculate the outer product matrix of two vectors More details ARGthe labels of the two vectors from which the outer product is being computed=la_coord,la_lones
la_avThe CUSTOM action with label la_av calculates the following quantities:| Quantity | Type | Description |
| la_av | matrix | the matrix obtained by doing an element-wise application of an arbitrary function to the input matrix |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=la_vpstack,la_vstack,la_unorm FUNCthe function you wish to evaluate=(x+y)/(1+z) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
la_av2The CUSTOM action with label la_av2 calculates the following quantities:| Quantity | Type | Description |
| la_av2 | matrix | the matrix obtained by doing an element-wise application of an arbitrary function to the input matrix |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=la_av FUNCthe function you wish to evaluate=x*x PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
la_2The MATRIX_VECTOR_PRODUCT action with label la_2 calculates the following quantities:| Quantity | Type | Description |
| la_2 | vector | the vector that is obtained by taking the product between the matrix and the vector that were input |
: MATRIX_VECTOR_PRODUCTCalculate the product of the matrix and the vector More details ARGthe label for the matrix and the vector/scalar that are being multiplied=la_av2,la_lones
laThe CUSTOM action with label la calculates the following quantities:| Quantity | Type | Description |
| la | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=la_2 FUNCthe function you wish to evaluate=sqrt(x) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input --- la_meanThe MEAN action with label la_mean calculates the following quantities:| Quantity | Type | Description |
| la_mean | scalar | the MEAN of the elements in the input value |
: MEANCalculate the arithmetic mean of the elements in a vector More details ARGthe vector/matrix/grid whose elements shuld be added together=la 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=la_mean FILEthe name of the file on which to output these quantities=colvar
This example input calculates the Q4 vectors for each of the atoms in the system. These vectors are then averaged
component by component over a spherical region. The average value for this quantity is then outputeed to a file. If you want
to understand more about the shortcut that is used here you can read this page.
Using SPECIESA/SPECIESB
If you only want to calculate the local averages for a subset of the atoms you might use an input like the one shown below:
In the input above the local averages are computed for atoms 1-5 only. However, to calculate these local averages we still need to calculate the coordination numbers of all
the atoms in the system.
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 PLUMED the atoms for which you do not need to calculate the function. As illustrated below, this is useful if you are using functionality
from the volumes module to calculate the average value of the local averages for only those atoms that
lie in a certain part of the simulation box.
This input calculates the average value of the local average for those atoms that are within a spherical region that is centered on the point .
By including the MASK keyword in the LOCAL_AVERAGE line we reduce the number of local averages that are computed. These quantities are only calculated for those
atoms that are within the spherical region of interest. However, we are still asking PLUMED to calculate the coordination numbers for many atoms that
will not contribute to the final averaged quantity in the COORDINATIONNUMBER commmand with label cc. If you use an input like the one shown below you can ensure
that only those coordiantion numbers that compute to the final average are computed.
centerThe FIXEDATOM action with label center calculates the following quantities:| Quantity | Type | Description |
| center | atoms | virtual atom calculated by FIXEDATOM action |
: 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
center: FIXEDATOMAdd a virtual atom in a fixed position. This action uses the defaults shown here. More details ATcoordinates of the virtual atom=2.5,2.5,2.5 SET_MASS mass of the virtual atom=1 SET_CHARGE charge of the virtual atom=0
sphereThe INSPHERE action with label sphere calculates the following quantities:| Quantity | Type | Description |
| sphere | vector | vector of numbers between 0 and 1 that measure the degree to which each atom is within the volume of interest |
: 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}
onesThe ONES action with label ones calculates the following quantities:| Quantity | Type | Description |
| ones | vector | a vector of ones with the required number of elements |
: ONESCreate a constant vector with all elements equal to one This action is a shortcut. More details SIZEthe number of ones that you would like to create=400
# ones: ONES SIZE=400
onesThe CONSTANT action with label ones calculates the following quantities:| Quantity | Type | Description |
| ones | vector | the constant value that was read from the plumed input |
: CONSTANTCreate a constant value that can be passed to actions More details NOLOG do not report all the read in scalars in the log VALUESthe numbers that are in your constant value=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
# --- End of included input ---
vol_cmapThe CONTACT_MATRIX action with label vol_cmap calculates the following quantities:| Quantity | Type | Description |
| vol_cmap | matrix | a matrix containing the weights for the bonds between each pair of atoms |
: CONTACT_MATRIXAdjacency matrix in which two atoms are adjacent if they are within a certain cutoff. More details GROUPspecifies the list of atoms that should be assumed indistinguishable=1-400 SWITCHthe input for the switching function that acts upon the distance between each pair of atoms. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL D_0=1.3 R_0=0.2 D_MAX=3.0} MASKa vector that is used to used to determine which rows of the adjancency matrix to compute=sphere
sphere_matThe OUTER_PRODUCT action with label sphere_mat calculates the following quantities:| Quantity | Type | Description |
| sphere_mat | matrix | a matrix containing the outer product of the two input vectors that was obtained using the function that was input |
: OUTER_PRODUCTCalculate the outer product matrix of two vectors This action has hidden defaults. More details ARGthe labels of the two vectors from which the outer product is being computed=sphere,ones MASKa matrix that is used to used to determine which elements of the output matrix to compute=vol_cmap
sphere_mat: OUTER_PRODUCTCalculate the outer product matrix of two vectors This action uses the defaults shown here. More details ARGthe labels of the two vectors from which the outer product is being computed=sphere,ones MASKa matrix that is used to used to determine which elements of the output matrix to compute=vol_cmap FUNC the function of the input vectors that should be put in the elements of the outer product=x*y
bonds_matThe CUSTOM action with label bonds_mat calculates the following quantities:| Quantity | Type | Description |
| bonds_mat | matrix | the matrix obtained by doing an element-wise application of an arbitrary function to the input matrix |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=vol_cmap,sphere_mat 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
bonds_matTThe TRANSPOSE action with label bonds_matT calculates the following quantities:| Quantity | Type | Description |
| bonds_matT | matrix | the transpose of the input matrix |
: TRANSPOSECalculate the transpose of a matrix More details ARGthe label of the vector or matrix that should be transposed=bonds_mat
bondsThe MATRIX_VECTOR_PRODUCT action with label bonds calculates the following quantities:| Quantity | Type | Description |
| bonds | vector | the vector that is obtained by taking the product between the matrix and the vector that were input |
: MATRIX_VECTOR_PRODUCTCalculate the product of the matrix and the vector More details ARGthe label for the matrix and the vector/scalar that are being multiplied=bonds_matT,sphere
maskThe CUSTOM action with label mask calculates the following quantities:| Quantity | Type | Description |
| mask | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=bonds,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
ccThe COORDINATIONNUMBER action with label cc calculates the following quantities:| Quantity | Type | Description |
| cc | vector | the coordination numbers of the specified atoms |
: COORDINATIONNUMBERCalculate the coordination numbers of atoms so that you can then calculate functions of the distribution of This action is a shortcut. 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 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=1.3 R_0=0.2 D_MAX=3.0} MASKthe label for a vector that is used to determine which rows of the matrix are computed=mask
# cc: COORDINATIONNUMBER SPECIES=1-400 SWITCH={RATIONAL D_0=1.3 R_0=0.2 D_MAX=3.0} MASK=mask
cc_grpThe GROUP action with label cc_grp calculates the following quantities:| Quantity | Type | Description |
| cc_grp | atoms | indices of atoms specified in GROUP |
: GROUPDefine a group of atoms so that a particular list of atoms can be referenced with a single label in definitions of CVs or virtual atoms. More details ATOMSthe numerical indexes for the set of atoms in the group=1-400
cc_matThe CONTACT_MATRIX action with label cc_mat calculates the following quantities:| Quantity | Type | Description |
| cc_mat | matrix | a matrix containing the weights for the bonds between each pair of atoms |
: CONTACT_MATRIXAdjacency matrix in which two atoms are adjacent if they are within a certain cutoff. More details GROUPspecifies the list of atoms that should be assumed indistinguishable=1-400 SWITCHthe input for the switching function that acts upon the distance between each pair of atoms. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL D_0=1.3 R_0=0.2 D_MAX=3.0} MASKa vector that is used to used to determine which rows of the adjancency matrix to compute=mask
cc_onesThe CONSTANT action with label cc_ones calculates the following quantities:| Quantity | Type | Description |
| cc_ones | vector | the constant value that was read from the plumed input |
: ONESCreate a constant vector with all elements equal to one More details SIZEthe number of ones that you would like to create=400
ccThe MATRIX_VECTOR_PRODUCT action with label cc calculates the following quantities:| Quantity | Type | Description |
| cc | vector | the vector that is obtained by taking the product between the matrix and the vector that were input |
: MATRIX_VECTOR_PRODUCTCalculate the product of the matrix and the vector More details ARGthe label for the matrix and the vector/scalar that are being multiplied=cc_mat,cc_ones
# --- End of included input ---
lccThe LOCAL_AVERAGE action with label lcc calculates the following quantities:| Quantity | Type | Description |
| lcc | vector | the values of the local averages |
: LOCAL_AVERAGECalculate averages over spherical regions centered on atoms This action is a shortcut. More details SPECIESthe list of atoms for which the symmetry function is being calculated and the atoms that can be in the environments=cc 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=1.3 R_0=0.2 D_MAX=3.0} MASKthe label for a vector that is used to determine which rows of the matrix are computed=sphere
# lcc: LOCAL_AVERAGE SPECIES=cc SWITCH={RATIONAL D_0=1.3 R_0=0.2 D_MAX=3.0} MASK=sphere
lcc_grpThe GROUP action with label lcc_grp calculates the following quantities:| Quantity | Type | Description |
| lcc_grp | atoms | indices of atoms specified in GROUP |
: GROUPDefine a group of atoms so that a particular list of atoms can be referenced with a single label in definitions of CVs or virtual atoms. More details ATOMSthe numerical indexes for the set of atoms in the group=cc
lcc_matThe CONTACT_MATRIX action with label lcc_mat calculates the following quantities:| Quantity | Type | Description |
| lcc_mat | matrix | a matrix containing the weights for the bonds between each pair of atoms |
: CONTACT_MATRIXAdjacency matrix in which two atoms are adjacent if they are within a certain cutoff. More details GROUPspecifies the list of atoms that should be assumed indistinguishable=cc SWITCHthe input for the switching function that acts upon the distance between each pair of atoms. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL D_0=1.3 R_0=0.2 D_MAX=3.0} MASKa vector that is used to used to determine which rows of the adjancency matrix to compute=sphere
lcc_onesThe CONSTANT action with label lcc_ones calculates the following quantities:| Quantity | Type | Description |
| lcc_ones | vector | the constant value that was read from the plumed input |
: ONESCreate a constant vector with all elements equal to one More details SIZEthe number of ones that you would like to create=400
lcc_coordThe MATRIX_VECTOR_PRODUCT action with label lcc_coord calculates the following quantities:| Quantity | Type | Description |
| lcc_coord | vector | the vector that is obtained by taking the product between the matrix and the vector that were input |
: MATRIX_VECTOR_PRODUCTCalculate the product of the matrix and the vector More details ARGthe label for the matrix and the vector/scalar that are being multiplied=lcc_mat,lcc_ones
lcc_prodThe MATRIX_VECTOR_PRODUCT action with label lcc_prod calculates the following quantities:| Quantity | Type | Description |
| lcc_prod | vector | the vector that is obtained by taking the product between the matrix and the vector that were input |
: MATRIX_VECTOR_PRODUCTCalculate the product of the matrix and the vector More details ARGthe label for the matrix and the vector/scalar that are being multiplied=lcc_mat,cc
lccThe CUSTOM action with label lcc calculates the following quantities:| Quantity | Type | Description |
| lcc | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=lcc_prod,cc,lcc_coord FUNCthe function you wish to evaluate=(x+y)/(1+z) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input ---
prodThe CUSTOM action with label prod calculates the following quantities:| Quantity | Type | Description |
| prod | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=lcc,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
numerThe SUM action with label numer calculates the following quantities:| Quantity | Type | Description |
| numer | scalar | the SUM of the elements in the input value |
: 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
denomThe SUM action with label denom calculates the following quantities:| Quantity | Type | Description |
| denom | scalar | the SUM of the elements in the input value |
: 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
avThe CUSTOM action with label av calculates the following quantities:| Quantity | Type | Description |
| av | scalar | an arbitrary function |
: 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
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
In the above input the only elements of the CONTACT_MATRIX with label vol_cmap that are non-zero are those that are bonded to one of the atoms
in the sphere of interest. By transposing this matrix and multiplying by a vector of ones we thus get a vector with a length equal to total number of coordination
numbers in the system. The only elements in this vector that are non-zero are those that are bonded to atoms that are within the sphere of interest. Consequently,
if we add the vector sphere to this we can a vector in which element is only non-zero if we have to calculate that coordination number to evaluate the final
quantity of interest.
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 |
| 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 |
References
More information about how this action can be used is available in the following articles: