RDKit
Open-source cheminformatics and machine learning.
ForceFields::MMFF::Utils Namespace Reference

Functions

RDKIT_FORCEFIELD_EXPORT double calcAngleRestValue (const MMFFAngle *mmffAngleParams)
 returns the MMFF rest value for an angle More...
 
RDKIT_FORCEFIELD_EXPORT double calcAngleForceConstant (const MMFFAngle *mmffAngleParams)
 returns the MMFF force constant for an angle More...
 
RDKIT_FORCEFIELD_EXPORT 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 More...
 
RDKIT_FORCEFIELD_EXPORT double calcAngleBendEnergy (const double theta0, const double ka, bool isLinear, const double cosTheta)
 calculates and returns the angle bending MMFF energy More...
 
RDKIT_FORCEFIELD_EXPORT void calcAngleBendGrad (RDGeom::Point3D *r, double *dist, double **g, double &dE_dTheta, double &cosTheta, double &sinTheta)
 
RDKIT_FORCEFIELD_EXPORT double calcBondRestLength (const MMFFBond *mmffBondParams)
 returns the MMFF rest length for a bond More...
 
RDKIT_FORCEFIELD_EXPORT double calcBondForceConstant (const MMFFBond *mmffBondParams)
 returns the MMFF force constant for a bond More...
 
RDKIT_FORCEFIELD_EXPORT double calcBondStretchEnergy (const double r0, const double kb, const double distance)
 calculates and returns the bond stretching MMFF energy More...
 
RDKIT_FORCEFIELD_EXPORT double calcUnscaledVdWMinimum (const MMFFVdWCollection *mmffVdW, const MMFFVdW *mmffVdWParamsAtom1, const MMFFVdW *mmffVdWParamsAtom2)
 calculates and returns the unscaled minimum distance (R*ij) for a MMFF VdW More...
 
RDKIT_FORCEFIELD_EXPORT double calcUnscaledVdWWellDepth (double R_star_ij, const MMFFVdW *mmffVdWParamsIAtom, const MMFFVdW *mmffVdWParamsJAtom)
 calculates and returns the unscaled well depth (epsilon) for a MMFF VdW More...
 
RDKIT_FORCEFIELD_EXPORT void scaleVdWParams (double &R_star_ij, double &wellDepth, const MMFFVdWCollection *mmffVdW, const MMFFVdW *mmffVdWParamsIAtom, const MMFFVdW *mmffVdWParamsJAtom)
 scales the VdW parameters More...
 
RDKIT_FORCEFIELD_EXPORT double calcVdWEnergy (const double dist, const double R_star_ij, const double wellDepth)
 calculates and returns the Van der Waals MMFF energy More...
 
RDKIT_FORCEFIELD_EXPORT double calcEleEnergy (unsigned int idx1, unsigned int idx2, double dist, double chargeTerm, std::uint8_t dielModel, bool is1_4)
 calculates and returns the electrostatic MMFF energy More...
 
RDKIT_FORCEFIELD_EXPORT double calcOopChi (const RDGeom::Point3D &iPoint, const RDGeom::Point3D &jPoint, const RDGeom::Point3D &kPoint, const RDGeom::Point3D &lPoint)
 calculates and returns the Wilson angle (in degrees) More...
 
RDKIT_FORCEFIELD_EXPORT double calcOopBendForceConstant (const MMFFOop *mmffOopParams)
 returns the out-of-plane force constant koop More...
 
RDKIT_FORCEFIELD_EXPORT double calcOopBendEnergy (const double chi, const double koop)
 calculates and returns the out-of-plane MMFF energy More...
 
RDKIT_FORCEFIELD_EXPORT std::pair< double, double > calcStbnForceConstants (const MMFFStbn *mmffStbnParams)
 returns the std::pair of stretch-bend force constants for an angle More...
 
RDKIT_FORCEFIELD_EXPORT std::pair< double, double > calcStretchBendEnergy (const double deltaDist1, const double deltaDist2, const double deltaTheta, const std::pair< double, double > forceConstants)
 calculates and returns the stretch-bending MMFF energy More...
 
RDKIT_FORCEFIELD_EXPORT double calcTorsionCosPhi (const RDGeom::Point3D &iPoint, const RDGeom::Point3D &jPoint, const RDGeom::Point3D &kPoint, const RDGeom::Point3D &lPoint)
 calculates and returns the cosine of a torsion angle More...
 
RDKIT_FORCEFIELD_EXPORT boost::tuple< double, double, double > calcTorsionForceConstant (const MMFFTor *mmffTorParams)
 returns the 3-tuple of a torsion angle force constants More...
 
RDKIT_FORCEFIELD_EXPORT double calcTorsionEnergy (const double V1, const double V2, const double V3, const double cosPhi)
 calculates and returns the torsional MMFF energy More...
 
RDKIT_FORCEFIELD_EXPORT void calcTorsionGrad (RDGeom::Point3D *r, RDGeom::Point3D *t, double *d, double **g, double &sinTerm, double &cosPhi)
 

Function Documentation

