HarmonicAngleForce Class Reference

This class implements an interaction between groups of three particles that varies harmonically with the angle between them. More...

#include <HarmonicAngleForce.h>

Inheritance diagram for HarmonicAngleForce:
Force

List of all members.

Classes

class  AngleInfo
 This is an internal class used to record information about an angle.

Public Member Functions

 HarmonicAngleForce ()
 Create a HarmonicAngleForce.
int getNumAngles () const
 Get the number of harmonic bond angle terms in the potential function.
int addAngle (int particle1, int particle2, int particle3, double angle, double k)
 Add an angle term to the force field.
void getAngleParameters (int index, int &particle1, int &particle2, int &particle3, double &angle, double &k) const
 Get the force field parameters for an angle term.
void setAngleParameters (int index, int particle1, int particle2, int particle3, double angle, double k)
 Set the force field parameters for an angle term.

Protected Member Functions

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

Detailed Description

This class implements an interaction between groups of three particles that varies harmonically with the angle between them.

To use it, create a HarmonicAngleForce object then call addAngle() once for each angle. After an angle has been added, you can modify its force field parameters by calling setAngleParameters().


Constructor & Destructor Documentation

Create a HarmonicAngleForce.


Member Function Documentation

int addAngle ( int  particle1,
int  particle2,
int  particle3,
double  angle,
double  k 
)

Add an angle term to the force field.

Parameters:
particle1 the index of the first particle forming the angle
particle2 the index of the second particle forming the angle
particle3 the index of the third particle forming the angle
angle the equilibrium angle, measured in radians
k the harmonic force constant for the angle, measured in kJ/mol/radian^2
Returns:
the index of the angle that was added
ForceImpl* createImpl (  )  [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.

void getAngleParameters ( int  index,
int &  particle1,
int &  particle2,
int &  particle3,
double &  angle,
double &  k 
) const

Get the force field parameters for an angle term.

Parameters:
index the index of the angle for which to get parameters
particle1 the index of the first particle forming the angle
particle2 the index of the second particle forming the angle
particle3 the index of the third particle forming the angle
angle the equilibrium angle, measured in radians
k the harmonic force constant for the angle, measured in kJ/mol/radian^2
int getNumAngles (  )  const [inline]

Get the number of harmonic bond angle terms in the potential function.

void setAngleParameters ( int  index,
int  particle1,
int  particle2,
int  particle3,
double  angle,
double  k 
)

Set the force field parameters for an angle term.

Parameters:
index the index of the angle for which to set parameters
particle1 the index of the first particle forming the angle
particle2 the index of the second particle forming the angle
particle3 the index of the third particle forming the angle
angle the equilibrium angle, measured in radians
k the harmonic force constant for the angle, measured in kJ/mol/radian^2

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

Generated by  doxygen 1.6.2