Go to the previous, next section.

Generation of Non-bonded Interactions

Nonbonded interactions (frequently abbreviated NBONDS) refer to all those terms in the hamiltonian which do not refer specifically to a bond, bond angle, dihedral, or hydrogen bond. They include the attractive and repulsive van der Waals terms and the electrostatic terms between all atom pairs that are not specifically excluded from nonbond calculations. Directly bound atoms (1-2 interactions) and atoms bound to a common atom (1-3 interactions) are usually not counted in non-bonded interactions. See section NBXMOD -- Automatic Generation of Non-bonded Exclusions, for an automated command to handle non-bonded exclusions. These terms are defined on atom pairs and to a first approximation would require the number of atoms squared calculations. To avoid this burden, various truncation and approximation schemes can be employed in the program, breaking the nonbonded calculation into two parts, initialization and actual energy calculation.

The method of approximation, cutoffs, and other relevant parameters can be entered either at the time of initialization (by calling NBOND from the main program or in the COMPARE command in analysis), or in the MINI and DYNA commands.

Syntax for Generation of Non-bonded Interactions

        NBOND   [keyword value] 

        COMPARE  ... NBOND [keyword value] <del>  ...

        MINI    [keyword value]

        DYNA    [keyword value]

In all cases as many keywords and values as desired may be specified.

Keywords for Generating Non-Bonded Interactions

The key words, their functions, and defaults are:

ATOM
(default) Non-bonded interactions are calculated atom by atom with switching functions being used.

RESI
Non-bonded interactions are determined residue by residue using a rectangular box search. Switching functions are calculated for every atom-atom pair.

SHFT
Non-bonded interactions are calculated atom by atom and the potential is shifted to smooth it at the cutoff.

EXEL
Extended electrostatics using dipoles for all residues outside the CUTNB cutoff.

EXFL
Extended electrostatics using dipoles and quadrupoles for all residues outside the CUTNB limits.

EXNQ
Extended electrostatics to first order without residue quadrupoles.

CONS
Similar to ATOM except a constant dielectric is used.

DUMMy
Generates an empty non-bonded interaction list.

CUTNB
Distance cutoff in generating the list of pairs. The default is 8.0 Angstroms for ATOM, RESI, and SHFT; the default is 5.0 Angstroms for EXFL, EXEL, CONS.

CTOFNB
Distance cut at which the switching function eliminates all contributions from a pair in calculating energies. Once specified, This value is not reset unless respecified. The default is CUTNB-0.5, or CUTNB-0.2 for EXFL and EXEL.

CTONNB
Distance cut at which the smoothing function begins to reduce a pair's contribution. This value is not used with SHFT. Once specified, This value is not reset unless respecified. The defaults is CTOFNB-1.0, or CTOFNB-0.3 for EXFL and EXEL.
CUTMP
Distance cut at which the extended electrostatics routines change from atom by atom evaluation of distant residues to a multipole and polynomial expansion. The default is 0.0.

EPS
Dielectric constant for the extended electrostatics routines (ATOM and RESI options set the dielectric equal to r times the EPS value). The default is 2.5 for constant dielectric, and 1.0 for r dependent dielectric.

VDWO
If VDWO is specified then EPS is set to 0.

WMIN
Warning cutoff for minimum atom to atom distance. Pairs are checked during close contact list compilation using the ATOM, EXEL, EXFL and CONS options. The default is 1.5 Angstroms.

WRNMXD
Warning cutoff for maximum atom displacement from the last close contact list update (used only in EXEL and EXFL). The default is 0.5 Angstroms.

Algorithms for Generating Non-bonded Interactions

There are four algorithms used in calculating the nonbonded energies, each making different approximations in an attempt to speed the calculation. Electrostatic interactions are the most difficult to deal with for two reasons. They do not fall off quickly with distance (so it is inappropriate to simply ignore all interactions beyond some cutoff), and they depend on odd powers of r necessitating expensive square root calculations for each pair evaluated. The approximations used to make the electrostatics calculation more tractable are setting the dielectric constant equal to r or using a constant dielectric but only calculating distant interactions periodically (and storing the value in between).

Setting the dielectric constant equal to the atom atom distance times a constant factor (determined by the EPS keyword value) makes the computation easier by eliminating the need to calculate square roots and by making the calculated contribution fall off more quickly. It also introduces problems. The force calculated using an r dependent dielectric will be larger than the force from a constant dielectric at short distances (5.0 angstroms or less by comparsion to a constant dielectric of 2.5). In addition, the electrostatic contribution still falls off relatively slowly and large distance cutoffs are needed. As the number of atom pairs included will be proportional to the cutoff cubed, this is a significant disadvantage.

