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;
60 double chargeTerm, boost::uint8_t dielModel,
bool is1_4);
62 void getGrad(
double *pos,
double *grad)
const;
66 int d_at1Idx, d_at2Idx;
68 boost::uint8_t d_dielModel;
76 const MMFFVdW *mmffVdWParamsAtom1,
const MMFFVdW *mmffVdWParamsAtom2);
79 const MMFFVdW *mmffVdWParamsIAtom,
const MMFFVdW *mmffVdWParamsJAtom);
83 const MMFFVdW *mmffVdWParamsJAtom);
86 const double R_star_ij,
const double wellDepth);
88 double calcEleEnergy(
unsigned int idx1,
unsigned int idx2,
double dist,
89 double chargeTerm, boost::uint8_t dielModel,
bool is1_4);
double getEnergy(double *pos) const
returns our contribution to the energy of a position
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 contact
class to store MMFF parameters for non-bonded Van der Waals
abstract base class for contributions to ForceFields
virtual VdWContrib * copy() const
return a copy
pulls in the core RDKit functionality
virtual EleContrib * copy() const
return a copy
double calcUnscaledVdWMinimum(MMFFVdWCollection *mmffVdW, const MMFFVdW *mmffVdWParamsAtom1, const MMFFVdW *mmffVdWParamsAtom2)
calculates and returns the unscaled minimum distance (R*ij) for a MMFF VdW contact ...
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
void getGrad(double *pos, double *grad) const
calculates our contribution to the gradients 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.