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 [48] [90] 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.
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 \(i\)th 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. |
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. |
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.
PIV ... LABEL=Pivd1 PRECISION=1000 NLIST REF_FILE=Ref1.pdb PIVATOMS=3 ATOMTYPES=A,B,C SFACTOR=0.3,0.5,1.0,0.2,0.2,0.2 SORT=1,1,1,1,1,1 SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4} SWITCH2={RATIONAL R_0=0.4 MM=10 NN=5} SWITCH3={RATIONAL R_0=0.4 MM=10 NN=5} SWITCH4={RATIONAL R_0=0.5 MM=12 NN=6} SWITCH5={RATIONAL R_0=0.5 MM=12 NN=6} SWITCH6={RATIONAL R_0=0.5 MM=12 NN=6} NL_CUTOFF=0.8,0.6,0.6,0.7,0.7,0.7 NL_STRIDE=10,10,10,10,10,10 NL_SKIN=0.1,0.1,0.1,0.1,0.1,0.1 ... PIV PIV ... LABEL=Pivd2 PRECISION=1000 NLIST REF_FILE=Ref2.pdb PIVATOMS=3 ATOMTYPES=A,B,C SFACTOR=0.3,0.5,1.0,0.2,0.2,0.2 SORT=1,1,1,1,1,1 SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4} SWITCH2={RATIONAL R_0=0.4 MM=10 NN=5} SWITCH3={RATIONAL R_0=0.4 MM=10 NN=5} SWITCH4={RATIONAL R_0=0.5 MM=12 NN=6} SWITCH5={RATIONAL R_0=0.5 MM=12 NN=6} SWITCH6={RATIONAL R_0=0.5 MM=12 NN=6} NL_CUTOFF=0.8,0.6,0.6,0.7,0.7,0.7 NL_STRIDE=10,10,10,10,10,10 NL_SKIN=0.1,0.1,0.1,0.1,0.1,0.1 ... PIV PIV ... LABEL=Pivd3 PRECISION=1000 NLIST REF_FILE=Ref3.pdb PIVATOMS=3 ATOMTYPES=A,B,C SFACTOR=0.3,0.5,1.0,0.2,0.2,0.2 SORT=1,1,1,1,1,1 SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4} SWITCH2={RATIONAL R_0=0.4 MM=10 NN=5} SWITCH3={RATIONAL R_0=0.4 MM=10 NN=5} SWITCH4={RATIONAL R_0=0.5 MM=12 NN=6} SWITCH5={RATIONAL R_0=0.5 MM=12 NN=6} SWITCH6={RATIONAL R_0=0.5 MM=12 NN=6} NL_CUTOFF=0.8,0.6,0.6,0.7,0.7,0.7 NL_STRIDE=10,10,10,10,10,10 NL_SKIN=0.1,0.1,0.1,0.1,0.1,0.1 ... PIV PRINT ARG=Pivd1,Pivd2,Pivd3 FILE=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.
PIV ... LABEL=c1 PRECISION=1000 VOLUME=12.15 NLIST REF_FILE=Ref1.pdb PIVATOMS=2 ATOMTYPES=A,B ONLYDIRECT SFACTOR=1.0,0.2 SORT=1,1 SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4} SWITCH2={RATIONAL R_0=0.5 MM=10 NN=5} NL_CUTOFF=1.2,1.2 NL_STRIDE=10,10 NL_SKIN=0.1,0.1 ... PIV PIV ... LABEL=c2 PRECISION=1000 VOLUME=12.15 NLIST REF_FILE=Ref2.pdb PIVATOMS=2 ATOMTYPES=A,B ONLYDIRECT SFACTOR=1.0,0.2 SORT=1,1 SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4} SWITCH2={RATIONAL R_0=0.4 MM=10 NN=5} NL_CUTOFF=1.2,1.2 NL_STRIDE=10,10 NL_SKIN=0.1,0.1 ... PIV p1: FUNCPATHMSD ARG=c1,c2 LAMBDA=0.180338 METAD ARG=p1.s,p1.z SIGMA=0.01,0.2 HEIGHT=0.8 PACE=500 LABEL=res PRINT ARG=c1,c2,p1.s,p1.z,res.bias STRIDE=500 FILE=colvar FMT=%15.6f
When using PIV please cite [90] .
(See also PRINT)