At the core of the objective functions are pure virtual interfaces `OEFunc0`,
`OEFunc1` and `OEFunc2`. A new objective function can be defined by providing appropriate expressions for these interface methods. The objective functions can be used along with the optimizers to find the minima of any function.

The molecule objective functions extend the objective function interfaces to define molecular interactions through `OEMolFunc`. Similar to the objective functions, a new molecule objective function can also be defined by providing the appropriate expressions for the interface methods. All of the force field components are defined as molecule objective functions to allow easy minimization of molecule systems.

Adaptors wrap molecule objective functions to allow working in different coordinate systems, instead of the default all atom Cartesian coordinates. Adaptors can be powerful tool for selective energy evaluation and minimization of specific subdomains. Methods to convert between the adaptor coordinates and the Cartesian coordinates are also provided through these interfaces.

A number of general purpose optimizers are provided that can be used to minimize any basic or extended objective functions. Optimizer interfaces are defined through `OEOptimizer1` and `OEOptimizer2`. Pros and cons of various optimizers are established in the literature, and one needs to use their understanding of the problem in choosing the appropriate optimizer. Optimizers that can solve objective functions with known gradients but no Hessian (`OEOptimizer1`) requires an additional line minimizer (`OELineMinimize`).

The MMFF potential expression is:

\[V_{MMFF} = \sum_{b}V_{b} + \sum_{a}V_{a} + \sum_{s}V_{s} + \sum_{o}V_{o} + \sum_{t}V_{t} + \sum_{v}V_{v} + \sum_{c}V_{c}\]

where the seven terms respectively describe bond stretching (b), angle bending (a), stretch-bending (s), out-of-plane bending (o), torsion (t), Van der Waals (v) and electrostatic (c) interactions. Their functional forms are given below.

For a bond b between atoms i and j the stretching potential is:

\[V_b = 143.9325 \frac{k_{ij}}{2} \Delta r_{ij}^2(1 + c_s \Delta r_{ij} + 7/12c_{s}^2 \Delta r_{ij}^2)\]

where \(k_{ij}\) is the force constant, \(\Delta r_{ij}\) is the difference between actual and reference bond lengths, and \(c_s\) is so called “cubic-stretch” constant for which the value is -2 Å\(^{-1}\).

The bending potential of a bond angle a made by the bonds between atoms i, j and atoms j, k is given by:

\[V_a = 0.043844\frac{k_{ijk}}{2} \Delta \vartheta_{ijk}^{2}(1+c_b \Delta \vartheta_{ijk})\]

where \(k_{ijk}\) is the force constant, \(\Delta \vartheta_{ijk}\) is the difference between actual and reference bond angles, and \(c_b\) is the so called “cubic-bend” constant for which the value is \(-0.4 rad^{-1}\).

The coupling between the stretching potential of two bonds forming a bond angle and bending that angle is described by:

\[V_s = 2.5121(k_{ijk} \Delta r_{ij} + k_{kji} \Delta r_{kj})\Delta \vartheta_{ijk}\]

where \(k_{ijk}\) and \(k_{kji}\) are force constants which couple stretches of i-j and k-j to the i-j-k bend respectively. \(\Delta r\) and \(\Delta \vartheta\) are defined above.

For a trigonal center j, the potential of displacement for an atom l bonded to atom j out of plane i-j-k is:

\[V_o = 0.043844\frac{k_{ijkl}}{2} \chi_{ijkl}^2\]

where \(k_{ijkl}\) is the force constant and \(\chi_{ijkl}\) is an angle formed by the bond j-l and the plane i-j-k.

For every four bonded atoms i-j-k-l the torsion interaction is described by the term:

