FUNCPATHMSD
This is part of the function module

This function calculates path collective variables.

This is the Path Collective Variables implementation ( see [28] ). This variable computes the progress along a given set of frames that is provided in input ("s" component) and the distance from them ("z" component). It is a function of mean squared displacement that are obtained by the joint use of mean squared displacement variables with the SQUARED flag (see below).

Examples

Here below is a case where you have defined three frames and you want to calculate the progress along the path and the distance from it in p1

Click on the labels of the actions for more information on what each action computes
tested on v2.9
t1: RMSD REFERENCEcompulsory keyword 
a file in pdb format containing the reference structure and the atoms involved in
the CV. =frame_1.pdb TYPEcompulsory keyword ( default=SIMPLE )
the manner in which RMSD alignment is performed. =OPTIMAL SQUARED( default=off ) This should be set if you want mean squared displacement instead
of RMSD  
t2: RMSD REFERENCEcompulsory keyword 
a file in pdb format containing the reference structure and the atoms involved in
the CV. =frame_21.pdb TYPEcompulsory keyword ( default=SIMPLE )
the manner in which RMSD alignment is performed. =OPTIMAL SQUARED( default=off ) This should be set if you want mean squared displacement instead
of RMSD  
t3: RMSD REFERENCEcompulsory keyword 
a file in pdb format containing the reference structure and the atoms involved in
the CV. =frame_42.pdb TYPEcompulsory keyword ( default=SIMPLE )
the manner in which RMSD alignment is performed. =OPTIMAL SQUARED( default=off ) This should be set if you want mean squared displacement instead
of RMSD  
p1: FUNCPATHMSD ARGthe input for this action is the scalar output from one or more other actions. =t1,t2,t3 LAMBDAcompulsory keyword 
the lambda parameter is needed for smoothing, is in the units of plumed =500.0 
PRINT ARGthe input for this action is the scalar output from one or more other actions. =t1,t2,t3,p1.s,p1.z STRIDEcompulsory keyword ( default=1 )
the frequency with which the quantities of interest should be output =1 FILEthe name of the file on which to output these quantities =colvar FMTthe format that should be used to output real numbers =%8.4f 

For this input you would then define the position of the reference coordinates in three separate pdb files. The contents of the file frame_1.pdb are shown below:

ATOM      1  CL  ALA     1      -3.171   0.295   2.045  1.00  1.00
ATOM      5  CLP ALA     1      -1.819  -0.143   1.679  1.00  1.00
ATOM      6  OL  ALA     1      -1.177  -0.889   2.401  1.00  1.00
ATOM      7  NL  ALA     1      -1.313   0.341   0.529  1.00  1.00
ATOM      8  HL  ALA     1      -1.845   0.961  -0.011  1.00  1.00
END

This is then frame.21.pdb:

ATOM      1  CL  ALA     1      -3.089   1.850   1.546  1.00  1.00
ATOM      5  CLP ALA     1      -1.667   1.457   1.629  1.00  1.00
ATOM      6  OL  ALA     1      -0.974   1.868   2.533  1.00  1.00
ATOM      7  NL  ALA     1      -1.204   0.683   0.642  1.00  1.00
ATOM      8  HL  ALA     1      -1.844   0.360  -0.021  1.00  1.00
END

and finally this is frame_42.pdb:

ATOM      1  CL  ALA     1      -3.257   1.605   1.105  1.00  1.00
ATOM      5  CLP ALA     1      -1.941   1.459   0.447  1.00  1.00
ATOM      6  OL  ALA     1      -1.481   2.369  -0.223  1.00  1.00
ATOM      7  NL  ALA     1      -1.303   0.291   0.647  1.00  1.00
ATOM      8  HL  ALA     1      -1.743  -0.379   1.229  1.00  1.00
END

This second example shows how to define a PATH in CONTACTMAP space:

