vector

Calculate various types of vector quantities.

vector [<name>] <Type> [out <filename> [ptrajoutput]] [<mask1>] [<mask2>] [magnitude] [geom] [ired] [gridset <grid>] [debye]

<Type> = { mask | minimage | dipole | center | corrplane | box | boxcenter | ucellx | ucelly | ucellz principal [x|y|z] }
[<name>] Vector data set name.
<Type> Vector type; see below.
[out <filename>] Write vector data to <filename> with format ’Vx Vy Vz Ox Oy Oz’ where V denotes vector coordinates and ’O’ denotes origin coordinates.
[ptrajoutput] Write vector data in ptraj style (Vx Vy Vz Ox Oy Oz Vx+Ox Vy+Oy Vz+Oz). This prevents additional formatting of <filename> and is not compatible with ’magnitude’.
[<mask1>] Atom mask, required for all types except ’box’.
[<mask2>] Second atom mask, only required for type ’mask’.
[magnitude] Store the magnitude of the vector with aspect [Mag].
[geom] If specified, use geometric centers instead of centers of mass.
[ired] Mark this vector for subsequent IRED analysis with commands ’matrix ired’ and ’ired’.
[gridset <grid>] Name of grid data set to get box info from instead of frame for box, boxcenter, and ucel[x|y|x].
[debye] (‘dipole’ vector only) Report dipole vector in units of Debye instead of e-*Ang.

Data Sets Created:
<name> Vector data set.
<name>[Mag] (magnitude only) Vector magnitude.

This command will keep track of a vector value (and its origin) over the trajectory; the data can be referenced for later use based on the name (which must be unique). The types of vectors that can be calculated are:

mask (Default) Store vector from center of mass of atoms in <mask1> to atoms in <mask2>.
minimage Store minimum-imaged vector from center of mass of atoms in <mask1> to atoms in <mask2>.
dipole Store the dipole and center of mass of the atoms specified in <mask1>. The vector is not converted to appropriate units, nor is the value well-defined if the atoms in the mask are not overall charge neutral.
center Store the center of mass of atoms in <mask1>. The reference point is the origin (0.0, 0.0, 0.0).
corrplane This defines a vector perpendicular to the (least-squares best) plane through the atoms in <mask1>.

The reference point is the center of mass of atoms in <mask1>.
box (No mask needed) Store the box lengths of the trajectory. The reference point is the origin (0.0, 0.0, 0.0).
boxcenter (No mask needed) Store the center of the box as a vector.
ucell{x|y|z} (No mask needed) Store specified unit cell (i.e. box) vector.
principal [x|y|z] Store one of the principal axis vectors determined by diagonalization of the inertial matrix from the coordinates of the atoms specified by <mask1>. The eigenvector with the largest eigenvalue is considered “x” (i.e., the hardest axis to rotate around) and the eigenvector with the smallest eigenvalue is considered “z”. If none of x or y or z are specified, then the “x” principal axis is stored. The reference point is the center of mass of atoms in <mask1>.
velocity Store momentum of atoms selected by <mask1> (requires velocities).
force Store force of atoms in <mask1> (requires forces).

CPPTRAJ supports writing out vector data in a pseudo-trajectory format for easy visualization. Once a vector data set has been generated the writedata command can be used with the vectraj keyword to write a pseudo trajectory consisting of two atoms, one for the vector origin and one for the vector from the origin (i.e. V+O). For example, to create a MOL2 containing a pseudo-trajectory of the minimum-imaged vector from residue 4 to residue 11:

trajin tz2.nc
vector v8 minimage out v8.dat :4 :11
run
writedata v8.mol2 vectraj v8 trajfmt mol2

Auto-correlation or cross-correlation functions can be calculated subsequently for vectors using either the corr analysis command or the timecorr analysis command (to calculate via spherical harmonic theory).