PIV
This is part of the piv module
It is only available if you configure PLUMED with ./configure –enable-modules=piv . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list.

Calculates the PIV-distance.

PIV distance is the squared Cartesian distance between the PIV [42] [91] associated to the configuration of the system during the dynamics and a reference configuration provided as input (PDB file format). PIV can be used together with FUNCPATHMSD to define a path in the PIV space.

Examples

The following example calculates PIV-distances from three reference configurations in Ref1.pdb, Ref2.pdb and Ref3.pdb and prints the results in a file named colvar. Three atoms (PIVATOMS=3) with names (pdb file) A B and C are used to construct the PIV and all PIV blocks (AA, BB, CC, AB, AC, BC) are considered. SFACTOR is a scaling factor that multiplies the contribution to the PIV-distance given by the single PIV block. NLIST sets the use of neighbor lists for calculating atom-atom distances. The SWITCH keyword specifies the parameters of the switching function that transforms atom-atom distances. SORT=1 means that the PIV block elements are sorted (SORT=0 no sorting.) Values for SORT, SFACTOR and the neighbor list parameters have to be specified for each block. The order is the following: AA,BB,CC,AB,AC,BC. If ONLYDIRECT (ONLYCROSS) is used the order is AA,BB,CC (AB,AC,BC). The sorting operation within each PIV block is performed using the counting sort algorithm, PRECISION specifies the size of the counting array.

Click on the labels of the actions for more information on what each action computes
tested on master
Pivd1: PIV ...
   
   
PRECISION
compulsory keyword the precision for approximating reals with integers in sorting.
=1000
NLIST
( default=off ) Use a neighbor list for distance calculations.
REF_FILE
compulsory keyword PDB file name that contains the ith reference structure.
=Ref1.pdb
PIVATOMS
compulsory keyword Number of atoms to use for PIV.
=3
ATOMTYPES
compulsory keyword The atom types to use for PIV.
=A,B,C
SFACTOR
Scale the PIV-distance by such block-specific factor
=0.3,0.5,1.0,0.2,0.2,0.2
SORT
compulsory keyword Whether to sort or not the PIV block.
=1,1,1,1,1,1
SWITCH1
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.6 MM=12 NN=4}
SWITCH2
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.4 MM=10 NN=5}
SWITCH3
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.4 MM=10 NN=5}
SWITCH4
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.5 MM=12 NN=6}
SWITCH5
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.5 MM=12 NN=6}
SWITCH6
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.5 MM=12 NN=6}
NL_CUTOFF
Neighbor lists cutoff.
=0.8,0.6,0.6,0.7,0.7,0.7
NL_STRIDE
Update neighbor lists every NL_STRIDE steps.
=10,10,10,10,10,10
NL_SKIN
The maximum atom displacement tolerated for the neighbor lists update.
=0.1,0.1,0.1,0.1,0.1,0.1 ... Pivd2: PIV ...
PRECISION
compulsory keyword the precision for approximating reals with integers in sorting.
=1000
NLIST
( default=off ) Use a neighbor list for distance calculations.
REF_FILE
compulsory keyword PDB file name that contains the ith reference structure.
=Ref2.pdb
PIVATOMS
compulsory keyword Number of atoms to use for PIV.
=3
ATOMTYPES
compulsory keyword The atom types to use for PIV.
=A,B,C
SFACTOR
Scale the PIV-distance by such block-specific factor
=0.3,0.5,1.0,0.2,0.2,0.2
SORT
compulsory keyword Whether to sort or not the PIV block.
=1,1,1,1,1,1
SWITCH1
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.6 MM=12 NN=4}
SWITCH2
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.4 MM=10 NN=5}
SWITCH3
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.4 MM=10 NN=5}
SWITCH4
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.5 MM=12 NN=6}
SWITCH5
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.5 MM=12 NN=6}
SWITCH6
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.5 MM=12 NN=6}
NL_CUTOFF
Neighbor lists cutoff.
=0.8,0.6,0.6,0.7,0.7,0.7
NL_STRIDE
Update neighbor lists every NL_STRIDE steps.
=10,10,10,10,10,10
NL_SKIN
The maximum atom displacement tolerated for the neighbor lists update.
=0.1,0.1,0.1,0.1,0.1,0.1 ... Pivd3: PIV ...
PRECISION
compulsory keyword the precision for approximating reals with integers in sorting.
=1000
NLIST
( default=off ) Use a neighbor list for distance calculations.
REF_FILE
compulsory keyword PDB file name that contains the ith reference structure.
=Ref3.pdb
PIVATOMS
compulsory keyword Number of atoms to use for PIV.
=3
ATOMTYPES
compulsory keyword The atom types to use for PIV.
=A,B,C
SFACTOR
Scale the PIV-distance by such block-specific factor
=0.3,0.5,1.0,0.2,0.2,0.2
SORT
compulsory keyword Whether to sort or not the PIV block.
=1,1,1,1,1,1
SWITCH1
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.6 MM=12 NN=4}
SWITCH2
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.4 MM=10 NN=5}
SWITCH3
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.4 MM=10 NN=5}
SWITCH4
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.5 MM=12 NN=6}
SWITCH5
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.5 MM=12 NN=6}
SWITCH6
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.5 MM=12 NN=6}
NL_CUTOFF
Neighbor lists cutoff.
=0.8,0.6,0.6,0.7,0.7,0.7
NL_STRIDE
Update neighbor lists every NL_STRIDE steps.
=10,10,10,10,10,10
NL_SKIN
The maximum atom displacement tolerated for the neighbor lists update.
=0.1,0.1,0.1,0.1,0.1,0.1 ... PRINT
ARG
compulsory keyword the labels of the values that you would like to print to the file
=Pivd1,Pivd2,Pivd3
FILE
the name of the file on which to output these quantities
=colvar

