12 #ifndef __RD_MMFFNONBONDED_H__ 13 #define __RD_MMFFNONBONDED_H__ 20 class MMFFVdWCollection;
37 void getGrad(
double *pos,
double *grad)
const;
41 int d_at1Idx, d_at2Idx;
59 double chargeTerm, boost::uint8_t dielModel,
bool is1_4);
61 void getGrad(
double *pos,
double *grad)
const;
66 int d_at1Idx, d_at2Idx;
77 const MMFFVdW *mmffVdWParamsAtom1,
78 const MMFFVdW *mmffVdWParamsAtom2);
82 const MMFFVdW *mmffVdWParamsIAtom,
83 const MMFFVdW *mmffVdWParamsJAtom);
87 const MMFFVdW *mmffVdWParamsIAtom,
88 const MMFFVdW *mmffVdWParamsJAtom);
90 double calcVdWEnergy(
const double dist,
const double R_star_ij,
91 const double wellDepth);
93 double calcEleEnergy(
unsigned int idx1,
unsigned int idx2,
double dist,
94 double chargeTerm, boost::uint8_t dielModel,
bool is1_4);
virtual VdWContrib * copy() const
return a copy
virtual EleContrib * copy() const
return a copy
the electrostatic term for MMFF
double calcVdWEnergy(const double dist, const double R_star_ij, const double wellDepth)
calculates and returns the Van der Waals MMFF energy
double calcUnscaledVdWWellDepth(double R_star_ij, const MMFFVdW *mmffVdWParamsIAtom, const MMFFVdW *mmffVdWParamsJAtom)
calculates and returns the unscaled well depth (epsilon) for a MMFF VdW
class to store MMFF parameters for non-bonded Van der Waals
abstract base class for contributions to ForceFields
pulls in the core RDKit functionality
void getGrad(double *pos, double *grad) const
calculates our contribution to the gradients of a position
double calcUnscaledVdWMinimum(MMFFVdWCollection *mmffVdW, const MMFFVdW *mmffVdWParamsAtom1, const MMFFVdW *mmffVdWParamsAtom2)
calculates and returns the unscaled minimum distance (R*ij) for a MMFF VdW
double calcEleEnergy(unsigned int idx1, unsigned int idx2, double dist, double chargeTerm, boost::uint8_t dielModel, bool is1_4)
calculates and returns the electrostatic MMFF energy
double getEnergy(double *pos) const
returns our contribution to the energy of a position
the van der Waals term for MMFF
void scaleVdWParams(double &R_star_ij, double &wellDepth, MMFFVdWCollection *mmffVdW, const MMFFVdW *mmffVdWParamsIAtom, const MMFFVdW *mmffVdWParamsJAtom)
scales the VdW parameters
A class to store forcefields and handle minimization.