 |
RDKit
Open-source cheminformatics and machine learning.
|
Go to the documentation of this file.
11 #ifndef __RD_ANGLEBEND_H__
12 #define __RD_ANGLEBEND_H__
47 unsigned int idx3,
double bondOrder12,
double bondOrder23,
51 void getGrad(
double *pos,
double *grad)
const;
58 int d_at1Idx, d_at2Idx, d_at3Idx;
60 double d_forceConstant, d_C0, d_C1, d_C2;
62 double getEnergyTerm(
double cosTheta,
double sinThetaSq)
const;
63 double getThetaDeriv(
double cosTheta,
double sinTheta)
const;
80 double theta0,
double bondOrder12,
double bondOrder23,
84 double **g,
double &dE_dTheta,
The angle-bend term for the Universal Force Field.
RDKIT_FORCEFIELD_EXPORT 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.
A class to store forcefields and handle minimization.
void getGrad(double *pos, double *grad) const
calculates our contribution to the gradients of a position
abstract base class for contributions to ForceFields
#define RDKIT_FORCEFIELD_EXPORT
virtual AngleBendContrib * copy() const
return a copy
RDKIT_FORCEFIELD_EXPORT void calcAngleBendGrad(RDGeom::Point3D *r, double *dist, double **g, double &dE_dTheta, double &cosTheta, double &sinTheta)
AngleBendContrib(ForceField *owner, unsigned int idx1, unsigned int idx2, unsigned int idx3, double bondOrder12, double bondOrder23, const AtomicParams *at1Params, const AtomicParams *at2Params, const AtomicParams *at3Params, unsigned int order=0)
Constructor.
class to store atomic parameters for the Universal Force Field
double getEnergy(double *pos) const
returns our contribution to the energy of a position