WARNING: Both the "CRYST" and "ATOM" lines of the PDB files must conform precisely to the official pdb format, including the width of each alphanumerical field:

CRYST1   31.028   36.957   23.143  89.93  92.31  89.99 P 1           1
ATOM      1  OW1 wate    1      15.630  19.750   1.520  1.00  0.00

In each pdb frame, atoms must be numbered in the same order and with the same element symbol as in the input of the MD program.

The following example calculates the PIV-distances from two reference configurations Ref1.pdb and Ref2.pdb and uses PIV-distances to define a Path Collective Variable (FUNCPATHMSD) with only two references (Ref1.pdb and Ref2.pdb). With the VOLUME keyword one scales the atom-atom distances by the cubic root of the ratio between the specified value and the box volume of the initial step of the trajectory file.

Click on the labels of the actions for more information on what each action computes
tested on master
c1: PIV ...
   
   
PRECISION
compulsory keyword the precision for approximating reals with integers in sorting.
=1000
VOLUME
Scale atom-atom distances by the cubic root of the cell volume.
=12.15
NLIST
( default=off ) Use a neighbor list for distance calculations.
REF_FILE
compulsory keyword PDB file name that contains the ith reference structure.
=Ref1.pdb
PIVATOMS
compulsory keyword Number of atoms to use for PIV.
=2
ATOMTYPES
compulsory keyword The atom types to use for PIV.
=A,B
ONLYDIRECT
( default=off ) Use only direct-terms (A-A, B-B, C-C, ...)
SFACTOR
Scale the PIV-distance by such block-specific factor
=1.0,0.2
SORT
compulsory keyword Whether to sort or not the PIV block.
=1,1
SWITCH1
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.6 MM=12 NN=4}
SWITCH2
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.5 MM=10 NN=5}
NL_CUTOFF
Neighbor lists cutoff.
=1.2,1.2
NL_STRIDE
Update neighbor lists every NL_STRIDE steps.
=10,10
NL_SKIN
The maximum atom displacement tolerated for the neighbor lists update.
=0.1,0.1 ... c2: PIV ...
PRECISION
compulsory keyword the precision for approximating reals with integers in sorting.
=1000
VOLUME
Scale atom-atom distances by the cubic root of the cell volume.
=12.15
NLIST
( default=off ) Use a neighbor list for distance calculations.
REF_FILE
compulsory keyword PDB file name that contains the ith reference structure.
=Ref2.pdb
PIVATOMS
compulsory keyword Number of atoms to use for PIV.
=2
ATOMTYPES
compulsory keyword The atom types to use for PIV.
=A,B
ONLYDIRECT
( default=off ) Use only direct-terms (A-A, B-B, C-C, ...)
SFACTOR
Scale the PIV-distance by such block-specific factor
=1.0,0.2
SORT
compulsory keyword Whether to sort or not the PIV block.
=1,1
SWITCH1
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.6 MM=12 NN=4}
SWITCH2
compulsory keyword The switching functions parameter.You
={RATIONAL R_0=0.4 MM=10 NN=5}
NL_CUTOFF
Neighbor lists cutoff.
=1.2,1.2
NL_STRIDE
Update neighbor lists every NL_STRIDE steps.
=10,10
NL_SKIN
The maximum atom displacement tolerated for the neighbor lists update.
=0.1,0.1 ... p1: FUNCPATHMSD
ARG
compulsory keyword the labels of the values from which the function is calculated
=c1,c2
LAMBDA
compulsory keyword the lambda parameter is needed for smoothing, is in the units of plumed
=0.180338 res: METAD
ARG
compulsory keyword the labels of the scalars on which the bias will act
=p1.s,p1.z
SIGMA
compulsory keyword the widths of the Gaussian hills
=0.01,0.2
HEIGHT
the heights of the Gaussian hills.
=0.8
PACE
compulsory keyword the frequency for hill addition
=500 PRINT
ARG
compulsory keyword the labels of the values that you would like to print to the file
=c1,c2,p1.s,p1.z,res.bias
STRIDE
compulsory keyword ( default=1 ) the frequency with which the quantities of interest should be output
=500
FILE
the name of the file on which to output these quantities
=colvar
FMT
the format that should be used to output real numbers
=%15.6f

