RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
ForceFields::MMFF::Utils Namespace Reference

Functions

RDKIT_FORCEFIELD_EXPORT double calcAngleRestValue (const MMFFAngle *mmffAngleParams)
 returns the MMFF rest value for an angle
 
RDKIT_FORCEFIELD_EXPORT double calcAngleForceConstant (const MMFFAngle *mmffAngleParams)
 returns the MMFF force constant for an angle
 
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
 
RDKIT_FORCEFIELD_EXPORT double calcAngleBendEnergy (const double theta0, const double ka, bool isLinear, const double cosTheta)
 calculates and returns the angle bending MMFF energy
 
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
 
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 calcUnscaledVdWMinimum (const MMFFVdWCollection *mmffVdW, const MMFFVdW *mmffVdWParamsAtom1, const MMFFVdW *mmffVdWParamsAtom2)
 
RDKIT_FORCEFIELD_EXPORT double calcUnscaledVdWWellDepth (double R_star_ij, const MMFFVdW *mmffVdWParamsIAtom, const MMFFVdW *mmffVdWParamsJAtom)
 
RDKIT_FORCEFIELD_EXPORT void scaleVdWParams (double &R_star_ij, double &wellDepth, const MMFFVdWCollection *mmffVdW, const MMFFVdW *mmffVdWParamsIAtom, const MMFFVdW *mmffVdWParamsJAtom)
 scales the VdW parameters
 
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
 
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
 
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)
 
RDKIT_FORCEFIELD_EXPORT double calcOopBendForceConstant (const MMFFOop *mmffOopParams)
 returns the out-of-plane force constant koop
 
RDKIT_FORCEFIELD_EXPORT double calcOopBendEnergy (const double chi, const double koop)
 calculates and returns the out-of-plane MMFF energy
 
RDKIT_FORCEFIELD_EXPORT std::pair< double, double > calcStbnForceConstants (const MMFFStbn *mmffStbnParams)
 returns the std::pair of stretch-bend force constants for an angle
 
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
 
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
 
RDKIT_FORCEFIELD_EXPORT std::tuple< double, double, double > calcTorsionForceConstant (const MMFFTor *mmffTorParams)
 returns the 3-tuple of a torsion angle force constants
 
RDKIT_FORCEFIELD_EXPORT double calcTorsionEnergy (const double V1, const double V2, const double V3, const double cosPhi)
 calculates and returns the torsional MMFF energy
 
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 std::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 contact

◆ 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 contact

◆ 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