This class implements an interaction between groups of four particles that varies periodically with the torsion angle between them. More...
#include <PeriodicTorsionForce.h>
Classes | |
class | PeriodicTorsionInfo |
This is an internal class used to record information about a torsion. | |
Public Member Functions | |
PeriodicTorsionForce () | |
Create a PeriodicTorsionForce. | |
int | getNumTorsions () const |
Get the number of periodic torsion terms in the potential function. | |
int | addTorsion (int particle1, int particle2, int particle3, int particle4, int periodicity, double phase, double k) |
Add a periodic torsion term to the force field. | |
void | getTorsionParameters (int index, int &particle1, int &particle2, int &particle3, int &particle4, int &periodicity, double &phase, double &k) const |
Get the force field parameters for a periodic torsion term. | |
void | setTorsionParameters (int index, int particle1, int particle2, int particle3, int particle4, int periodicity, double phase, double k) |
Set the force field parameters for a periodic torsion 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 four particles that varies periodically with the torsion angle between them.
To use it, create a PeriodicTorsionForce object then call addTorsion() once for each torsion. After a torsion has been added, you can modify its force field parameters by calling setTorsionParameters().
Create a PeriodicTorsionForce.
int addTorsion | ( | int | particle1, | |
int | particle2, | |||
int | particle3, | |||
int | particle4, | |||
int | periodicity, | |||
double | phase, | |||
double | k | |||
) |
Add a periodic torsion term to the force field.
particle1 | the index of the first particle forming the torsion | |
particle2 | the index of the second particle forming the torsion | |
particle3 | the index of the third particle forming the torsion | |
particle3 | the index of the fourth particle forming the torsion | |
periodicity | the periodicity of the torsion | |
phase | the phase offset of the torsion, measured in radians | |
k | the force constant for the torsion |
ForceImpl* createImpl | ( | ) | [protected, virtual] |
int getNumTorsions | ( | ) | const [inline] |
Get the number of periodic torsion terms in the potential function.
void getTorsionParameters | ( | int | index, | |
int & | particle1, | |||
int & | particle2, | |||
int & | particle3, | |||
int & | particle4, | |||
int & | periodicity, | |||
double & | phase, | |||
double & | k | |||
) | const |
Get the force field parameters for a periodic torsion term.
index | the index of the torsion for which to get parameters | |
particle1 | the index of the first particle forming the torsion | |
particle2 | the index of the second particle forming the torsion | |
particle3 | the index of the third particle forming the torsion | |
particle3 | the index of the fourth particle forming the torsion | |
periodicity | the periodicity of the torsion | |
phase | the phase offset of the torsion, measured in radians | |
k | the force constant for the torsion |
void setTorsionParameters | ( | int | index, | |
int | particle1, | |||
int | particle2, | |||
int | particle3, | |||
int | particle4, | |||
int | periodicity, | |||
double | phase, | |||
double | k | |||
) |
Set the force field parameters for a periodic torsion term.
index | the index of the torsion for which to set parameters | |
particle1 | the index of the first particle forming the torsion | |
particle2 | the index of the second particle forming the torsion | |
particle3 | the index of the third particle forming the torsion | |
particle3 | the index of the fourth particle forming the torsion | |
periodicity | the periodicity of the torsion | |
phase | the phase offset of the torsion, measured in radians | |
k | the force constant for the torsion |