10#ifndef __RD_MMFFBONDSTRETCH_H__
11#define __RD_MMFFBONDSTRETCH_H__
19class MMFFBondStretchEmpiricalRule;
36 const unsigned int idx2,
41 void getGrad(
double *pos,
double *grad)
const override;
48 std::vector<int> d_at1Idxs, d_at2Idxs;
49 std::vector<double> d_r0;
50 std::vector<double> d_kb;
63 const double distance);
void getGrad(double *pos, double *grad) const override
calculates our contribution to the gradients of a position
BondStretchContrib * copy() const override
return a copy
void addTerm(const unsigned int idx1, const unsigned int idx2, const MMFFBond *mmffBondParams)
double getEnergy(double *pos) const override
returns our contribution to the energy of a position
BondStretchContrib(ForceField *owner)
Constructor.
class to store MMFF parameters for bond stretching
#define RDKIT_FORCEFIELD_EXPORT
RDKIT_FORCEFIELD_EXPORT double calcBondForceConstant(const MMFFBond *mmffBondParams)
returns the MMFF force constant for a bond
RDKIT_FORCEFIELD_EXPORT double calcBondStretchEnergy(const double r0, const double kb, const double distance)
calculates and returns the bond stretching MMFF energy
RDKIT_FORCEFIELD_EXPORT double calcBondRestLength(const MMFFBond *mmffBondParams)
returns the MMFF rest length for a bond