# Module MMTK.ForceFields

# Submodules:

- Module MMTK.ForceFields.BondFF

- Module MMTK.ForceFields.ForceFieldTest

- Module MMTK.ForceFields.Restraints

- Module MMTK.ForceFields.SPCEFF

## Class CalphaForceField: Effective harmonic force field for a C-alpha protein model

Constructor: CalphaForceField(cutoff=None, scale_factor=1.)

cutoff

  the cutoff for pair interactions, should be at least 2.5 nm

scale_factor

  a global scaling factor.

Pair interactions in periodic systems are calculated using the minimum-image convention; the cutoff should therefore never be larger than half the smallest edge length of the elementary cell.

See [Hinsen2000] for a description of this force field.

## Class DeformationForceField: Deformation force field for protein normal mode calculations

Constructor: DeformationForceField(range=0.7, cutoff=1.2, factor=46402.)

range

  the range parameter

cutoff

  the cutoff for pair interactions, should be significantly larger than range.

factor

  a global scaling factor.

Pair interactions in periodic systems are calculated using the minimum-image convention; the cutoff should therefore never be larger than half the smallest edge length of the elementary cell.

The pair interaction energy has the form U(r)=|factor|*exp(-(r-0.01)**2/|range|**2). The default value for range is appropriate for a C-alpha model of a protein. See [Hinsen1998] for details.

## Class LennardJonesForceField: Lennard-Jones force field for noble gases

Constructor: LennardJonesForceField(cutoff)

cutoff

  a cutoff value or `None`, meaning no cutoff

Pair interactions in periodic systems are calculated using the minimum-image convention; the cutoff should therefore never be larger than half the smallest edge length of the elementary cell.

The Lennard-Jones parameters are taken from the atom attributes LJ_radius and LJ_energy. The pair interaction energy has the form U(r)=4*LJ_energy*((LJ_radius/r)**12-(LJ_radius/r)**6).

## Class Amber94ForceField: Amber 94 force field

Constructor: Amber94ForceField(lennard_jones_options, electrostatic_options)

lennard_jones_options

  parameters for Lennard-Jones interactions; one of:

  - a number, specifying the cutoff

  - `None`, meaning the default method (no cutoff; inclusion of all pairs, using the minimum-image conventions for periodic universes)

  - a dictionary with an entry "method" which specifies the calculation method as either "direct" (all pair terms) or "cutoff", with the cutoff specified by the dictionary entry "cutoff".

electrostatic_options

- parameters for electrostatic interactions; one of:

  - a number, specifying the cutoff

  - `None`, meaning the default method (all pairs without cutoff for non-periodic system, Ewald summation for periodic systems)

  - a dictionary with an entry "method" which specifies the calculation method as either "direct" (all pair terms), "cutoff" (with the cutoff specified by the dictionary entry "cutoff"), "ewald" (Ewald summation, only for periodic universes), "screened" (see below), or "multipole" (fast-multipole method).

Pair interactions in periodic systems are calculated using the minimum-image convention; the cutoff should therefore never be larger than half the smallest edge length of the elementary cell.

For Lennard-Jones interactions, all terms for pairs whose distance exceeds the cutoff are set to zero, without any form of correction. For electrostatic interactions, a charge-neutralizing surface charge density is added around the cutoff sphere in order to reduce cutoff effects [Wolf1999].

For Ewald summation, there are some additional parameters that can be specified by dictionary entries:

- "beta" specifies the Ewald screening parameter

- "real_cutoff" specifies the cutoff for the real-space sum. It should be significantly larger than 1/beta to ensure that the neglected terms are small.

- "reciprocal_cutoff" specifies the cutoff for the reciprocal-space sum. Note that, like the real-space cutoff, this is a distance; it describes the smallest wavelength of plane waves to take into account. Consequently, a smaller value means a more precise (and more expensive) calculation.

MMTK provides default values for these parameter which are calculated as a function of the system size. However, these parameters are exaggerated in most cases of practical interest and can lead to excessive calculation times for large systems. It is preferable to determine suitable values empirically for the specific system to be simulated.

The method "screened" uses the real-space part of the Ewald sum with a charge-neutralizing surface charge density around the cutoff sphere, and no reciprocal sum [Wolf1999]. It requires the specification of the dictionary entries "cutoff" and "beta".

The fast-multipole method uses the DPMTA library [DPMTA]. Note that this method provides only energy and forces, but no second-derivative matrix. There are several optional dictionary entries for this method, all of which are set to reasonable default values. The entries are "spatial_decomposition_levels", "multipole_expansion_terms", "use_fft", "fft_blocking_factor", "macroscopic_expansion_terms", and "multipole_acceptance". For an explanation of these options, refer to the DPMTA manual [DPMTA].