BOND_DIRECTIONS
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 the vectors connecting atoms that are within cutoff defined using a switching function.

Description of components

When the label of this action is used as the input for a second you are not referring to a scalar quantity as you are in regular collective variables. The label is used to reference the full set of quantities calculated by the action. This is usual when using MultiColvar functions. Generally when doing this the previously calculated multicolvar will be referenced using the DATA keyword rather than ARG.

This Action can be used to calculate the following scalar quantities directly. These quantities are calculated by employing the keywords listed below. These quantities can then be referenced elsewhere in the input file by using this Action's label followed by a dot and the name of the quantity. Some amongst them can be calculated multiple times with different parameters. In this case the quantities calculated can be referenced elsewhere in the input by using the name of the quantity followed by a numerical identifier e.g. label.lessthan-1, label.lessthan-2 etc. When doing this and, for clarity we have made the label of the components customizable. As such by using the LABEL keyword in the description of the keyword input you can customize the component name

Quantity Keyword Description
vmean VMEAN the norm of the mean vector. The output component can be refererred to elsewhere in the input file by using the label.vmean
vsum VSUM the norm of sum of vectors. The output component can be refererred to elsewhere in the input file by using the label.vsum
The atoms involved can be specified using
ATOMS the atoms involved in each of the vectors you wish to calculate. Keywords like ATOMS1, ATOMS2, ATOMS3,... should be listed and one vector will be calculated for each ATOM keyword you specify (all ATOM keywords should specify the indices of two atoms). The eventual number of quantities calculated by this action will depend on what functions of the distribution you choose to calculate. You can use multiple instances of this keyword i.e. ATOMS1, ATOMS2, ATOMS3...
Or alternatively by using
GROUP Calculate the distance between each distinct pair of atoms in the group
Or alternatively by using
GROUPA Calculate the distances between all the atoms in GROUPA and all the atoms in GROUPB. This must be used in conjuction with GROUPB.
GROUPB Calculate the distances between all the atoms in GROUPA and all the atoms in GROUPB. This must be used in conjuction with GROUPA.
Compulsory keywords
NN ( default=12 ) 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
Options
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 parallelize
LOWMEM ( default=off ) lower the memory requirements
TIMINGS

( default=off ) output information on the timings of the various parts of the calculation

SWITCH This keyword is used if you want to employ an alternative to the continuous swiching 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.
VMEAN calculate the norm of the mean vector. The final value can be referenced using label.vmean. You can use multiple instances of this keyword i.e. VMEAN1, VMEAN2, VMEAN3... The corresponding values are then referenced using label.vmean-1, label.vmean-2, label.vmean-3...
VSUM

calculate the norm of the sum of vectors. The final value can be referenced using label.vsum. You can use multiple instances of this keyword i.e. VSUM1, VSUM2, VSUM3... The corresponding values are then referenced using label.vsum-1, label.vsum-2, label.vsum-3...

Examples