\[V_t = 0.5(V_1(1 + \cos\Phi) + V_2(1 - \cos2\Phi) +V_3(1+ \cos3\Phi)\]

where \(V_1\), \(V_2\) and \(V_3\) are constants depending on atoms i, j, k, l, and \(\Phi\) is the dihedral angle formed by bonds i-j and k-l.

For a pair of atoms i and j separated by three or more bonds, where the distance between them is \(r_{ij}\), MMFF adopts the following Van der Waals potential:

\[V_v = \epsilon_{ij} \left(\frac{1.07R_{ij}}{r_{ij}+0.07R_{ij}} \right) ^7 \left( \frac{1.12R_{ij}^7}{r_{ij}^7+0.12R_{ij}} -2 \right)\]

where \(R_{ij}\) and \(\epsilon_{ij}\) are defined as follows:

\[R_{i} = A_i\alpha_i^{0.25}\]

\[R_{ij} = 0.5(R_i + R_j)(1+B(1-\exp(-12\gamma_{ij}^2)))\]

\[\gamma_{ij} = (R_i - R_j)/(R_i + R_j)\]

\[\epsilon_{ij} = \frac{181.16G_iG_j \alpha_i \alpha_j}{(\alpha_i/N_i)^{0.5} + (\alpha_j/N_j)^{0.5}} \frac{1}{R_{ij}^6}\]

where \(\alpha_i\) is atomic polarizability of atom i, B is 0.2 or 0.0 if one of the atoms is polar hydrogen, \(N_i\) and \(N_j\) are the Slater-Kirkwood effective numbers of valence electrons, \(G_i\), \(G_j\) and \(A_i\) are scale factors.

The electrostatic interaction between two charged atoms i and j separated by at least three bonds is calculated from the standard Coulombic expression:

\[V_c = f\frac{332.0716q_iq_j}{D(r_{ij} + \delta)}\]

where D is the dielectric constant for which the default value is 1, \(q_i\) and \(q_j\) are the MMFF partial charges on atoms i and j, \(r_{ij}\) is the interatomic distance, \(\delta\) is the “electrostatic buffering” constant of 0.05 Å\(\AA\). Scaling factor f is 0.75 for 1,4 interactions, and 1.0 otherwise.

Intermolecular interaction can be described by the Amber force field instead of MMFF potential:

\[V_{Amber} = \sum_{i,j} \left\{ \epsilon_{ij}\left[\left(\frac{R_{ij}}{r_{ij}}\right)^{12}
-2\left(\frac{R_{ij}}{r_{ij}}\right)^6\right] +
\frac{q_iq_j}{4\pi\epsilon_0r_{ij}}\right\}\]

where the summation is over protein-ligand atom pairs. \(r_{ij}\) is the interatomic distance, \(R_{ij}\) is the VdW distance for a pair of atoms, \(q_i\) and \(q_j\) are the Amber partial charges on atoms i and j, and \(\epsilon_0\) is the vacuum permittivity. VdW parameters \(R_{ij}\) and \(\epsilon_{ij}\) and partial charges are taken from ([Wang-2000]).

Intermolecular interaction can be described by the IEFF (Intermolecular Force Field) instead of MMFF potential.

The IEFF is an ongoing development effort internally at **OpenEye** to obtain high accuracy
Intermolecular Force Field. The initial development of IEFF was done during 2010. The goal of
the initial development was to prove internally at OpenEye as well as to external collaborators
that point charge monopole approximation in the Coulomb terms are inadequate to capture
intermolecular Coulomb interactions within chemical accuracy (within about 1 kcal/mol) regardless
of the charge models used. The higher accuracy in the Coulomb terms is especially important and
vital in optimizing and ranking organic crystal structures. The initial IEFF development has had
some successful crystal predictions. It has also clearly shown, for the formamide dimer case,
that there is a 1D energy curve along a given torsion angle where all tested point charge models fails even qualitatively showing repulsive interactions while accurate ab-initio calculations and
IEFF with multipole based Coulomb interactions show a minimum along the torsion with great
agreement to each other.

The IEFF has not been improved significantly since those initial academic studies and cannot be considered as a general purpose intermolecular force field due to lack of sufficient coverage. However, major development effort is underway to make IEFF an industry quality general intermolecular force field.

The currently available IEFF supports only a few selected elements that were the most important ones for organic crystal predictions, including H, C, N, O, S, F, and Cl. The atomic multipoles are obtained by an internal analysis program that obtains the SCF converged density matrixes from ab-initio (PSI4) calculations. The current IEFF does not use any atom types, all VdW parameters are associated to each element types. This obviously introduces a very significant weakness especially for hydrogens where both polar and apolar hydrogens share the same FF parameters but it is also important deficiency for other elements as well. The new version of the IEFF that is under development will try to address all of these deficiencies.