GHBFIX
 This is part of the colvar module

Calculate the GHBFIX interaction energy among GROUPA and GROUPB using a potential defined in Kührová et al., Improving the performance of the AMBER RNA force field by tuning the hydrogen-bonding interactions, JCTC, 2019. Essentially it is a switching function being -1 for small distances and 0 for large distances with a smooth interpolation in the middle. This can be scaled as desired by specifying interaction scaling parameters and energy units.

This collective variable can be used to analyze hydrogen bond interactions, or to generate bias potentials. Notice that the value of the GHBFIX is returned in plumed units (see UNITS), if not specified differently via ENERGY_UNITS.

Examples
This example prints the GHBFIX interaction in kcal/mol between two groups of atoms using D_0, D_MAX and C It is applied in the functional form introduced in the pioneering paper. The types of atoms 1-6 should be defined in typesTable_examples.dat while their interaction parameters should be defined in scalingParameters_examples.dat in kBT units.
Click on the labels of the actions for more information on what each action computes
#SETTINGS AUXFOLDER=regtest/basic/rt-ghbfix
gh: GHBFIX PAIR( default=off ) Pair only 1st element of the 1st group with 1st element in the second,
etc  GROUPAFirst list of atoms. =1,2,3 GROUP could not find this keyword =4,5,6 D_0 could not find this keyword =0.2 D_MAXcompulsory keyword
the value of D_MAX in the switching function =0.3 Ccompulsory keyword
the value of C in the switching function =0.8 TYPEScompulsory keyword
the value of TYPES in the switching function =typesTable_examples.dat PARAMScompulsory keyword
the value of PARAMS in the switching function =scalingParameters_examples.dat ENERGY_UNITSthe value of ENERGY_UNITS in the switching function =kcal/mol
PRINT FILEthe name of the file on which to output these quantities =output ARGthe input for this action is the scalar output from one or more other actions. =gh

Glossary of keywords and components
The atoms involved can be specified using
 GROUPA First list of atoms. For more information on how to specify lists of atoms see Groups and Virtual Atoms GROUPB Second list of atoms (if empty, N*(N-1)/2 pairs in GROUPA are counted). For more information on how to specify lists of atoms see Groups and Virtual Atoms
Compulsory keywords
 TYPES the value of TYPES in the switching function PARAMS the value of PARAMS in the switching function D_MAX the value of D_MAX in the switching function D_0 the value of D_0 in the switching function C the value of C in the switching function
Options
 NUMERICAL_DERIVATIVES ( default=off ) calculate the derivatives for these quantities numerically NOPBC ( default=off ) ignore the periodic boundary conditions when calculating distances SERIAL ( default=off ) Perform the calculation in serial - for debug purpose PAIR ( default=off ) Pair only 1st element of the 1st group with 1st element in the second, etc NLIST ( default=off ) Use a neighbor list to speed up the calculation NL_CUTOFF The cutoff for the neighbor list NL_STRIDE The frequency with which we are updating the atoms in the neighbor list ENERGY_UNITS the value of ENERGY_UNITS in the switching function