10#ifndef __RD_MMFFANGLEBEND_H__
11#define __RD_MMFFANGLEBEND_H__
37 void addTerm(
unsigned int idx1,
unsigned int idx2,
38 unsigned int idx3,
const MMFFAngle *mmffAngleParams,
39 const MMFFProp *mmffPropParamsCentralAtom);
42 void getGrad(
double *pos,
double *grad)
const override;
48 std::vector<bool> d_isLinear;
49 std::vector<int16_t> d_at1Idxs, d_at2Idxs, d_at3Idxs;
50 std::vector<double> d_ka, d_theta0;
68 const double cosTheta);
70 double **g,
double &dE_dTheta,
abstract base class for contributions to ForceFields
A class to store forcefields and handle minimization.
The angle-bend term for MMFF.
AngleBendContrib * copy() const override
return a copy
void getGrad(double *pos, double *grad) const override
calculates our contribution to the gradients of a position
AngleBendContrib(ForceField *owner)
Constructor.
double getEnergy(double *pos) const override
returns our contribution to the energy of a position
void addTerm(unsigned int idx1, unsigned int idx2, unsigned int idx3, const MMFFAngle *mmffAngleParams, const MMFFProp *mmffPropParamsCentralAtom)
class to store MMFF parameters for angle bending
class to store MMFF parameters for bond stretching
class to store MMFF Properties
#define RDKIT_FORCEFIELD_EXPORT