13#ifndef __RD_MMFFSTRETCHBEND_H__
14#define __RD_MMFFSTRETCHBEND_H__
42 const unsigned int idx2,
const unsigned int idx3,
49 void getGrad(
double *pos,
double *grad)
const override;
55 int d_at1Idx{-1}, d_at2Idx{-1}, d_at3Idx{-1};
56 double d_restLen1, d_restLen2, d_theta0;
57 std::pair<double, double> d_forceConstants;
62 const MMFFStbn *mmffStbnParams);
65 const double deltaDist1,
const double deltaDist2,
const double deltaTheta,
66 const std::pair<double, double> forceConstants);
abstract base class for contributions to ForceFields
A class to store forcefields and handle minimization.
class to store MMFF parameters for angle bending
class to store MMFF parameters for bond stretching
class to store MMFF parameters for stretch-bending
The angle-bend term for MMFF.
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
StretchBendContrib * copy() const override
return a copy
StretchBendContrib(ForceField *owner, const unsigned int idx1, const unsigned int idx2, const unsigned int idx3, const MMFFStbn *mmffStbnParams, const MMFFAngle *mmffAngleParams, const MMFFBond *mmffBondParams1, const MMFFBond *mmffBondParams2)
Constructor.
#define RDKIT_FORCEFIELD_EXPORT