13#ifndef __RD_MMFFNONBONDED_H__
14#define __RD_MMFFNONBONDED_H__
21class MMFFVdWCollection;
38 void getGrad(
double *pos,
double *grad)
const override;
42 int d_at1Idx{-1}, d_at2Idx{-1};
60 double chargeTerm, std::uint8_t dielModel,
bool is1_4);
62 void getGrad(
double *pos,
double *grad)
const override;
67 int d_at1Idx{-1}, d_at2Idx{-1};
78 const MMFFVdWCollection *mmffVdW,
const MMFFVdW *mmffVdWParamsAtom1,
79 const MMFFVdW *mmffVdWParamsAtom2);
83 double R_star_ij,
const MMFFVdW *mmffVdWParamsIAtom,
84 const MMFFVdW *mmffVdWParamsJAtom);
88 const MMFFVdWCollection *mmffVdW,
89 const MMFFVdW *mmffVdWParamsIAtom,
90 const MMFFVdW *mmffVdWParamsJAtom);
93 const double R_star_ij,
94 const double wellDepth);
98 unsigned int idx2,
double dist,
100 std::uint8_t dielModel,
pulls in the core RDKit functionality
abstract base class for contributions to ForceFields
A class to store forcefields and handle minimization.
the electrostatic term for MMFF
EleContrib * copy() const override
return a copy
double getEnergy(double *pos) const override
returns our contribution to the energy of a position
void getGrad(double *pos, double *grad) const override
calculates our contribution to the gradients of a position
EleContrib(ForceField *owner, unsigned int idx1, unsigned int idx2, double chargeTerm, std::uint8_t dielModel, bool is1_4)
Constructor.
the van der Waals term for MMFF
double getEnergy(double *pos) const override
returns our contribution to the energy of a position
VdWContrib * copy() const override
return a copy
VdWContrib(ForceField *owner, unsigned int idx1, unsigned int idx2, const MMFFVdWRijstarEps *mmffVdWConstants)
Constructor.
void getGrad(double *pos, double *grad) const override
calculates our contribution to the gradients of a position
#define RDKIT_FORCEFIELD_EXPORT