10 #ifndef __RD_ANGLEBEND_H__ 11 #define __RD_ANGLEBEND_H__ 46 unsigned int idx3,
double bondOrder12,
double bondOrder23,
50 void getGrad(
double *pos,
double *grad)
const;
57 int d_at1Idx, d_at2Idx, d_at3Idx;
59 double d_forceConstant, d_C0, d_C1, d_C2;
61 double getEnergyTerm(
double cosTheta,
double sinThetaSq)
const;
62 double getThetaDeriv(
double cosTheta,
double sinTheta)
const;
83 double &dE_dTheta,
double &cosTheta,
double &sinTheta);
class to store atomic parameters for the Universal Force Field
void calcAngleBendGrad(RDGeom::Point3D *r, double *dist, double **g, double &dE_dTheta, double &cosTheta, double &sinTheta)
void getGrad(double *pos, double *grad) const
calculates our contribution to the gradients of a position
abstract base class for contributions to ForceFields
The angle-bend term for the Universal Force Field.
virtual AngleBendContrib * copy() const
return a copy
double calcAngleForceConstant(double theta0, double bondOrder12, double bondOrder23, const AtomicParams *at1Params, const AtomicParams *at2Params, const AtomicParams *at3Params)
Calculate the force constant for an angle bend.
double getEnergy(double *pos) const
returns our contribution to the energy of a position
A class to store forcefields and handle minimization.