This is part of the crystallization module | |
It is only available if you configure PLUMED with ./configure –enable-modules=crystallization . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list. |
Calculate torsion angles between vectors on adjacent molecules
This variable can be used to calculate the average torsional angles between vectors. In other words, it can be used to compute quantities like this:
\[ s = \frac{ \sum_{i \ne j} \sigma(r_{ij}) \theta_{ij} }{ \sum_{i \ne j} \sigma(r_{ij}) } \]
Here the sums run over all pairs of molecules. \(\sigma(r_{ij})\) is a switchingfunction that action on the distance between the centers of molecules \(i\) and \(j\). \(\theta_{ij}\) is then the torsional angle between an orientation vector for molecule \(i\) and molecule \(j\).
This command can be used to calculate the intermolecular torsional angles between the orientations of nearby molecules. The orientation of a molecule can be calculated by using either the MOLECULES or the PLANES commands. These two commands calculate the orientation of a bond in the molecule or the orientation of a plane containing three of the molecule's atoms. Furthermore, when we use these commands we think of molecules as objects that lie at a point in space and that have an orientation. This command calculates the torsional angles between the orientations of these objects. We can then calculates functions of a large number of these torsional angles that measures things such as the number of torsional angles that are within a particular range. Because it is often useful to only consider the torsional angles between objects that are within a certain distance of each other we can, when calculating these sums, perform a weighted sum and use a switchingfunction to ensure that we focus on molecules that are close together.
The example input below is necessarily but gives you an idea of what can be achieved using this action. The orientations and positions of four molecules are defined using the MOLECULES action as the position of the centers of mass of the two atoms specified and the direction of the vector connecting the two atoms that were specified. The torsional angles between the molecules are then calculated by the INTERMOLECULARTORSIONS command labelled torsion_p. We then compute a HISTOGRAM that shows the distribution that these torsional angles take in the structure. The weight a given torsional angle contributes to this HISTOGRAM is determined using a switchingfunction that acts on the distance between the two molecules. As such the torsional angles between molecules that are close together contribute a high weight to the histogram while the torsional angles between molecules that are far apart does not contribute to the histogram. The histogram is averaged over the whole trajectory and output once all the trajectory frames have been read.
m1: MOLECULESMOL1=1,2The numerical indices of the atoms in the molecule.MOL2=3,4The numerical indices of the atoms in the molecule.MOL3=5,6The numerical indices of the atoms in the molecule.MOL4=7,8 torsion_p: INTERMOLECULARTORSIONSThe numerical indices of the atoms in the molecule.MOLS=m1The molecules you would like to calculate the torsional angles between.SWITCH={RATIONAL R_0=0.25 D_0=2.0 D_MAX=3.0} htt_p: HISTOGRAMThis keyword is used if you want to employ an alternative to the continuous switching function defined above.DATA=torsion_pinput data from action with vessel and compute histogramGRID_MIN=-picompulsory keyword the lower bounds for the gridGRID_MAX=picompulsory keyword the upper bounds for the gridBANDWIDTH=0.1compulsory keyword the bandwidths for kernel density estimationGRID_BIN=200the number of bins for the gridSTRIDE=1 DUMPGRIDcompulsory keyword ( default=1 ) the frequency with which the data should be collected and added to the quantity being averagedGRID=htt_pcompulsory keyword the action that creates the grid you would like to outputFILE=myhist.outcompulsory keyword ( default=density ) the file on which to write the grid.
MOLS | The molecules you would like to calculate the torsional angles between. This should be the label/s of MOLECULES or PLANES actions. For more information on how to specify lists of atoms see Groups and Virtual Atoms |
MOLSA | In this version of the input the torsional angles between all pairs of atoms including one atom from MOLSA one atom from MOLSB will be computed. This should be the label/s of MOLECULES or PLANES actions |
MOLSB | In this version of the input the torsional angles between all pairs of atoms including one atom from MOLSA one atom from MOLSB will be computed. This should be the label/s of MOLECULES or PLANES actions |
NN | ( default=6 ) The n parameter of the switching function |
MM | ( default=0 ) The m parameter of the switching function; 0 implies 2*NN |
D_0 | ( default=0.0 ) The d_0 parameter of the switching function |
R_0 | The r_0 parameter of the switching function |
NUMERICAL_DERIVATIVES | ( default=off ) calculate the derivatives for these quantities numerically |
NOPBC | ( default=off ) ignore the periodic boundary conditions when calculating distances |
SERIAL | ( default=off ) do the calculation in serial. Do not use MPI |
TIMINGS | ( default=off ) output information on the timings of the various parts of the calculation |
LOWMEM | ( default=off ) lower the memory requirements |
SWITCH | This keyword is used if you want to employ an alternative to the continuous switching 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. |