It is only available if you configure PLUMED with ./configure –enable-modules=sprint . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list.
Calculate SPRINT topological variables from an adjacency matrix.
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.
Examples
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:
Click on the labels of the actions for more information on what each action computes
d1: DENSITYSPECIEScompulsory keyword
the atoms in the group =1-7 You cannot view the components that are calculated by each action for this input file. Sorry mat: CONTACT_MATRIXATOMSthe atoms for which you would like to calculate the adjacency matrix. =d1SWITCHspecify the switching function to use between two sets of indistinguishable atoms.
={RATIONAL R_0=0.1} You cannot view the components that are calculated by each action for this input file. Sorry ss: SPRINTMATRIXthe matrix that you would like to perform SPRINT on =mat You cannot view the components that are calculated by each action for this input file. Sorry PRINTARGcompulsory keyword
the labels of the values that you would like to print to the file =ss.*FILEthe name of the file on which to output these quantities =colvar You cannot view the components that are calculated by each action for this input file. Sorry
This example input calculates the 14 SPRINT coordinates for a molecule composed of 7 hydrogen and 7 carbon atoms. Once again two atoms are adjacent if they are within a cutoff:
Click on the labels of the actions for more information on what each action computes
c: DENSITYSPECIEScompulsory keyword
the atoms in the group =1-7 The DENSITY action with label ch: DENSITYSPECIEScompulsory keyword
the atoms in the group =8-14 The DENSITY action with label hmat: CONTACT_MATRIX ...
ATOMSthe atoms for which you would like to calculate the adjacency matrix. =c,hSWITCH11specify the switching function to use between two sets of indistinguishable atoms.
={RATIONAL R_0=2.6 NN=6 MM=12}
SWITCH12specify the switching function to use between two sets of indistinguishable atoms.
={RATIONAL R_0=2.2 NN=6 MM=12}
SWITCH22specify the switching function to use between two sets of indistinguishable atoms.
={RATIONAL R_0=2.2 NN=6 MM=12}
...The CONTACT_MATRIX action with label mat calculates a single scalar valuess: SPRINTMATRIXthe matrix that you would like to perform SPRINT on =matThe SPRINT action with label ssPRINTARGcompulsory keyword
the labels of the values that you would like to print to the file =ss.*FILEthe name of the file on which to output these quantities =colvar The PRINT action with label
c: GROUPATOMSthe numerical indexes for the set of atoms in the group. =1-7 The GROUP action with label c defines a group of atoms so that they can be referred to later in the inputh: GROUPATOMSthe numerical indexes for the set of atoms in the group. =8-14 The GROUP action with label h defines a group of atoms so that they can be referred to later in the inputmat: CONTACT_MATRIX ...
ATOMSthe atoms for which you would like to calculate the adjacency matrix. =c,hSWITCH11specify the switching function to use between two sets of indistinguishable atoms.
={RATIONAL R_0=2.6 NN=6 MM=12}
SWITCH12specify the switching function to use between two sets of indistinguishable atoms.
={RATIONAL R_0=2.2 NN=6 MM=12}
SWITCH22specify the switching function to use between two sets of indistinguishable atoms.
={RATIONAL R_0=2.2 NN=6 MM=12}
...The CONTACT_MATRIX action with label mat calculates a single scalar valuess_diag: DIAGONALIZEARGcompulsory keyword
the input matrix =matVECTORScompulsory keyword ( default=all )
the eigenvalues and vectors that you would like to calculate. =1 The DIAGONALIZE action with label ss_diag calculates the following quantities:
Quantity
Description
ss_diag.vals-1
the eigevalues of the input matrix This is the 1th of these quantities
ss_diag.vecs-1
the eigenvectors of the input matrix This is the 1th of these quantities
ss_sp: CUSTOMARGcompulsory keyword
the values input to this function =ss_diag.vals-1,ss_diag.vecs-1FUNCcompulsory keyword
the function you wish to evaluate =sqrt(14)*x*y PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The CUSTOM action with label ss_sp calculates a single scalar valuess_selection1: SELECT_COMPONENTSARGcompulsory keyword
the value from which we are selecting components =ss_spCOMPONENTScompulsory keyword
the components in the input value that you woul like to build a new vector from =1,2,3,4,5,6,7 The SELECT_COMPONENTS action with label ss_selection1 calculates a single scalar valuess1: SORTARGcompulsory keyword
the values input to this function =ss_selection1The SORT action with label ss1 calculates the following quantities:
Quantity
Description
ss1.1
the 1th largest element of the vector ss_selection1
ss1.2
the 2th largest element of the vector ss_selection1
ss1.3
the 3th largest element of the vector ss_selection1
ss1.4
the 4th largest element of the vector ss_selection1
ss1.5
the 5th largest element of the vector ss_selection1
ss1.6
the 6th largest element of the vector ss_selection1
ss1.7
the 7th largest element of the vector ss_selection1
ss_coord-0: COMBINEARGcompulsory keyword
the values input to this function =ss1.1PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-0 calculates a single scalar valuess_coord-1: COMBINEARGcompulsory keyword
the values input to this function =ss1.2PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-1 calculates a single scalar valuess_coord-2: COMBINEARGcompulsory keyword
the values input to this function =ss1.3PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-2 calculates a single scalar valuess_coord-3: COMBINEARGcompulsory keyword
the values input to this function =ss1.4PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-3 calculates a single scalar valuess_coord-4: COMBINEARGcompulsory keyword
the values input to this function =ss1.5PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-4 calculates a single scalar valuess_coord-5: COMBINEARGcompulsory keyword
the values input to this function =ss1.6PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-5 calculates a single scalar valuess_coord-6: COMBINEARGcompulsory keyword
the values input to this function =ss1.7PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-6 calculates a single scalar valuess_selection2: SELECT_COMPONENTSARGcompulsory keyword
the value from which we are selecting components =ss_spCOMPONENTScompulsory keyword
the components in the input value that you woul like to build a new vector from =8,9,10,11,12,13,14 The SELECT_COMPONENTS action with label ss_selection2 calculates a single scalar valuess2: SORTARGcompulsory keyword
the values input to this function =ss_selection2The SORT action with label ss2 calculates the following quantities:
Quantity
Description
ss2.1
the 1th largest element of the vector ss_selection2
ss2.2
the 2th largest element of the vector ss_selection2
ss2.3
the 3th largest element of the vector ss_selection2
ss2.4
the 4th largest element of the vector ss_selection2
ss2.5
the 5th largest element of the vector ss_selection2
ss2.6
the 6th largest element of the vector ss_selection2
ss2.7
the 7th largest element of the vector ss_selection2
ss_coord-7: COMBINEARGcompulsory keyword
the values input to this function =ss2.1PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-7 calculates a single scalar valuess_coord-8: COMBINEARGcompulsory keyword
the values input to this function =ss2.2PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-8 calculates a single scalar valuess_coord-9: COMBINEARGcompulsory keyword
the values input to this function =ss2.3PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-9 calculates a single scalar valuess_coord-10: COMBINEARGcompulsory keyword
the values input to this function =ss2.4PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-10 calculates a single scalar valuess_coord-11: COMBINEARGcompulsory keyword
the values input to this function =ss2.5PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-11 calculates a single scalar valuess_coord-12: COMBINEARGcompulsory keyword
the values input to this function =ss2.6PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-12 calculates a single scalar valuess_coord-13: COMBINEARGcompulsory keyword
the values input to this function =ss2.7PERIODICcompulsory keyword
if the output of your function is periodic then you should specify the periodicity
of the function. =NO The COMBINE action with label ss_coord-13 calculates a single scalar valuePRINTARGcompulsory keyword
the labels of the values that you would like to print to the file =ss.* FILEthe name of the file on which to output these quantities =colvar The PRINT action with label
Glossary of keywords and components
Description of components
By default this Action calculates the following quantities. These quantities 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
the sprint coordinates
Options
MATRIX
the matrix that you would like to perform SPRINT on
GROUP
specifies the list of atoms that should be assumed indistinguishable. You can use multiple instances of this keyword i.e. GROUP1, GROUP2, GROUP3...
SWITCH
specify the switching function to use between two sets of indistinguishable atoms. You can use multiple instances of this keyword i.e. SWITCH1, SWITCH2, SWITCH3...