Shortcut: HEXACTIC_PARAMETER

Module symfunc
Description Usage
Calculate the hexatic order parameter used in 0 tutorialsused in 0 eggs
output value type
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θjjσ(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
tested on2.11
hex: HEXACTIC_PARAMETERCalculate the hexatic order parameter 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 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
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=hex.mean FILEthe 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
tested on2.11
dmat: DISTANCE_MATRIXCalculate a matrix of distances between atoms. This action has hidden defaults. More details GROUPthe 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 matrix
neigh: NEIGHBORSBuild a matrix with ones in for the N nearest neighbours of an atom This action has hidden defaults. More details ARGthe label of an adjacency/distance matrix that will be used to find the nearest neighbors=dmat.w NLOWEST 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
harm: CYLINDRICAL_HARMONICCalculate the cylindrical harmonic function More details DEGREEthe value of the n parameter in the equation above=6 ARGthe values input to this function=dmat.x,dmat.y
rprod: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=neigh,harm.rm 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
iprod: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=neigh,harm.im 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
hex2_ones: 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
hex2_denom: 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=neigh,hex2_ones
harm_rm: 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=rprod,hex2_ones
harm_im: 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=iprod,hex2_ones
hex2_rmn: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=harm_rm,hex2_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
hex2_imn: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=harm_im,hex2_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
DUMPATOMSDump selected atoms on a file. More details ATOMSthe 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_denom FILEfile 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 .

![CAUTION] Virial is not working currently

References

More information about how this action can be used is available in the following articles: - A. D. White, G. A. Voth, Efficient and Minimal Method to Bias Molecular Simulations with Experimental Data. Journal of Chemical Theory and Computation. 10, 3023–3030 (2014) - [OCTYPE html>

Error: Not a DOI

Not a DOI

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.
  • You can try to search again from DOI.ORG homepage

REPORT AN ERROR