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.
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.
Pivd1: PIV ...PRECISION=1000compulsory keyword the precision for approximating reals with integers in sorting.NLIST( default=off ) Use a neighbor list for distance calculations.REF_FILE=Ref1.pdbcompulsory keyword PDB file name that contains the ith reference structure.PIVATOMS=3compulsory keyword Number of atoms to use for PIV.ATOMTYPES=A,B,Ccompulsory keyword The atom types to use for PIV.SFACTOR=0.3,0.5,1.0,0.2,0.2,0.2Scale the PIV-distance by such block-specific factorSORT=1,1,1,1,1,1compulsory keyword Whether to sort or not the PIV block.SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4}compulsory keyword The switching functions parameter.YouSWITCH2={RATIONAL R_0=0.4 MM=10 NN=5}compulsory keyword The switching functions parameter.YouSWITCH3={RATIONAL R_0=0.4 MM=10 NN=5}compulsory keyword The switching functions parameter.YouSWITCH4={RATIONAL R_0=0.5 MM=12 NN=6}compulsory keyword The switching functions parameter.YouSWITCH5={RATIONAL R_0=0.5 MM=12 NN=6}compulsory keyword The switching functions parameter.YouSWITCH6={RATIONAL R_0=0.5 MM=12 NN=6}compulsory keyword The switching functions parameter.YouNL_CUTOFF=0.8,0.6,0.6,0.7,0.7,0.7Neighbor lists cutoff.NL_STRIDE=10,10,10,10,10,10Update neighbor lists every NL_STRIDE steps.NL_SKIN=0.1,0.1,0.1,0.1,0.1,0.1 ... Pivd2: PIV ...The maximum atom displacement tolerated for the neighbor lists update.PRECISION=1000compulsory keyword the precision for approximating reals with integers in sorting.NLIST( default=off ) Use a neighbor list for distance calculations.REF_FILE=Ref2.pdbcompulsory keyword PDB file name that contains the ith reference structure.PIVATOMS=3compulsory keyword Number of atoms to use for PIV.ATOMTYPES=A,B,Ccompulsory keyword The atom types to use for PIV.SFACTOR=0.3,0.5,1.0,0.2,0.2,0.2Scale the PIV-distance by such block-specific factorSORT=1,1,1,1,1,1compulsory keyword Whether to sort or not the PIV block.SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4}compulsory keyword The switching functions parameter.YouSWITCH2={RATIONAL R_0=0.4 MM=10 NN=5}compulsory keyword The switching functions parameter.YouSWITCH3={RATIONAL R_0=0.4 MM=10 NN=5}compulsory keyword The switching functions parameter.YouSWITCH4={RATIONAL R_0=0.5 MM=12 NN=6}compulsory keyword The switching functions parameter.YouSWITCH5={RATIONAL R_0=0.5 MM=12 NN=6}compulsory keyword The switching functions parameter.YouSWITCH6={RATIONAL R_0=0.5 MM=12 NN=6}compulsory keyword The switching functions parameter.YouNL_CUTOFF=0.8,0.6,0.6,0.7,0.7,0.7Neighbor lists cutoff.NL_STRIDE=10,10,10,10,10,10Update neighbor lists every NL_STRIDE steps.NL_SKIN=0.1,0.1,0.1,0.1,0.1,0.1 ... Pivd3: PIV ...The maximum atom displacement tolerated for the neighbor lists update.PRECISION=1000compulsory keyword the precision for approximating reals with integers in sorting.NLIST( default=off ) Use a neighbor list for distance calculations.REF_FILE=Ref3.pdbcompulsory keyword PDB file name that contains the ith reference structure.PIVATOMS=3compulsory keyword Number of atoms to use for PIV.ATOMTYPES=A,B,Ccompulsory keyword The atom types to use for PIV.SFACTOR=0.3,0.5,1.0,0.2,0.2,0.2Scale the PIV-distance by such block-specific factorSORT=1,1,1,1,1,1compulsory keyword Whether to sort or not the PIV block.SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4}compulsory keyword The switching functions parameter.YouSWITCH2={RATIONAL R_0=0.4 MM=10 NN=5}compulsory keyword The switching functions parameter.YouSWITCH3={RATIONAL R_0=0.4 MM=10 NN=5}compulsory keyword The switching functions parameter.YouSWITCH4={RATIONAL R_0=0.5 MM=12 NN=6}compulsory keyword The switching functions parameter.YouSWITCH5={RATIONAL R_0=0.5 MM=12 NN=6}compulsory keyword The switching functions parameter.YouSWITCH6={RATIONAL R_0=0.5 MM=12 NN=6}compulsory keyword The switching functions parameter.YouNL_CUTOFF=0.8,0.6,0.6,0.7,0.7,0.7Neighbor lists cutoff.NL_STRIDE=10,10,10,10,10,10Update neighbor lists every NL_STRIDE steps.NL_SKIN=0.1,0.1,0.1,0.1,0.1,0.1 ... PRINTThe maximum atom displacement tolerated for the neighbor lists update.ARG=Pivd1,Pivd2,Pivd3compulsory keyword the labels of the values that you would like to print to the fileFILE=colvarthe name of the file on which to output these quantities
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.
c1: PIV ...PRECISION=1000compulsory keyword the precision for approximating reals with integers in sorting.VOLUME=12.15Scale atom-atom distances by the cubic root of the cell volume.NLIST( default=off ) Use a neighbor list for distance calculations.REF_FILE=Ref1.pdbcompulsory keyword PDB file name that contains the ith reference structure.PIVATOMS=2compulsory keyword Number of atoms to use for PIV.ATOMTYPES=A,Bcompulsory keyword The atom types to use for PIV.ONLYDIRECT( default=off ) Use only direct-terms (A-A, B-B, C-C, ...)SFACTOR=1.0,0.2Scale the PIV-distance by such block-specific factorSORT=1,1compulsory keyword Whether to sort or not the PIV block.SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4}compulsory keyword The switching functions parameter.YouSWITCH2={RATIONAL R_0=0.5 MM=10 NN=5}compulsory keyword The switching functions parameter.YouNL_CUTOFF=1.2,1.2Neighbor lists cutoff.NL_STRIDE=10,10Update neighbor lists every NL_STRIDE steps.NL_SKIN=0.1,0.1 ... c2: PIV ...The maximum atom displacement tolerated for the neighbor lists update.PRECISION=1000compulsory keyword the precision for approximating reals with integers in sorting.VOLUME=12.15Scale atom-atom distances by the cubic root of the cell volume.NLIST( default=off ) Use a neighbor list for distance calculations.REF_FILE=Ref2.pdbcompulsory keyword PDB file name that contains the ith reference structure.PIVATOMS=2compulsory keyword Number of atoms to use for PIV.ATOMTYPES=A,Bcompulsory keyword The atom types to use for PIV.ONLYDIRECT( default=off ) Use only direct-terms (A-A, B-B, C-C, ...)SFACTOR=1.0,0.2Scale the PIV-distance by such block-specific factorSORT=1,1compulsory keyword Whether to sort or not the PIV block.SWITCH1={RATIONAL R_0=0.6 MM=12 NN=4}compulsory keyword The switching functions parameter.YouSWITCH2={RATIONAL R_0=0.4 MM=10 NN=5}compulsory keyword The switching functions parameter.YouNL_CUTOFF=1.2,1.2Neighbor lists cutoff.NL_STRIDE=10,10Update neighbor lists every NL_STRIDE steps.NL_SKIN=0.1,0.1 ... p1: FUNCPATHMSDThe maximum atom displacement tolerated for the neighbor lists update.ARG=c1,c2compulsory keyword the labels of the values from which the function is calculatedLAMBDA=0.180338 res: METADcompulsory keyword the lambda parameter is needed for smoothing, is in the units of plumedARG=p1.s,p1.zcompulsory keyword the labels of the scalars on which the bias will actSIGMA=0.01,0.2compulsory keyword the widths of the Gaussian hillsHEIGHT=0.8the heights of the Gaussian hills.PACE=500 PRINTcompulsory keyword the frequency for hill additionARG=c1,c2,p1.s,p1.z,res.biascompulsory keyword the labels of the values that you would like to print to the fileSTRIDE=500compulsory keyword ( default=1 ) the frequency with which the quantities of interest should be outputFILE=colvarthe name of the file on which to output these quantitiesFMT=%15.6fthe format that should be used to output real numbers
When using PIV please cite [91] .
(See also PRINT)
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 |
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. |
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. |