10#ifndef __RD_MMFFNONBONDED_H__
11#define __RD_MMFFNONBONDED_H__
18class MMFFVdWCollection;
28 void getGrad(
double *pos,
double *grad)
const override;
32 std::vector<int16_t> d_at1Idxs;
33 std::vector<int16_t> d_at2Idxs;
34 std::vector<double> d_R_ij_stars;
35 std::vector<double> d_wellDepths;
51 void addTerm(
unsigned int idx1,
unsigned int idx2,
52 double chargeTerm, std::uint8_t dielModel,
bool is1_4);
54 void getGrad(
double *pos,
double *grad)
const override;
59 std::vector<int16_t> d_at1Idxs;
60 std::vector<int16_t> d_at2Idxs;
61 std::vector<double> d_chargeTerms;
62 std::vector<std::uint8_t> d_is_1_4s;
63 std::vector<std::uint8_t>
71 const MMFFVdWCollection *mmffVdW,
const MMFFVdW *mmffVdWParamsAtom1,
72 const MMFFVdW *mmffVdWParamsAtom2);
76 double R_star_ij,
const MMFFVdW *mmffVdWParamsIAtom,
77 const MMFFVdW *mmffVdWParamsJAtom);
81 const MMFFVdWCollection *mmffVdW,
82 const MMFFVdW *mmffVdWParamsIAtom,
83 const MMFFVdW *mmffVdWParamsJAtom);
86 const double R_star_ij,
87 const double wellDepth);
91 unsigned int idx2,
double dist,
93 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)
Constructor.
void addTerm(unsigned int idx1, unsigned int idx2, double chargeTerm, std::uint8_t dielModel, bool is1_4)
the van der Waals term for MMFF
void addTerm(unsigned int idx1, unsigned int idx2, const MMFFVdWRijstarEps *mmffVdWConstants)
Track a new VdW pair.
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)
void getGrad(double *pos, double *grad) const override
calculates our contribution to the gradients of a position
#define RDKIT_FORCEFIELD_EXPORT