29 #ifndef CDPL_FORCEFIELD_MMFF94VANDERWAALSINTERACTION_HPP
30 #define CDPL_FORCEFIELD_MMFF94VANDERWAALSINTERACTION_HPP
82 double atom_pol1,
double eff_el_num1,
double fact_a1,
double fact_g1,
85 double expo,
double fact_b,
double beta,
double fact_darad,
double fact_daeps):
90 bool have_don =
false;
91 bool have_don_acc =
false;
93 switch (don_acc_type1) {
97 have_don_acc = (don_acc_type2 ==
ACCEPTOR);
101 have_don_acc = (don_acc_type2 ==
DONOR);
102 have_don = have_don_acc;
106 have_don = (don_acc_type2 ==
DONOR);
110 double rII = fact_a1 * std::pow(atom_pol1, expo);
111 double rJJ = fact_a2 * std::pow(atom_pol2, expo);
112 double gIJ = (rII - rJJ) / (rII + rJJ);
114 rIJ = 0.5 * (rII + rJJ);
117 rIJ += rIJ * fact_b * (1.0 - std::exp(-beta * gIJ * gIJ));
119 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);
126 rIJPow7 = std::pow(rIJ, 7.0);
175 std::size_t atom1Idx;
176 std::size_t atom2Idx;
Stores parameters for a single MMFF94 Van der Waals interaction between two non-bonded atoms.
Definition: MMFF94VanDerWaalsInteraction.hpp:46
std::size_t getAtom2Index() const
Returns the zero-based index of the second atom.
Definition: MMFF94VanDerWaalsInteraction.hpp:142
std::size_t getAtom1Index() const
Returns the zero-based index of the first atom.
Definition: MMFF94VanDerWaalsInteraction.hpp:133
double getEIJ() const
Returns the combined well-depth parameter .
Definition: MMFF94VanDerWaalsInteraction.hpp:151
double getRIJPow7() const
Returns the pre-computed seventh power of .
Definition: MMFF94VanDerWaalsInteraction.hpp:169
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:81
HDonorAcceptorType
MMFF94 hydrogen-bond donor/acceptor classification of an atom.
Definition: MMFF94VanDerWaalsInteraction.hpp:51
@ NONE
The atom is neither a hydrogen-bond donor nor an acceptor.
Definition: MMFF94VanDerWaalsInteraction.hpp:54
@ DONOR
The atom is a hydrogen-bond donor.
Definition: MMFF94VanDerWaalsInteraction.hpp:56
@ ACCEPTOR
The atom is a hydrogen-bond acceptor.
Definition: MMFF94VanDerWaalsInteraction.hpp:58
double getRIJ() const
Returns the combined minimum-energy distance .
Definition: MMFF94VanDerWaalsInteraction.hpp:160
The namespace of the Chemical Data Processing Library.