This is part of the multicolvar module |
Calculate SPRINT topological variables.
The SPRINT topological variables are calculated from the largest eigenvalue, \(\lambda\) of an \(n\times n\) adjacency matrix and its corresponding eigenvector, \(\mathbf{V}\), using:
\[ s_i = \sqrt{n} \lambda v_i \]
You can use different quantities to measure whether or not two given atoms/molecules are adjacent or not in the adjacency matrix. The simplest measure of adjacency is is whether two atoms/molecules are within some cutoff of each other. Further complexity can be added by insisting that two molecules are adjacent if they are within a certain distance of each other and if they have similar orientations.
By default this Action calculates the following quantities. These quanties can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the quantity required from the list below.
Quantity | Description |
coord | all \(n\) sprint coordinates are calculated and then stored in increasing order. the smallest sprint coordinate will be labelled label.coord-1, the second smallest will be labelleled label.coord-1 and so on |
In addition the following quantities can be calculated by employing the keywords listed below
Quantity | Keyword | Description |
gradient | GRADIENT | the gradient |
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 |
spath | SPATH | the position on the path |
zpath | ZPATH | the distance from the path |
altmin | ALT_MIN | the minimum value. This is calculated using the formula described in the description of the keyword so as to make it continuous. |
between | BETWEEN | the number/fraction of values within a certain range. This is calculated using one of the formula described in the description of the keyword so as to make it continuous. You can calculate this quantity multiple times using different parameters. |
highest | HIGHEST | the lowest of the quantitities calculated by this action |
lessthan | LESS_THAN | the number of values less than a target value. This is calculated using one of the formula described in the description of the keyword so as to make it continuous. You can calculate this quantity multiple times using different parameters. |
lowest | LOWEST | the lowest of the quantitities calculated by this action |
max | MAX | the maximum value. This is calculated using the formula described in the description of the keyword so as to make it continuous. |
mean | MEAN | the mean value. The output component can be refererred to elsewhere in the input file by using the label.mean |
min | MIN | the minimum value. This is calculated using the formula described in the description of the keyword so as to make it continuous. |
moment | MOMENTS | the central moments of the distribution of values. The second moment would be referenced elsewhere in the input file using label.moment-2, the third as label.moment-3, etc. |
morethan | MORE_THAN | the number of values more than a target value. This is calculated using one of the formula described in the description of the keyword so as to make it continuous. You can calculate this quantity multiple times using different parameters. |
sum | SUM | the sum of values |
DATA | the labels of the action that calculates the multicolvars we are interested in |
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. You can use multiple instances of this keyword i.e. SWITCH1, SWITCH2, SWITCH3... |
This example input calculates the 7 SPRINT coordinates for a 7 atom cluster of Lennard-Jones atoms and prints their values to a file. In this input the SPRINT coordinates are calculated in the manner described in ?? so two atoms are adjacent if they are within a cutoff:
DENSITY SPECIES=1-7 LABEL=d1 SPRINT ARG=d1 SWITCH={RATIONAL R_0=0.1} LABEL=ss PRINT ARG=ss.* FILE=colvar
This example input calculates the 14 SPRINT coordinates foa a molecule composed of 7 hydrogen and 7 carbon atoms. Once again two atoms are adjacent if they are within a cutoff:
DENSITY SPECIES=1-7 LABEL=c DENSITY SPECIES=8-14 LABEL=h SPRINT ... ARG=c,h SWITCH11={RATIONAL R_0=2.6 NN=6 MM=12} SWITCH12={RATIONAL R_0=2.2 NN=6 MM=12} SWITCH22={RATIONAL R_0=2.2 NN=6 MM=12} LABEL=ss ... SPRINT PRINT ARG=ss.* FILE=colvar