13 #ifndef __RD_MMFFANGLEBEND_H__ 14 #define __RD_MMFFANGLEBEND_H__ 41 unsigned int idx3,
const MMFFAngle *mmffAngleParams,
42 const MMFFProp *mmffPropParamsCentralAtom);
43 double getEnergy(
double *pos)
const;
44 void getGrad(
double *pos,
double *grad)
const;
51 int d_at1Idx, d_at2Idx, d_at3Idx;
52 double d_ka, d_theta0;
61 double dist1,
double dist2);
64 const double cosTheta);
66 double &dE_dTheta,
double &cosTheta,
double &sinTheta);
RDKIT_FORCEFIELD_EXPORT double calcCosTheta(RDGeom::Point3D p1, RDGeom::Point3D p2, RDGeom::Point3D p3, double dist1, double dist2)
calculates and returns the cosine of the angle between points p1, p2, p3
RDKIT_FORCEFIELD_EXPORT void calcAngleBendGrad(RDGeom::Point3D *r, double *dist, double **g, double &dE_dTheta, double &cosTheta, double &sinTheta)
class to store MMFF parameters for angle bending
The angle-bend term for MMFF.
virtual AngleBendContrib * copy() const
return a copy
abstract base class for contributions to ForceFields
RDKIT_FORCEFIELD_EXPORT double calcAngleRestValue(const MMFFAngle *mmffAngleParams)
returns the MMFF rest value for an angle
#define RDKIT_FORCEFIELD_EXPORT
class to store MMFF parameters for bond stretching
RDKIT_FORCEFIELD_EXPORT double calcAngleBendEnergy(const double theta0, const double ka, bool isLinear, const double cosTheta)
calculates and returns the angle bending MMFF energy
A class to store forcefields and handle minimization.
RDKIT_FORCEFIELD_EXPORT double calcAngleForceConstant(const MMFFAngle *mmffAngleParams)
returns the MMFF force constant for an angle
class to store MMFF Properties