RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
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.
 
double getEnergy (double *pos) const override
 returns our contribution to the energy of a position
 
void getGrad (double *pos, double *grad) const override
 calculates our contribution to the gradients of a position
 
void scaleForceConstant (unsigned int count)
 
TorsionAngleContribcopy () const override
 return a copy
 
- 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 {nullptr}
 our owning ForceField
 

Detailed Description

the torsion term for the Universal Force Field

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

Constructor & Destructor Documentation

◆ TorsionAngleContrib() [1/2]

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

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

◆ TorsionAngleContrib() [2/2]

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

◆ copy()

TorsionAngleContrib * ForceFields::UFF::TorsionAngleContrib::copy ( ) const
inlineoverridevirtual

return a copy

Implements ForceFields::ForceFieldContrib.

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

◆ getEnergy()

double ForceFields::UFF::TorsionAngleContrib::getEnergy ( double * pos) const
overridevirtual

returns our contribution to the energy of a position

Implements ForceFields::ForceFieldContrib.

◆ getGrad()

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

calculates our contribution to the gradients of a position

Implements ForceFields::ForceFieldContrib.

◆ scaleForceConstant()

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: