12 #ifndef __RD_MMFFANGLEBEND_H__ 13 #define __RD_MMFFANGLEBEND_H__ 40 unsigned int idx3,
const MMFFAngle *mmffAngleParams,
41 const MMFFProp *mmffPropParamsCentralAtom);
43 void getGrad(
double *pos,
double *grad)
const;
50 int d_at1Idx, d_at2Idx, d_at3Idx;
51 double d_ka, d_theta0;
60 double dist1,
double dist2);
63 const double cosTheta);
65 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
double calcAngleRestValue(const MMFFAngle *mmffAngleParams)
returns the MMFF rest value for an angle
double calcAngleBendEnergy(const double theta0, const double ka, bool isLinear, const double cosTheta)
calculates and returns the angle bending MMFF energy
double calcAngleForceConstant(const MMFFAngle *mmffAngleParams)
returns the MMFF force constant for an angle
double getEnergy(double *pos) const
returns our contribution to the energy of a position
class to store MMFF parameters for bond stretching
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
A class to store forcefields and handle minimization.
void calcAngleBendGrad(RDGeom::Point3D *r, double *dist, double **g, double &dE_dTheta, double &cosTheta, double &sinTheta)
class to store MMFF Properties
void getGrad(double *pos, double *grad) const
calculates our contribution to the gradients of a position