Click on the labels of the actions for more information on what each action computes
tested on v2.9
c1: CONTACTMAP ...
   ATOMS1the atoms involved in each of the contacts you wish to calculate. =1,2 REFERENCE1A reference value for a given contact, by default is 0.0 =0.1 
   ATOMS2the atoms involved in each of the contacts you wish to calculate. =3,4 REFERENCE2A reference value for a given contact, by default is 0.0 =0.5 
   ATOMS3the atoms involved in each of the contacts you wish to calculate. =4,5 REFERENCE3A reference value for a given contact, by default is 0.0 =0.25 
   ATOMS4the atoms involved in each of the contacts you wish to calculate. =5,6 REFERENCE4A reference value for a given contact, by default is 0.0 =0.0 
   SWITCHcompulsory keyword 
The switching functions to use for each of the contacts in your map. ={RATIONAL R_0=1.5}  
   
   CMDIST( default=off ) calculate the distance with respect to the provided reference contact
map  
...
c2: CONTACTMAP ...
   ATOMS1the atoms involved in each of the contacts you wish to calculate. =1,2 REFERENCE1A reference value for a given contact, by default is 0.0 =0.3 
   ATOMS2the atoms involved in each of the contacts you wish to calculate. =3,4 REFERENCE2A reference value for a given contact, by default is 0.0 =0.9 
   ATOMS3the atoms involved in each of the contacts you wish to calculate. =4,5 REFERENCE3A reference value for a given contact, by default is 0.0 =0.45 
   ATOMS4the atoms involved in each of the contacts you wish to calculate. =5,6 REFERENCE4A reference value for a given contact, by default is 0.0 =0.1 
   SWITCHcompulsory keyword 
The switching functions to use for each of the contacts in your map. ={RATIONAL R_0=1.5}  
   
   CMDIST( default=off ) calculate the distance with respect to the provided reference contact
map  
...
c3: CONTACTMAP ...
   ATOMS1the atoms involved in each of the contacts you wish to calculate. =1,2 REFERENCE1A reference value for a given contact, by default is 0.0 =1.0 
   ATOMS2the atoms involved in each of the contacts you wish to calculate. =3,4 REFERENCE2A reference value for a given contact, by default is 0.0 =1.0 
   ATOMS3the atoms involved in each of the contacts you wish to calculate. =4,5 REFERENCE3A reference value for a given contact, by default is 0.0 =1.0 
   ATOMS4the atoms involved in each of the contacts you wish to calculate. =5,6 REFERENCE4A reference value for a given contact, by default is 0.0 =1.0 
   SWITCHcompulsory keyword 
The switching functions to use for each of the contacts in your map. ={RATIONAL R_0=1.5}  
   
   CMDIST( default=off ) calculate the distance with respect to the provided reference contact
map  
...
p1: FUNCPATHMSD ARGthe input for this action is the scalar output from one or more other actions. =c1,c2,c3 LAMBDAcompulsory keyword 
the lambda parameter is needed for smoothing, is in the units of plumed =500.0 
PRINT ARGthe input for this action is the scalar output from one or more other actions. =c1,c2,c3,p1.s,p1.z STRIDEcompulsory keyword ( default=1 )
the frequency with which the quantities of interest should be output =1 FILEthe name of the file on which to output these quantities =colvar FMTthe format that should be used to output real numbers =%8.4f 

This third example shows how to define a PATH in PIV space:

Click on the labels of the actions for more information on what each action computes
tested on v2.9
c1: PIV ...
   
   PRECISIONcompulsory keyword 
the precision for approximating reals with integers in sorting. =1000 
   NLIST( default=off ) Use a neighbor list for distance calculations.  
   REF_FILEcompulsory keyword 
PDB file name that contains the \f$i\f$th reference structure. =Ref1.pdb 
   PIVATOMScompulsory keyword 
Number of atoms to use for PIV. =2 
   ATOMTYPEScompulsory keyword 
The atom types to use for PIV. =A,B 
   ONLYDIRECT( default=off ) Use only direct-terms (A-A, B-B, C-C, ...)  
   SFACTORScale the PIV-distance by such block-specific factor =1.0,0.2 
   SORTcompulsory keyword 
