the value of the cylindrical harmonic for each bond vector specified
matrix
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
_vmean
scalar
VMEAN
the norm of the mean vector
_vsum
scalar
VSUM
the norm of the mean vector
Input
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
Further details and examples
Calculate the hexatic order parameter
This symmetry function can be used to understand phase transitions in two dimensional systems.
The symmetry function for atom k is calculated using:
sk=|∑jσ(rkj)e6iθj∑jσ(rkj)|
In this expression, the sum run over all the atoms of interest and rkj is the distance between atom k and atom j and σ is
a switching function that acts upon this distance. θj is the angle between either the x, y or z axis and the bond connecting
atom k and atom j. This angle is multiplied by the imaginary number i - the square root of minus one. In the code, we thus calculate
eiθj as follows:
e^{i\theta_j) = \frac{x_{kj}}{r_{kj}} + i \frac{y_{kj}}{r_{kj}}
We then take the 6th power of this complex number directly before compupting the magnitude by multiplying the result by its complex conjugate.
Notice, furthermore, that we can replace xkj or ykj with zkj by using PLANE=xz or PLANE=yz in place of PLANE=xy.
An example that shows how you can use this shortcut is shown below:
Click on the labels of the actions for more information on what each action computes
hexThe HEXACTIC_PARAMETER action with label hex calculates the following quantities:
Quantity
Type
Description
hex_mean
scalar
the mean of the colvars
: HEXACTIC_PARAMETERCalculate the hexatic order parameter This action is a shortcut. More detailsSPECIESthe list of atoms for which the symmetry function is being calculated and the atoms that can be in the environments=1-400 PLANEthe plane to use when calculating the value of the order parameter should be xy, xz or yz=xy 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.4 R_0=0.2} MEAN calculate the mean of all the quantities# PLUMED interprets the command:
# hex: HEXACTIC_PARAMETER SPECIES=1-400 PLANE=xy SWITCH={RATIONAL D_0=1.4 R_0=0.2} MEAN# as follows (Click the red comment above to revert to the short version of the input):hex_grpThe GROUP action with label hex_grp calculates the following quantities:
Quantity
Type
Description
hex_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 detailsATOMSthe numerical indexes for the set of atoms in the group=1-400
hex_matThe CONTACT_MATRIX action with label hex_mat calculates the following quantities:
Quantity
Type
Description
hex_mat.w
matrix
a matrix containing the weights for the bonds between each pair of atoms
hex_mat.x
matrix
the projection of the bond on the x axis
hex_mat.y
matrix
the projection of the bond on the y axis
hex_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 detailsGROUPspecifies 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.4 R_0=0.2} COMPONENTS also calculate the components of the vectors connecting the atoms in the contact matrixhexThe CYLINDRICAL_HARMONIC action with label hex calculates the following quantities:
Quantity
Type
Description
hex.rm
matrix
the real part of the cylindrical harmonic
hex.im
matrix
the imaginary part of the cylindrical harmonic
: CYLINDRICAL_HARMONIC_MATRIXCalculate the cylindrical harmonic function from the elements in two input matrices More detailsDEGREEthe value of the n parameter in the equation above=6 ARGthe labels of the scalar and matrices that on which the function is being calculated elementwise=hex_mat.x,hex_mat.y,hex_mat.whex_onesThe CONSTANT action with label hex_ones calculates the following quantities:
Quantity
Type
Description
hex_ones
vector
the constant value that was read from the plumed input
: ONESCreate a constant vector with all elements equal to one More detailsSIZEthe number of ones that you would like to create=400
hex_rmThe MATRIX_VECTOR_PRODUCT action with label hex_rm calculates the following quantities:
Quantity
Type
Description
hex_rm
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 detailsARGthe label for the matrix and the vector/scalar that are being multiplied=hex.rm,hex_oneshex_imThe MATRIX_VECTOR_PRODUCT action with label hex_im calculates the following quantities:
Quantity
Type
Description
hex_im
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 detailsARGthe label for the matrix and the vector/scalar that are being multiplied=hex.im,hex_oneshex_denomThe MATRIX_VECTOR_PRODUCT action with label hex_denom calculates the following quantities:
Quantity
Type
Description
hex_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 detailsARGthe label for the matrix and the vector/scalar that are being multiplied=hex_mat.w,hex_oneshex_rmnThe CUSTOM action with label hex_rmn calculates the following quantities:
Quantity
Type
Description
hex_rmn
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 detailsARGthe values input to this function=hex_rm,hex_denomFUNCthe 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
hex_imnThe CUSTOM action with label hex_imn calculates the following quantities:
Quantity
Type
Description
hex_imn
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 detailsARGthe values input to this function=hex_im,hex_denomFUNCthe 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
hex_norm2The COMBINE action with label hex_norm2 calculates the following quantities:
Quantity
Type
Description
hex_norm2
vector
the vector obtained by doing an element-wise application of a linear compbination to the input vectors
: COMBINECalculate a polynomial combination of a set of other variables. More detailsPERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO ARGthe values input to this function=hex_rmn,hex_imnPOWERS the powers to which you are raising each of the arguments in your function=2,2
hex_normThe CUSTOM action with label hex_norm calculates the following quantities:
Quantity
Type
Description
hex_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 detailsARGthe values input to this function=hex_norm2FUNCthe 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
hex_meanThe MEAN action with label hex_mean calculates the following quantities:
Quantity
Type
Description
hex_mean
scalar
the mean of all the elements in the input vector
: MEANCalculate the arithmetic mean of the elements in a vector More detailsARGthe values input to this function=hex_normPERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input --- PRINTPrint quantities to a file. More detailsARGthe labels of the values that you would like to print to the file=hex.meanFILEthe name of the file on which to output these quantities=colvar
As you can see if you expand the shortcut above, this input calculates the quantity defined in the equation above for the 400 atoms in the simulated system and stores them in a vector.
The elements of this vector are then added together so the mean value can be computed.
In papers where symmetry functions similar to this one have been used a switching function is not employed. The sums over j in the expression above are replaced by sums over the
six nearest neighbours to each atom. If you would like to calculate this quantity using PLUMED you can use an input like this:
Click on the labels of the actions for more information on what each action computes
dmatThe DISTANCE_MATRIX action with label dmat calculates the following quantities:
Quantity
Type
Description
dmat.w
matrix
a matrix containing the weights for the bonds between each pair of atoms
dmat.x
matrix
the projection of the bond on the x axis
dmat.y
matrix
the projection of the bond on the y axis
dmat.z
matrix
the projection of the bond on the z axis
: DISTANCE_MATRIXCalculate a matrix of distances between atoms. This action has hidden defaults. More detailsGROUPthe atoms for which you would like to calculate the adjacency matrix=1-400 CUTOFF ignore distances that have a value larger than this cutoff=3.0 COMPONENTS also calculate the components of the vectors connecting the atoms in the contact matrixdmat: DISTANCE_MATRIXCalculate a matrix of distances between atoms. This action uses the defaults shown here. More detailsGROUPthe atoms for which you would like to calculate the adjacency matrix=1-400 CUTOFF ignore distances that have a value larger than this cutoff=3.0 COMPONENTS also calculate the components of the vectors connecting the atoms in the contact matrixNL_CUTOFF The cutoff for the neighbor list=0.0 NL_STRIDE The frequency with which we are updating the atoms in the neighbor list=1
neighThe NEIGHBORS action with label neigh calculates the following quantities:
Quantity
Type
Description
neigh
matrix
a matrix in which the ij element is one if the ij-element of the input matrix is one of the NLOWEST/NHIGHEST elements on that row of the input matrix and zero otherwise
: NEIGHBORSBuild a matrix with ones in for the N nearest neighbours of an atom This action has hidden defaults. More detailsARGthe label of an adjacency/distance matrix that will be used to find the nearest neighbors=dmat.wNLOWEST in each row of the output matrix set the elements that correspond to the n lowest elements in each row of the input matrix equal to one=6
neigh: NEIGHBORSBuild a matrix with ones in for the N nearest neighbours of an atom This action uses the defaults shown here. More detailsARGthe label of an adjacency/distance matrix that will be used to find the nearest neighbors=dmat.wNLOWEST in each row of the output matrix set the elements that correspond to the n lowest elements in each row of the input matrix equal to one=6 NHIGHEST in each row of the output matrix set the elements that correspond to the n highest elements in each row of the input matrix equal to one=0
harmThe CYLINDRICAL_HARMONIC action with label harm calculates the following quantities:
Quantity
Type
Description
harm.rm
matrix
the real part of the cylindrical harmonic
harm.im
matrix
the imaginary part of the cylindrical harmonic
: CYLINDRICAL_HARMONICCalculate the cylindrical harmonic function More detailsDEGREEthe value of the n parameter in the equation above=6 ARGthe values input to this function=dmat.x,dmat.yrprodThe CUSTOM action with label rprod calculates the following quantities:
Quantity
Type
Description
rprod
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 detailsARGthe values input to this function=neigh,harm.rmFUNCthe 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
iprodThe CUSTOM action with label iprod calculates the following quantities:
Quantity
Type
Description
iprod
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 detailsARGthe values input to this function=neigh,harm.imFUNCthe 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
hex2_onesThe ONES action with label hex2_ones calculates the following quantities:
Quantity
Type
Description
hex2_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 detailsSIZEthe number of ones that you would like to create=400
# PLUMED interprets the command:
# hex2_ones: ONES SIZE=400# as follows (Click the red comment above to revert to the short version of the input):hex2_onesThe CONSTANT action with label hex2_ones calculates the following quantities:
Quantity
Type
Description
hex2_ones
vector
the constant value that was read from the plumed input
: CONSTANTCreate a constant value that can be passed to actions More detailsNOLOG do not report all the read in scalars in the logVALUESthe 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 --- hex2_denomThe MATRIX_VECTOR_PRODUCT action with label hex2_denom calculates the following quantities:
Quantity
Type
Description
hex2_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 detailsARGthe label for the matrix and the vector/scalar that are being multiplied=neigh,hex2_onesharm_rmThe MATRIX_VECTOR_PRODUCT action with label harm_rm calculates the following quantities:
Quantity
Type
Description
harm_rm
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 detailsARGthe label for the matrix and the vector/scalar that are being multiplied=rprod,hex2_onesharm_imThe MATRIX_VECTOR_PRODUCT action with label harm_im calculates the following quantities:
Quantity
Type
Description
harm_im
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 detailsARGthe label for the matrix and the vector/scalar that are being multiplied=iprod,hex2_oneshex2_rmnThe CUSTOM action with label hex2_rmn calculates the following quantities:
Quantity
Type
Description
hex2_rmn
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 detailsARGthe values input to this function=harm_rm,hex2_denomFUNCthe 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
hex2_imnThe CUSTOM action with label hex2_imn calculates the following quantities:
Quantity
Type
Description
hex2_imn
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 detailsARGthe values input to this function=harm_im,hex2_denomFUNCthe 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
DUMPATOMSDump selected atoms on a file. More detailsATOMSthe atom indices whose positions you would like to print out=1-400 ARGthe labels of vectors that should be output in the xyz file=hex2_rmn,hex2_imn,hex2_denomFILEfile on which to output coordinates; extension is automatically detected=hexparam.xyz
This input outputs the values of the order parameters for all the atoms to an extended xyz file .
The resolution service at https://doi.org resolves DOIs. You have
attempted to resolve https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.215701, which is not a DOI.
https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.215701 may be a Handle (DOIs are a special sort of Handle). If https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.215701
is a valid Handle you should be able to resolve it at
https://hdl.handle.net.
WHAT CAN I DO NEXT?
If you believe this DOI is valid, you may report this error using the form here.