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

the torsion term for the Universal Force Field More...

#include <TorsionAngle.h>

Inheritance diagram for ForceFields::UFF::TorsionAngleContrib:
ForceFields::ForceFieldContrib

Public Member Functions

 TorsionAngleContrib ()
 
 TorsionAngleContrib (ForceField *owner, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, double bondOrder23, int atNum2, int atNum3, RDKit::Atom::HybridizationType hyb2, RDKit::Atom::HybridizationType hyb3, const AtomicParams *at2Params, const AtomicParams *at3Params, bool endAtomIsSP2=false)
 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...
 
void scaleForceConstant (unsigned int count)
 
virtual TorsionAngleContribcopy () 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 torsion term for the Universal Force Field

Definition at line 28 of file UFF/TorsionAngle.h.

Constructor & Destructor Documentation

ForceFields::UFF::TorsionAngleContrib::TorsionAngleContrib ( )
inline

Definition at line 30 of file UFF/TorsionAngle.h.

ForceFields::UFF::TorsionAngleContrib::TorsionAngleContrib ( ForceField owner,
unsigned int  idx1,
unsigned int  idx2,
unsigned int  idx3,
unsigned int  idx4,
double  bondOrder23,
int  atNum2,
int  atNum3,
RDKit::Atom::HybridizationType  hyb2,
RDKit::Atom::HybridizationType  hyb3,
const AtomicParams at2Params,
const AtomicParams at3Params,
bool  endAtomIsSP2 = false 
)

Constructor.

The torsion is between atom1 - atom2 - atom3 - atom4 (i.e the angle between bond atom1-atom2 and bond atom3-atom4 while looking down bond 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
idx4index of atom4 in the ForceField's positions
bondOrder23order of the torsional bond between atoms 2 and 3 (as a double)
atNum2atomic number of atom2
atNum3atomic number of atom3
hyb2hybridization of atom2
hyb3hybridization of atom3
at2Paramspointer to the parameters for atom 2
at3Paramspointer to the parameters for atom 3
endAtomIsSP2(optional) This boolean is used to signal whether either atom1 or atom4 are RDKit::Atom::SP2 hybridized. This triggers a special case when either of these cases holds:

Member Function Documentation

virtual TorsionAngleContrib* ForceFields::UFF::TorsionAngleContrib::copy ( ) const
inlinevirtual
double ForceFields::UFF::TorsionAngleContrib::getEnergy ( double *  pos) const
virtual

returns our contribution to the energy of a position

Implements ForceFields::ForceFieldContrib.

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

calculates our contribution to the gradients of a position

Implements ForceFields::ForceFieldContrib.

void ForceFields::UFF::TorsionAngleContrib::scaleForceConstant ( unsigned int  count)
inline

Definition at line 69 of file UFF/TorsionAngle.h.


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