# AmoebaTorsionTorsionForce Class Reference

This class implements the Amoeba torsion-torsion interaction. More...

`#include <AmoebaTorsionTorsionForce.h>`

Inheritance diagram for AmoebaTorsionTorsionForce:

List of all members.

## Classes
class | TorsionTorsionGridInfo
| This is an internal class used to record information about a grid.
class | TorsionTorsionInfo
| This is an internal class used to record information about a torsion-torsion term.
## Public Member Functions
| AmoebaTorsionTorsionForce (void)
| Create an AmoebaTorsionTorsionForce.
int | getNumTorsionTorsions (void) const
| Get the number of torsion-torsion terms in the potential function.
int | getNumTorsionTorsionGrids (void) const
| Get the number of torsion-torsion grids.
int | addTorsionTorsion (int particle1, int particle2, int particle3, int particle4, int particle5, int chiralCheckAtomIndex, int gridIndex)
| Add a torsion-torsion term to the force field.
void | getTorsionTorsionParameters (int index, int &particle1, int &particle2, int &particle3, int &particle4, int &particle5, int &chiralCheckAtomIndex, int &gridIndex) const
| Get the force field parameters for a torsion-torsion term.
void | setTorsionTorsionParameters (int index, int particle1, int particle2, int particle3, int particle4, int particle5, int chiralCheckAtomIndex, int gridIndex)
| Set the force field parameters for a torsion-torsion term.
const std::vector< std::vector < std::vector< double > > > & | getTorsionTorsionGrid (int index) const
| Get the torsion-torsion grid at the specified index.
void | setTorsionTorsionGrid (int index, const std::vector< std::vector< std::vector< double > > > &grid)
| Set the torsion-torsion grid at the specified index.
## Protected Member Functions
ForceImpl * | createImpl () const
| When a Context is created, it invokes this method on each Force in the System.

## Detailed Description

This class implements the Amoeba torsion-torsion interaction.

To use it, create an AmoebaTorsionTorsionForce object then call addTorsionTorsion() once for each torsion-torsion. After a torsion-torsion has been added, you can modify its force field parameters by calling setTorsionTorsionParameters().

## Constructor & Destructor Documentation

AmoebaTorsionTorsionForce | ( | void |  | ) |

Create an AmoebaTorsionTorsionForce.

## Member Function Documentation

int addTorsionTorsion | ( | int | particle1,
|  | int | particle2,
|  | int | particle3,
|  | int | particle4,
|  | int | particle5,
|  | int | chiralCheckAtomIndex,
|  | int | gridIndex |
| ) |  |  |

Add a torsion-torsion term to the force field.

Parameters:

  | particle1 | the index of the first particle connected by the torsion-torsion
  | particle2 | the index of the second particle connected by the torsion-torsion
  | particle3 | the index of the third particle connected by the torsion-torsion
  | particle4 | the index of the fourth particle connected by the torsion-torsion
  | particle5 | the index of the fifth particle connected by the torsion-torsion
  | chiralCheckAtomIndex | the index of the particle connected to particle3, but not particle2 or particle4 to be used in chirality check
  | gridIndex | the index to the grid to be used

Returns:
  the index of the torsion-torsion that was added

ForceImpl* createImpl | ( |  | ) | const`[protected, virtual]`

When a Context is created, it invokes this method on each Force in the System.

It should create a new ForceImpl object which can be used by the context for calculating forces. The ForceImpl will be deleted automatically when the Context is deleted.

Implements Force.

int getNumTorsionTorsionGrids | ( | void |  | ) | const`[inline]`

Get the number of torsion-torsion grids.

int getNumTorsionTorsions | ( | void |  | ) | const`[inline]`

Get the number of torsion-torsion terms in the potential function.

const std::vector<std::vector<std::vector<double> > >& getTorsionTorsionGrid | ( | int | index | ) | const

Get the torsion-torsion grid at the specified index.

Parameters:

  | gridIndex | the grid index

Returns:
  grid return grid reference

void getTorsionTorsionParameters | ( | int | index,
|  | int & | particle1,
|  | int & | particle2,
|  | int & | particle3,
|  | int & | particle4,
|  | int & | particle5,
|  | int & | chiralCheckAtomIndex,
|  | int & | gridIndex |
| ) |  |  | const

Get the force field parameters for a torsion-torsion term.

Parameters:

  | index | the index of the torsion-torsion for which to get parameters
  | particle1 | the index of the first particle connected by the torsion-torsion
  | particle2 | the index of the second particle connected by the torsion-torsion
  | particle3 | the index of the third particle connected by the torsion-torsion
  | particle4 | the index of the fourth particle connected by the torsion-torsion
  | particle5 | the index of the fifth particle connected by the torsion-torsion
  | chiralCheckAtomIndex | the index of the particle connected to particle3, but not particle2 or particle4 to be used in chirality check
  | gridIndex | the grid index

void setTorsionTorsionGrid | ( | int | index,
|  | const std::vector< std::vector< std::vector< double > > > & | grid |
| ) |  |  |

Set the torsion-torsion grid at the specified index.

Parameters:

  | index | the index of the torsion-torsion for which to get parameters
  | grid | either 3 or 6 values may be specified per grid point. If the derivatives are omitted, they are calculated automatically by fitting a 2D spline to the energies. grid[x][y][0] = x value grid[x][y][1] = y value grid[x][y][2] = energy grid[x][y][3] = dEdx value grid[x][y][4] = dEdy value grid[x][y][5] = dEd(xy) value

void setTorsionTorsionParameters | ( | int | index,
|  | int | particle1,
|  | int | particle2,
|  | int | particle3,
|  | int | particle4,
|  | int | particle5,
|  | int | chiralCheckAtomIndex,
|  | int | gridIndex |
| ) |  |  |

Set the force field parameters for a torsion-torsion term.

Parameters:

  | index | the index of the torsion-torsion for which to set parameters
  | particle1 | the index of the first particle connected by the torsion-torsion
  | particle2 | the index of the second particle connected by the torsion-torsion
  | particle3 | the index of the third particle connected by the torsion-torsion
  | particle4 | the index of the fourth particle connected by the torsion-torsion
  | particle5 | the index of the fifth particle connected by the torsion-torsion
  | chiralCheckAtomIndex | the index of the particle connected to particle3, but not particle2 or particle4 to be used in chirality check
  | gridIndex | the grid index

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

- AmoebaTorsionTorsionForce.h