13#ifndef __RD_MMFFBONDSTRETCH_H__
14#define __RD_MMFFBONDSTRETCH_H__
20class MMFFBondStretchEmpiricalRule;
37 const unsigned int idx2,
const MMFFBond *mmffBondParams);
41 void getGrad(
double *pos,
double *grad)
const override;
48 int d_at1Idx{-1}, d_at2Idx{-1};
63 const double distance);
abstract base class for contributions to ForceFields
A class to store forcefields and handle minimization.
The bond-stretch term for MMFF.
void getGrad(double *pos, double *grad) const override
calculates our contribution to the gradients of a position
BondStretchContrib * copy() const override
return a copy
BondStretchContrib(ForceField *owner, const unsigned int idx1, const unsigned int idx2, const MMFFBond *mmffBondParams)
Constructor.
double getEnergy(double *pos) const override
returns our contribution to the energy of a position
class to store MMFF parameters for bond stretching
#define RDKIT_FORCEFIELD_EXPORT
RDKIT_FORCEFIELD_EXPORT double calcBondForceConstant(const MMFFBond *mmffBondParams)
returns the MMFF force constant for a bond
RDKIT_FORCEFIELD_EXPORT double calcBondStretchEnergy(const double r0, const double kb, const double distance)
calculates and returns the bond stretching MMFF energy
RDKIT_FORCEFIELD_EXPORT double calcBondRestLength(const MMFFBond *mmffBondParams)
returns the MMFF rest length for a bond