29 #ifndef CDPL_FORCEFIELD_MMFF94VANDERWAALSINTERACTION_HPP
30 #define CDPL_FORCEFIELD_MMFF94VANDERWAALSINTERACTION_HPP
93 double atom_pol1,
double eff_el_num1,
double fact_a1,
double fact_g1,
96 double expo,
double fact_b,
double beta,
double fact_darad,
double fact_daeps):
101 bool have_don =
false;
102 bool have_don_acc =
false;
104 switch (don_acc_type1) {
108 have_don_acc = (don_acc_type2 ==
ACCEPTOR);
112 have_don_acc = (don_acc_type2 ==
DONOR);
113 have_don = have_don_acc;
117 have_don = (don_acc_type2 ==
DONOR);
121 double rII = fact_a1 * std::pow(atom_pol1, expo);
122 double rJJ = fact_a2 * std::pow(atom_pol2, expo);
123 double gIJ = (rII - rJJ) / (rII + rJJ);
125 rIJ = 0.5 * (rII + rJJ);
128 rIJ += rIJ * fact_b * (1.0 - std::exp(-beta * gIJ * gIJ));
130 eIJ = 181.16 * fact_g1 * fact_g2 * atom_pol1 * atom_pol2 / (std::pow(atom_pol1 / eff_el_num1, 0.5) + std::pow(atom_pol2 / eff_el_num2, 0.5)) * std::pow(rIJ, -6.0);
137 rIJPow7 = std::pow(rIJ, 7.0);
186 std::size_t atom1Idx;
187 std::size_t atom2Idx;
Stores parameters for a single MMFF94 Van der Waals interaction between two non-bonded atoms.
Definition: MMFF94VanDerWaalsInteraction.hpp:47
std::size_t getAtom2Index() const
Returns the zero-based index of the second atom.
Definition: MMFF94VanDerWaalsInteraction.hpp:153
std::size_t getAtom1Index() const
Returns the zero-based index of the first atom.
Definition: MMFF94VanDerWaalsInteraction.hpp:144
double getEIJ() const
Returns the combined well-depth parameter .
Definition: MMFF94VanDerWaalsInteraction.hpp:162
double getRIJPow7() const
Returns the pre-computed seventh power of .
Definition: MMFF94VanDerWaalsInteraction.hpp:180
MMFF94VanDerWaalsInteraction(std::size_t atom1_idx, std::size_t atom2_idx, double atom_pol1, double eff_el_num1, double fact_a1, double fact_g1, HDonorAcceptorType don_acc_type1, double atom_pol2, double eff_el_num2, double fact_a2, double fact_g2, HDonorAcceptorType don_acc_type2, double expo, double fact_b, double beta, double fact_darad, double fact_daeps)
Constructs the Van der Waals interaction parameter set and pre-computes some coordinates invariant MM...
Definition: MMFF94VanDerWaalsInteraction.hpp:92
HDonorAcceptorType
MMFF94 hydrogen-bond donor/acceptor classification of an atom.
Definition: MMFF94VanDerWaalsInteraction.hpp:54
@ NONE
The atom is neither a hydrogen-bond donor nor an acceptor.
Definition: MMFF94VanDerWaalsInteraction.hpp:59
@ DONOR
The atom is a hydrogen-bond donor.
Definition: MMFF94VanDerWaalsInteraction.hpp:64
@ ACCEPTOR
The atom is a hydrogen-bond acceptor.
Definition: MMFF94VanDerWaalsInteraction.hpp:69
double getRIJ() const
Returns the combined minimum-energy distance .
Definition: MMFF94VanDerWaalsInteraction.hpp:171
The namespace of the Chemical Data Processing Library.