When using PIV please cite [91] .

(See also PRINT)

Glossary of keywords and components
Description of components

By default the value of the calculated quantity can be referenced elsewhere in the input file by using the label of the action. Alternatively this Action can be used to calculate the following quantities by employing the keywords listed below. 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
.#!value the PIV-distance
Compulsory keywords
SWITCH The switching functions parameter.You should specify a Switching function for all PIV blocks.Details of the various switching functions you can use are provided on switchingfunction.. You can use multiple instances of this keyword i.e. SWITCH1, SWITCH2, SWITCH3...
PRECISION the precision for approximating reals with integers in sorting.
REF_FILE PDB file name that contains the ith reference structure.
PIVATOMS Number of atoms to use for PIV.
SORT Whether to sort or not the PIV block.
ATOMTYPES The atom types to use for PIV.
Options
NUMERICAL_DERIVATIVES ( default=off ) calculate the derivatives for these quantities numerically
NOPBC ( default=off ) ignore the periodic boundary conditions when calculating distances
TEST ( default=off ) Print the actual and reference PIV and exit
COM ( default=off ) Use centers of mass of groups of atoms instead of atoms as specified in the Pdb file
ONLYCROSS ( default=off ) Use only cross-terms (A-B, A-C, B-C, ...) in PIV
ONLYDIRECT ( default=off ) Use only direct-terms (A-A, B-B, C-C, ...) in PIV
DERIVATIVES ( default=off ) Activate the calculation of the PIV for every class (needed for numerical derivatives).
NLIST ( default=off ) Use a neighbor list for distance calculations.
SERIAL ( default=off ) Perform the calculation in serial - for debug purpose
TIMER

( default=off ) Perform timing analysis on heavy loops.

SFACTOR Scale the PIV-distance by such block-specific factor
VOLUME Scale atom-atom distances by the cubic root of the cell volume. The input volume is used to scale the R_0 value of the switching function.
UPDATEPIV Frequency (in steps) at which the PIV is updated.
NL_CUTOFF Neighbor lists cutoff.
NL_STRIDE Update neighbor lists every NL_STRIDE steps.
NL_SKIN The maximum atom displacement tolerated for the neighbor lists update.