29 #ifndef CDPL_FORCEFIELD_MMFF94VANDERWAALSINTERACTION_HPP
30 #define CDPL_FORCEFIELD_MMFF94VANDERWAALSINTERACTION_HPP
55 double atom_pol1,
double eff_el_num1,
double fact_a1,
double fact_g1,
58 double expo,
double fact_b,
double beta,
double fact_darad,
double fact_daeps):
63 bool have_don =
false;
64 bool have_don_acc =
false;
66 switch (don_acc_type1) {
70 have_don_acc = (don_acc_type2 ==
ACCEPTOR);
74 have_don_acc = (don_acc_type2 ==
DONOR);
75 have_don = have_don_acc;
79 have_don = (don_acc_type2 ==
DONOR);
83 double rII = fact_a1 * std::pow(atom_pol1, expo);
84 double rJJ = fact_a2 * std::pow(atom_pol2, expo);
85 double gIJ = (rII - rJJ) / (rII + rJJ);
87 rIJ = 0.5 * (rII + rJJ);
90 rIJ += rIJ * fact_b * (1.0 - std::exp(-beta * gIJ * gIJ));
92 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);
99 rIJPow7 = std::pow(rIJ, 7.0);
128 std::size_t atom1Idx;
129 std::size_t atom2Idx;
Definition: MMFF94VanDerWaalsInteraction.hpp:43
std::size_t getAtom2Index() const
Definition: MMFF94VanDerWaalsInteraction.hpp:107
std::size_t getAtom1Index() const
Definition: MMFF94VanDerWaalsInteraction.hpp:102
double getEIJ() const
Definition: MMFF94VanDerWaalsInteraction.hpp:112
double getRIJPow7() const
Definition: MMFF94VanDerWaalsInteraction.hpp:122
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)
Definition: MMFF94VanDerWaalsInteraction.hpp:54
HDonorAcceptorType
Definition: MMFF94VanDerWaalsInteraction.hpp:47
@ NONE
Definition: MMFF94VanDerWaalsInteraction.hpp:49
@ DONOR
Definition: MMFF94VanDerWaalsInteraction.hpp:50
@ ACCEPTOR
Definition: MMFF94VanDerWaalsInteraction.hpp:51
double getRIJ() const
Definition: MMFF94VanDerWaalsInteraction.hpp:117
The namespace of the Chemical Data Processing Library.