RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
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.
 
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
 
AngleBendContribcopy () 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 angle-bend term for the Universal Force Field.

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

Constructor & Destructor Documentation

◆ AngleBendContrib() [1/2]

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

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

◆ AngleBendContrib() [2/2]

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

◆ copy()

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

return a copy

Implements ForceFields::ForceFieldContrib.

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

◆ getEnergy()

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

returns our contribution to the energy of a position

Implements ForceFields::ForceFieldContrib.

◆ getGrad()

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

calculates our contribution to the gradients of a position

Implements ForceFields::ForceFieldContrib.


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