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

Functions

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.
 
RDKIT_FORCEFIELD_EXPORT void calcAngleBendGrad (RDGeom::Point3D *r, double *dist, double **g, double &dE_dTheta, double &cosTheta, double &sinTheta)
 
RDKIT_FORCEFIELD_EXPORT double calcBondRestLength (double bondOrder, const AtomicParams *end1Params, const AtomicParams *end2Params)
 calculates and returns the UFF rest length for a bond
 
RDKIT_FORCEFIELD_EXPORT double calcBondForceConstant (double restLength, const AtomicParams *end1Params, const AtomicParams *end2Params)
 calculates and returns the UFF force constant for a bond
 
RDKIT_FORCEFIELD_EXPORT double calculateCosY (const RDGeom::Point3D &iPoint, const RDGeom::Point3D &jPoint, const RDGeom::Point3D &kPoint, const RDGeom::Point3D &lPoint)
 
RDKIT_FORCEFIELD_EXPORT std::tuple< double, double, double, double > calcInversionCoefficientsAndForceConstant (int at2AtomicNum, bool isCBoundToO)
 calculates and returns the UFF force constant for an improper torsion
 
RDKIT_FORCEFIELD_EXPORT double calcNonbondedMinimum (const AtomicParams *at1Params, const AtomicParams *at2Params)
 calculates and returns the UFF minimum position for a vdW contact
 
RDKIT_FORCEFIELD_EXPORT double calcNonbondedDepth (const AtomicParams *at1Params, const AtomicParams *at2Params)
 calculates and returns the UFF well depth for a vdW contact
 
RDKIT_FORCEFIELD_EXPORT double calculateCosTorsion (const RDGeom::Point3D &p1, const RDGeom::Point3D &p2, const RDGeom::Point3D &p3, const RDGeom::Point3D &p4)
 calculates and returns the cosine of a torsion angle
 
RDKIT_FORCEFIELD_EXPORT void calcTorsionGrad (RDGeom::Point3D *r, RDGeom::Point3D *t, double *d, double **g, double &sinTerm, double &cosPhi)
 
RDKIT_FORCEFIELD_EXPORT double equation17 (double bondOrder23, const AtomicParams *at2Params, const AtomicParams *at3Params)
 
RDKIT_FORCEFIELD_EXPORT bool isInGroup6 (int num)
 

Function Documentation

◆ calcAngleBendGrad()

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

◆ calcAngleForceConstant()

RDKIT_FORCEFIELD_EXPORT double ForceFields::UFF::Utils::calcAngleForceConstant ( double theta0,
double bondOrder12,
double bondOrder23,
const AtomicParams * at1Params,
const AtomicParams * at2Params,
const AtomicParams * at3Params )

Calculate the force constant for an angle bend.

The angle is between atom1 - atom2 - atom3

Parameters
theta0the preferred value of the angle (in radians)
bondOrder12order of the bond between atoms 1 and 2 (as a double)
bondOrder23order of the bond between atoms 2 and 3 (as a double)
at1Paramspointer to the parameters for atom 1
at2Paramspointer to the parameters for atom 2
at3Paramspointer to the parameters for atom 3

◆ calcBondForceConstant()

RDKIT_FORCEFIELD_EXPORT double ForceFields::UFF::Utils::calcBondForceConstant ( double restLength,
const AtomicParams * end1Params,
const AtomicParams * end2Params )

calculates and returns the UFF force constant for a bond

Parameters
restLengththe rest length of the bond
end1Paramspointer to the parameters for end1
end2Paramspointer to the parameters for end2
Returns
the force constant

◆ calcBondRestLength()

RDKIT_FORCEFIELD_EXPORT double ForceFields::UFF::Utils::calcBondRestLength ( double bondOrder,
const AtomicParams * end1Params,
const AtomicParams * end2Params )

calculates and returns the UFF rest length for a bond

Parameters
bondOrderthe order of the bond (as a double)
end1Paramspointer to the parameters for end1
end2Paramspointer to the parameters for end2
Returns
the rest length

◆ calcInversionCoefficientsAndForceConstant()

RDKIT_FORCEFIELD_EXPORT std::tuple< double, double, double, double > ForceFields::UFF::Utils::calcInversionCoefficientsAndForceConstant ( int at2AtomicNum,
bool isCBoundToO )

calculates and returns the UFF force constant for an improper torsion

Parameters
at2AtomicNumatomic number for atom 2
isCBoundToOboolean flag; true if atom 2 is sp2 carbon bound to sp2 oxygen
Returns
the force constant

◆ calcNonbondedDepth()

RDKIT_FORCEFIELD_EXPORT double ForceFields::UFF::Utils::calcNonbondedDepth ( const AtomicParams * at1Params,
const AtomicParams * at2Params )

calculates and returns the UFF well depth for a vdW contact

Parameters
at1Paramspointer to the parameters for end1
at2Paramspointer to the parameters for end2
Returns
the depth of the well

◆ calcNonbondedMinimum()

RDKIT_FORCEFIELD_EXPORT double ForceFields::UFF::Utils::calcNonbondedMinimum ( const AtomicParams * at1Params,
const AtomicParams * at2Params )

calculates and returns the UFF minimum position for a vdW contact

Parameters
at1Paramspointer to the parameters for end1
at2Paramspointer to the parameters for end2
Returns
the position of the minimum

◆ calcTorsionGrad()

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

◆ calculateCosTorsion()

RDKIT_FORCEFIELD_EXPORT double ForceFields::UFF::Utils::calculateCosTorsion ( const RDGeom::Point3D & p1,
const RDGeom::Point3D & p2,
const RDGeom::Point3D & p3,
const RDGeom::Point3D & p4 )

calculates and returns the cosine of a torsion angle

◆ calculateCosY()

RDKIT_FORCEFIELD_EXPORT double ForceFields::UFF::Utils::calculateCosY ( const RDGeom::Point3D & iPoint,
const RDGeom::Point3D & jPoint,
const RDGeom::Point3D & kPoint,
const RDGeom::Point3D & lPoint )

calculates and returns the cosine of the Y angle in an improper torsion (see UFF paper, equation 19)

◆ equation17()

RDKIT_FORCEFIELD_EXPORT double ForceFields::UFF::Utils::equation17 ( double bondOrder23,
const AtomicParams * at2Params,
const AtomicParams * at3Params )

◆ isInGroup6()

RDKIT_FORCEFIELD_EXPORT bool ForceFields::UFF::Utils::isInGroup6 ( int num)