◆ calcAngleBendEnergy()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcAngleBendEnergy ( const double  theta0,
const double  ka,
bool  isLinear,
const double  cosTheta 
)

calculates and returns the angle bending MMFF energy

◆ calcAngleBendGrad()

RDKIT_FORCEFIELD_EXPORT void ForceFields::MMFF::Utils::calcAngleBendGrad ( RDGeom::Point3D r,
double *  dist,
double **  g,
double &  dE_dTheta,
double &  cosTheta,
double &  sinTheta 
)

◆ calcAngleForceConstant()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcAngleForceConstant ( const MMFFAngle mmffAngleParams)

returns the MMFF force constant for an angle

◆ calcAngleRestValue()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcAngleRestValue ( const MMFFAngle mmffAngleParams)

returns the MMFF rest value for an angle

◆ calcBondForceConstant()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcBondForceConstant ( const MMFFBond mmffBondParams)

returns the MMFF force constant for a bond

◆ calcBondRestLength()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcBondRestLength ( const MMFFBond mmffBondParams)

returns the MMFF rest length for a bond

◆ calcBondStretchEnergy()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcBondStretchEnergy ( const double  r0,
const double  kb,
const double  distance 
)

calculates and returns the bond stretching MMFF energy

◆ calcCosTheta()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::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

◆ calcEleEnergy()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcEleEnergy ( unsigned int  idx1,
unsigned int  idx2,
double  dist,
double  chargeTerm,
std::uint8_t  dielModel,
bool  is1_4 
)

calculates and returns the electrostatic MMFF energy

◆ calcOopBendEnergy()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcOopBendEnergy ( const double  chi,
const double  koop 
)

calculates and returns the out-of-plane MMFF energy

◆ calcOopBendForceConstant()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcOopBendForceConstant ( const MMFFOop mmffOopParams)

returns the out-of-plane force constant koop

◆ calcOopChi()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcOopChi ( const RDGeom::Point3D iPoint,
const RDGeom::Point3D jPoint,
const RDGeom::Point3D kPoint,
const RDGeom::Point3D lPoint 
)

calculates and returns the Wilson angle (in degrees)

◆ calcStbnForceConstants()

RDKIT_FORCEFIELD_EXPORT std::pair<double, double> ForceFields::MMFF::Utils::calcStbnForceConstants ( const MMFFStbn mmffStbnParams)

returns the std::pair of stretch-bend force constants for an angle

◆ calcStretchBendEnergy()

RDKIT_FORCEFIELD_EXPORT std::pair<double, double> ForceFields::MMFF::Utils::calcStretchBendEnergy ( const double  deltaDist1,
const double  deltaDist2,
const double  deltaTheta,
const std::pair< double, double >  forceConstants 
)

calculates and returns the stretch-bending MMFF energy

◆ calcTorsionCosPhi()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcTorsionCosPhi ( const RDGeom::Point3D iPoint,
const RDGeom::Point3D jPoint,
const RDGeom::Point3D kPoint,
const RDGeom::Point3D lPoint 
)

calculates and returns the cosine of a torsion angle

◆ calcTorsionEnergy()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcTorsionEnergy ( const double  V1,
const double  V2,
const double  V3,
const double  cosPhi 
)

calculates and returns the torsional MMFF energy

◆ calcTorsionForceConstant()

RDKIT_FORCEFIELD_EXPORT boost::tuple<double, double, double> ForceFields::MMFF::Utils::calcTorsionForceConstant ( const MMFFTor mmffTorParams)

returns the 3-tuple of a torsion angle force constants

◆ calcTorsionGrad()

RDKIT_FORCEFIELD_EXPORT void ForceFields::MMFF::Utils::calcTorsionGrad ( RDGeom::Point3D r,
RDGeom::Point3D t,
double *  d,
double **  g,
double &  sinTerm,
double &  cosPhi 
)

◆ calcUnscaledVdWMinimum()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcUnscaledVdWMinimum ( const MMFFVdWCollection mmffVdW,
const MMFFVdW mmffVdWParamsAtom1,
const MMFFVdW mmffVdWParamsAtom2 
)

calculates and returns the unscaled minimum distance (R*ij) for a MMFF VdW

◆ calcUnscaledVdWWellDepth()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcUnscaledVdWWellDepth ( double  R_star_ij,
const MMFFVdW mmffVdWParamsIAtom,
const MMFFVdW mmffVdWParamsJAtom 
)

calculates and returns the unscaled well depth (epsilon) for a MMFF VdW

◆ calcVdWEnergy()

RDKIT_FORCEFIELD_EXPORT double ForceFields::MMFF::Utils::calcVdWEnergy ( const double  dist,
const double  R_star_ij,
const double  wellDepth 
)

calculates and returns the Van der Waals MMFF energy

◆ scaleVdWParams()

RDKIT_FORCEFIELD_EXPORT void ForceFields::MMFF::Utils::scaleVdWParams ( double &  R_star_ij,
double &  wellDepth,
const MMFFVdWCollection mmffVdW,
const MMFFVdW mmffVdWParamsIAtom,
const MMFFVdW mmffVdWParamsJAtom 
)

scales the VdW parameters