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

Functions

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

Function Documentation

void ForceFields::UFF::Utils::calcAngleBendGrad ( RDGeom::Point3D r,
double *  dist,
double **  g,
double &  dE_dTheta,
double &  cosTheta,
double &  sinTheta 
)
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
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

Referenced by ForceFields::UFF::BondStretchContrib::copy().

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

Referenced by ForceFields::UFF::BondStretchContrib::copy().

boost::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

Referenced by ForceFields::UFF::InversionContrib::copy().

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

Referenced by ForceFields::UFF::vdWContrib::copy().

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

Referenced by ForceFields::UFF::vdWContrib::copy().

void ForceFields::UFF::Utils::calcTorsionGrad ( RDGeom::Point3D r,
RDGeom::Point3D t,
double *  d,
double **  g,
double &  sinTerm,
double &  cosPhi 
)
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

Referenced by ForceFields::UFF::TorsionAngleContrib::copy().

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)

Referenced by ForceFields::UFF::InversionContrib::copy().

double ForceFields::UFF::Utils::equation17 ( double  bondOrder23,
const AtomicParams at2Params,
const AtomicParams at3Params 
)
bool ForceFields::UFF::Utils::isInGroup6 ( int  num)