The RESI options use an r dependent dielectric (as do all of Bruce Gelin's protein calculations). In the RESI searches, the program constructs a rectangular box around every residue, and examines every residue--residue pair that can yield atom atom pairs within the cutoff. Every atom--atom pair within those residue--residue pairs is added to the non-bonded list. When switching functions are used, RESI and ATOM will yield the same energy, but RESI will generate a longer list.

The SHFT option is similar to ATOM except, the potential:

is used when ( R < CTOFNB ) and zero otherwise. This potential and it first derivative approach zero as R becomes CTOFNB, without the messy computation of switching functions and steep forces at large R.

The EXEL and EXFL routines use a constant dielectric at large distances joined to the short distance function. The long distance terms are approximated using interpolation and periodic updating. At CUTNB the constant dielectric potential is joined to a dielectric equal to r potential with a shift and scale that preserve the continuity of the energy and forces. CONS uses a constant dielectric everywhere. This requires a square root to be calculated in the inner loop of ENBOND, slowing things down a bit, but it is physically more reasonable and widely employed by other groups doing empirical energy modelling (ex. ST2 water).

This form allows a small CUTNB (5.0 angstroms with EPS=2.5) even though the electrostatic terms are still varying rapidly at that distance. The short range forces are identical to those calculated with the other options, reflecting the decrease in dielectric shielding at short ranges. For the long range forces there is effectively no cutoff in the electrostatic energy. Interactions between atoms beyond the CUTNB are calculated when the list is updated and stored together with their first (EXFL,CONS) or first and second (EXEL) derivatives. The energy is calculated by explicitly evaluating pairs in the list and using the stored potentials, fields, and gradients to approximate the distant pairs. In essence the routines assume that for distant pairs the atom movements will be small enough that the changes in their electrostatic interactions can be accurately calculated using local expansions.

The constant dielectric routines compile the close contact list using the same two stage minimum rectangle box search that is described above. In this way the efficiency of a residue by residue search is exploited while being certain that all necessary pairs are included. For close residue pairs an atom by atom search is then performed. Atom pairs are either included in the list of close contacts or their electrostatic interactions are calculated and stored.

An option is offered to increase the accuracy of residue residue interactions by using a multipole expansion of one residue evaluated for each atom of the other. This cutoff for this treatment is CUTMP. For residue pairs outside of CUTMP only a single multipole evaluation is made and second order polynomial expansion is used to extrapolate to each atom. Ordinarily this is sufficient and CUTMP is set to 0.0.

The DUMMY option results in no non-bonded interactions whatsoever. The creation of a dummy list can be done very quickly. This is useful when one is analyzing only the other terms in the energy.

Implementation of Non-bonded Interactions

The initialization and list compilation is performed by the subroutine NBONDS. It functions by guessing how much space will be needed to store the close contact list, allocating that space (and space for electrostatic potentials and gradients if necessary) on the heap, and calling the appropriate subroutine to actually compile the nonbonded list. NBONDA, NBONDR, NBONDE, and NBONDF handle ATOM, RESI, EXEL, and EXFL respectively. If sufficient space was not available, 1.5 times as much is allocated and another attempt is made.

ENBOND evaluates the nonbonded energy, calling EEXEL to evaluate the stored electric potentials and fields. Single precision is used for most arithmetic, but the energy and derivative sums are accumulated in double precision.

All of the nonbonded cutoffs and lists are stored on the heap. BNBND is the descriptor array passed through most of the program (in some of the analysis routines an additional array BNBNDC is used for the comparison data structure). BNBND holds heap addresses and LNBND holds the lengths of the elements in the data structure. To actually access the data it is necessary to include `inbnd.fcm' (an index common block) and specify HEAP(BNBND(xxx)) where xxx is the desired element name in `inbnd.fcm'. This is arrangement has the advantage of allowing dynamic storage allocation and easy modification of the types of information passed from routine to routine.

Data Structures for Non-bonded Interactions

The contents of the nonbonded data structure are described in the file `inbnd.fcm' in the CONGEN source directory. The following gives some of the details.

NBOPT - the nonbonded option number
        0 = RESI
        1 = ATOM
        2 = EXEL
        3 = EXFL
        4 = SHFT
        5 = EXNQ
        6 = 
        7 = CONS
        8 = DUMMY

CUTNB
                
CTOFNB
                
CTONNB
                
CUTMP
                
EPS
                
WMIN
                
WRNMXD
                
JNB - the list of the second atom in close contact list
                
INBLO - a list of pointers into JNB organized on the
        first atoms of each pair INBLO(i) is the location of
        the last entry in JNB that pairs with atom i
The following elements are only used by CONS EXEL and EXFL:
ATSX, ATSY, ATSZ - the atom locations at the last update
                
ATPOT - the atom potentials
                
ATFX, ATFY, ATFZ - the first derivatives 

The following elements are used only by EXEL

ATGXX, ATGYY, ATGZZ, ATGXY, ATGYZ, ATGZX - the second derivatives 
                                           in the potential

Go to the previous, next section.