GHBFIX
This is part of the colvar module

Calculate the GHBFIX interaction energy among GROUPA and GROUPB using a potential defined in Kührová 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
tested on v2.9
#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
GROUPA
First 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_MAX
compulsory keyword the value of D_MAX in the switching function
=0.3
C
compulsory keyword the value of C in the switching function
=0.8
TYPES
compulsory keyword the value of TYPES in the switching function
=typesTable_examples.dat
PARAMS
compulsory keyword the value of PARAMS in the switching function
=scalingParameters_examples.dat
ENERGY_UNITS
the value of ENERGY_UNITS in the switching function
=kcal/mol PRINT
FILE
the name of the file on which to output these quantities
=output
ARG
the 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