Whether to sort or not the PIV block. =1,1 
   SWITCH1compulsory keyword 
The switching functions parameter.You ={RATIONAL R_0=0.6 MM=12 NN=4}  
   SWITCH2compulsory keyword 
The switching functions parameter.You ={RATIONAL R_0=0.5 MM=10 NN=5}  
   NL_CUTOFFNeighbor lists cutoff. =1.2,1.2 
   NL_STRIDEUpdate neighbor lists every NL_STRIDE steps. =10,10 
   NL_SKINThe maximum atom displacement tolerated for the neighbor lists update. =0.1,0.1 
...
c2: PIV ...
   
   PRECISIONcompulsory keyword 
the precision for approximating reals with integers in sorting. =1000 
   NLIST( default=off ) Use a neighbor list for distance calculations.  
   REF_FILEcompulsory keyword 
PDB file name that contains the \f$i\f$th reference structure. =Ref2.pdb 
   PIVATOMScompulsory keyword 
Number of atoms to use for PIV. =2 
   ATOMTYPEScompulsory keyword 
The atom types to use for PIV. =A,B 
   ONLYDIRECT( default=off ) Use only direct-terms (A-A, B-B, C-C, ...)  
   SFACTORScale the PIV-distance by such block-specific factor =1.0,0.2 
   SORTcompulsory keyword 
Whether to sort or not the PIV block. =1,1 
   SWITCH1compulsory keyword 
The switching functions parameter.You ={RATIONAL R_0=0.6 MM=12 NN=4}  
   SWITCH2compulsory keyword 
The switching functions parameter.You ={RATIONAL R_0=0.4 MM=10 NN=5}  
   NL_CUTOFFNeighbor lists cutoff. =1.2,1.2 
   NL_STRIDEUpdate neighbor lists every NL_STRIDE steps. =10,10 
   NL_SKINThe maximum atom displacement tolerated for the neighbor lists update. =0.1,0.1 
...
p1: FUNCPATHMSD ARGthe input for this action is the scalar output from one or more other actions. =c1,c2 LAMBDAcompulsory keyword 
the lambda parameter is needed for smoothing, is in the units of plumed =0.180338 
res: METAD ARGthe input for this action is the scalar output from one or more other actions. =p1.s,p1.z SIGMAcompulsory keyword 
the widths of the Gaussian hills =0.01,0.2 HEIGHTthe heights of the Gaussian hills. =0.8 PACEcompulsory keyword 
the frequency for hill addition =500 
PRINT ARGthe input for this action is the scalar output from one or more other actions. =c1,c2,p1.s,p1.z,res.bias STRIDEcompulsory keyword ( default=1 )
the frequency with which the quantities of interest should be output =500 FILEthe name of the file on which to output these quantities =colvar FMTthe format that should be used to output real numbers =%15.6f 
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
s the position on the path
z the distance from the path
Compulsory keywords
LAMBDA the lambda parameter is needed for smoothing, is in the units of plumed
Options
NUMERICAL_DERIVATIVES

( default=off ) calculate the derivatives for these quantities numerically

ARG the input for this action is the scalar output from one or more other actions. The particular scalars that you will use are referenced using the label of the action. If the label appears on its own then it is assumed that the Action calculates a single scalar value. The value of this scalar is thus used as the input to this new action. If * or *.* appears the scalars calculated by all the proceeding actions in the input file are taken. Some actions have multi-component outputs and each component of the output has a specific label. For example a DISTANCE action labelled dist may have three components x, y and z. To take just the x component you should use dist.x, if you wish to take all three components then use dist.*.More information on the referencing of Actions can be found in the section of the manual on the PLUMED Getting Started. Scalar values can also be referenced using POSIX regular expressions as detailed in the section on Regular Expressions. To use this feature you you must compile PLUMED with the appropriate flag.. You can use multiple instances of this keyword i.e. ARG1, ARG2, ARG3...
NEIGH_SIZE size of the neighbor list
NEIGH_STRIDE how often the neighbor list needs to be calculated in time units