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:

## 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
AngleBendContrib * | copy () 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
ForceField * | dp_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

  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
  bondOrder12 | order of the bond between atoms 1 and 2 (as a double)
  bondOrder23 | order of the bond between atoms 2 and 3 (as a double)
  at1Params | pointer to the parameters for atom 1
  at2Params | pointer to the parameters for atom 2
  at3Params | pointer 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

inline override virtual

return a copy

Implements ForceFields::ForceFieldContrib.

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

## getEnergy()

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

override virtual

returns our contribution to the energy of a position

Implements ForceFields::ForceFieldContrib.

## getGrad()

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

override virtual

calculates our contribution to the gradients of a position

Implements ForceFields::ForceFieldContrib.

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

- UFF/AngleBend.h