Action: TORSIONS_MATRIX

Module adjmat
Description Usage
Calculate the matrix of torsions between two vectors of molecules used in 0 tutorialsused in 0 eggs
output value type
the matrix of torsions between the two vectors of input directors matrix

Input

The arguments and 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
ARG matrix an Nx3 and a 3xN matrix that contain the bond vectors that you would like to determine the torsion angles between
POSITIONS1 atoms the positions to use for the molecules specified using the first argument
POSITIONS2 atoms the positions to use for the molecules specified using the second argument

Further details and examples

Calculate the matrix of torsions between two vectors of molecules

This action was implemented to ensure that we can calculate the SMAC collective variable that is discussed in this paper. This particular action tracks the relative orientations for all the pairs of molecules in a set much like the variables described in the crystdistrib module.

The orientations of molecules can be specified using either PLANE or DISTANCE. The example below shows how you can use internal vectors connecting two atoms in the molecules to define the orientation of that molecule. Three of these internal vectors are calculated using a DISTANCE command in the input below. The matrix of torsional angles between these various vectors is then computed:

Click on the labels of the actions for more information on what each action computes
tested on2.11
d1: DISTANCECalculate the distance/s between pairs of atoms. More details ATOMS1the pair of atom that we are calculating the distance between=1,5 ATOMS2the pair of atom that we are calculating the distance between=11,15 ATOMS3the pair of atom that we are calculating the distance between=21,25 COMPONENTS calculate the x, y and z components of the distance separately and store them as label
s: VSTACKCreate a matrix by stacking vectors together More details ARGthe values that you would like to stack together to construct the output matrix=d1.x,d1.y,d1.z
sT: TRANSPOSECalculate the transpose of a matrix More details ARGthe label of the vector or matrix that should be transposed=s
m: TORSIONS_MATRIXCalculate the matrix of torsions between two vectors of molecules More details ARGan Nx3 and a 3xN matrix that contain the bond vectors that you would like to determine the torsion angles between=s,sT POSITIONS1the positions to use for the molecules specified using the first argument=1,11,21 POSITIONS2the positions to use for the molecules specified using the second argument=1,11,21
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=m FILEthe name of the file on which to output these quantities=matrix

In this example, the torsional angle in element (1,2) of the matrix with label m is the angle between the plane containing atoms 1,5 and 10 and the plane connecting atoms 1,10 and 15. In other words, the elements in this matrix are the torsional angles between the vectors in the input matrices around the vector connecting the corresponding atomic positions that are specified using the POSTIONS keyword.

You can also calculate a matrix of torsional angles between two different groups of molecules by using an input like the one below:

Click on the labels of the actions for more information on what each action computes
tested on2.11
pA: PLANECalculate the plane perpendicular to two vectors in order to represent the orientation of a planar molecule. More details ATOMS1the three or four atoms whose plane we are computing=1,2,3 ATOMS2the three or four atoms whose plane we are computing=11,12,13
sA: VSTACKCreate a matrix by stacking vectors together More details ARGthe values that you would like to stack together to construct the output matrix=pA.x,pA.y,pA.z
pB: PLANECalculate the plane perpendicular to two vectors in order to represent the orientation of a planar molecule. More details ATOMS1the three or four atoms whose plane we are computing=21,22,23 ATOMS2the three or four atoms whose plane we are computing=31,32,33 ATOMS3the three or four atoms whose plane we are computing=41,42,43
sB: VSTACKCreate a matrix by stacking vectors together More details ARGthe values that you would like to stack together to construct the output matrix=pB.x,pB.y,pB.z
sBT: TRANSPOSECalculate the transpose of a matrix More details ARGthe label of the vector or matrix that should be transposed=sB
m: TORSIONS_MATRIXCalculate the matrix of torsions between two vectors of molecules More details ARGan Nx3 and a 3xN matrix that contain the bond vectors that you would like to determine the torsion angles between=sA,sBT POSITIONS1the positions to use for the molecules specified using the first argument=1,11 POSITIONS2the positions to use for the molecules specified using the second argument=21,31,41
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=m FILEthe name of the file on which to output these quantities=matrix

In this example, the orientations of the molecules are specified using the PLANE action and is given by a normal to the plane containing the three atoms from the molecule that was specified. The final output is 2×3 matrix that contains all the torsional angles between the molecules defined by the two PLANE actions.

Syntax

The following table describes the keywords and options that can be used with this action

Keyword Type Default Description
ARG input none an Nx3 and a 3xN matrix that contain the bond vectors that you would like to determine the torsion angles between
POSITIONS1 input none the positions to use for the molecules specified using the first argument
POSITIONS2 input none the positions to use for the molecules specified using the second argument
SERIAL optional false do the calculation in serial