This class implements an interaction between groups of three particles that varies harmonically with the angle between them. More...
#include <HarmonicAngleForce.h>
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 | |
ForceImpl * | createImpl () |
When a Context is created, it invokes this method on each Force in the System. |
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().
Create a HarmonicAngleForce.
int addAngle | ( | int | particle1, | |
int | particle2, | |||
int | particle3, | |||
double | angle, | |||
double | k | |||
) |
Add an angle term to the force field.
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 |
ForceImpl* createImpl | ( | ) | [protected, virtual] |
void getAngleParameters | ( | int | index, | |
int & | particle1, | |||
int & | particle2, | |||
int & | particle3, | |||
double & | angle, | |||
double & | k | |||
) | const |
Get the force field parameters for an angle term.
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.
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 |