RDCode: ForceFields::UFF::TorsionAngleContrib Class Reference

# ForceFields::UFF::TorsionAngleContrib Class Reference

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

`#include <TorsionAngle.h>`

Inheritance diagram for ForceFields::UFF::TorsionAngleContrib:

List of all members.

## 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
| returns our contribution to the energy of a position
void | getGrad (double *pos, double *grad) const
| calculates our contribution to the gradients of a position
void | scaleForceConstant (unsigned int count)

## Detailed Description

the torsion term for the Universal Force Field

Definition at line 24 of file TorsionAngle.h.

## Constructor & Destructor Documentation

ForceFields::UFF::TorsionAngleContrib::TorsionAngleContrib | ( |  | ) | `[inline]`

Definition at line 26 of file 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:

  | owner | pointer to the owning ForceField
  | idx1 | index of atom1 in the ForceField's positions
  | idx2 | index of atom2 in the ForceField's positions
  | idx3 | index of atom3 in the ForceField's positions
  | idx4 | index of atom4 in the ForceField's positions
  | bondOrder23 | order of the torsional bond between atoms 2 and 3 (as a double)
  | atNum2 | atomic number of atom2
  | atNum3 | atomic number of atom3
  | hyb2 | hybridization of atom2
  | hyb3 | hybridization of atom3
  | at2Params | pointer to the parameters for atom 2
  | at3Params | pointer 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: atom1 is RDKit::Atom::SP2, atom2 is RDKit::Atom::SP2 and atom3 is RDKit::Atom::SP3 atom4 is RDKit::Atom::SP2, atom3 is RDKit::Atom::SP2 and atom2 is RDKit::Atom::SP3

## Member Function Documentation

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 66 of file TorsionAngle.h.

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

- TorsionAngle.h