RDKit
Open-source cheminformatics and machine learning.
ForceFields::UFF::AngleBendContrib Class Reference

The angle-bend term for the Universal Force Field. More...

#include <AngleBend.h>

Inheritance diagram for ForceFields::UFF::AngleBendContrib:
ForceFields::ForceFieldContrib

Public Member Functions

 AngleBendContrib ()
 
 AngleBendContrib (ForceField *owner, unsigned int idx1, unsigned int idx2, unsigned int idx3, double bondOrder12, double bondOrder23, const AtomicParams *at1Params, const AtomicParams *at2Params, const AtomicParams *at3Params, unsigned int order=0)
 Constructor. More...
 
double getEnergy (double *pos) const
 returns our contribution to the energy of a position More...
 
void getGrad (double *pos, double *grad) const
 calculates our contribution to the gradients of a position More...
 
virtual AngleBendContribcopy () const
 return a copy More...
 
- Public Member Functions inherited from ForceFields::ForceFieldContrib
 ForceFieldContrib ()
 
 ForceFieldContrib (ForceFields::ForceField *owner)
 
virtual ~ForceFieldContrib ()
 

Additional Inherited Members

- Protected Attributes inherited from ForceFields::ForceFieldContrib
ForceFielddp_forceField
 our owning ForceField More...
 

Detailed Description

The angle-bend term for the Universal Force Field.

Definition at line 21 of file UFF/AngleBend.h.

Constructor & Destructor Documentation

ForceFields::UFF::AngleBendContrib::AngleBendContrib ( )
inline

Definition at line 23 of file UFF/AngleBend.h.

References getEnergy(), and getGrad().

Referenced by copy().

ForceFields::UFF::AngleBendContrib::AngleBendContrib ( ForceField owner,
unsigned int  idx1,
unsigned int  idx2,
unsigned int  idx3,
double  bondOrder12,
double  bondOrder23,
const AtomicParams at1Params,
const AtomicParams at2Params,
const AtomicParams at3Params,
unsigned int  order = 0 
)

Constructor.

The angle is between atom1 - atom2 - atom3

Parameters
ownerpointer to the owning ForceField
idx1index of atom1 in the ForceField's positions
idx2index of atom2 in the ForceField's positions
idx3index of atom3 in the ForceField's positions
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
order(optional) the order of the angle term, this is for special cases and should adopt values:
  • 0: not a special case, use the theta0 value from at2Params
  • 2: linear coordination
  • 3: trigonal planar coordination
  • 4: square planar or tetrahedral coordination

Member Function Documentation

virtual AngleBendContrib* ForceFields::UFF::AngleBendContrib::copy ( ) const
inlinevirtual

return a copy

Implements ForceFields::ForceFieldContrib.

Definition at line 52 of file UFF/AngleBend.h.

References AngleBendContrib().

double ForceFields::UFF::AngleBendContrib::getEnergy ( double *  pos) const
virtual

returns our contribution to the energy of a position

Implements ForceFields::ForceFieldContrib.

Referenced by AngleBendContrib().

void ForceFields::UFF::AngleBendContrib::getGrad ( double *  pos,
double *  grad 
) const
virtual

calculates our contribution to the gradients of a position

Implements ForceFields::ForceFieldContrib.

Referenced by AngleBendContrib().


The documentation for this class was generated from the following file: