RBTorsionForce Class Reference
This class implements an interaction between groups of four particles that varies with the torsion angle between them according to the Ryckaert-Bellemans potential.
More...
#include <RBTorsionForce.h>
List of all members.
Classes |
class | RBTorsionInfo |
| This is an internal class used to record information about a torsion.
|
Public Member Functions |
| RBTorsionForce () |
| Create a RBTorsionForce.
|
int | getNumTorsions () const |
| Get the number of Ryckaert-Bellemans torsion terms in the potential function.
|
int | addTorsion (int particle1, int particle2, int particle3, int particle4, double c0, double c1, double c2, double c3, double c4, double c5) |
| Add a Ryckaert-Bellemans torsion term to the force field.
|
void | getTorsionParameters (int index, int &particle1, int &particle2, int &particle3, int &particle4, double &c0, double &c1, double &c2, double &c3, double &c4, double &c5) const |
| Get the force field parameters for a Ryckaert-Bellemans torsion term.
|
void | setTorsionParameters (int index, int particle1, int particle2, int particle3, int particle4, double c0, double c1, double c2, double c3, double c4, double c5) |
| Set the force field parameters for a Ryckaert-Bellemans torsion term.
|
Protected Member Functions |
ForceImpl * | createImpl () |
| 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 four particles that varies with the torsion angle between them according to the Ryckaert-Bellemans potential.
To use it, create an RBTorsionForce object then call addTorsion() once for each torsion. After a torsion has been added, you can modify its force field parameters by calling setTorsionParameters().
Constructor & Destructor Documentation
Member Function Documentation
int addTorsion |
( |
int |
particle1, |
|
|
int |
particle2, |
|
|
int |
particle3, |
|
|
int |
particle4, |
|
|
double |
c0, |
|
|
double |
c1, |
|
|
double |
c2, |
|
|
double |
c3, |
|
|
double |
c4, |
|
|
double |
c5 | |
|
) |
| | |
Add a Ryckaert-Bellemans torsion term to the force field.
- 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 |
| c0 | the coefficient of the constant term, measured in kJ/mol |
| c1 | the coefficient of the 1st order term, measured in kJ/mol |
| c2 | the coefficient of the 2nd order term, measured in kJ/mol |
| c3 | the coefficient of the 3rd order term, measured in kJ/mol |
| c4 | the coefficient of the 4th order term, measured in kJ/mol |
| c5 | the coefficient of the 5th order term, measured in kJ/mol |
- Returns:
- the index of the torsion 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.
int getNumTorsions |
( |
|
) |
const [inline] |
Get the number of Ryckaert-Bellemans torsion terms in the potential function.
void getTorsionParameters |
( |
int |
index, |
|
|
int & |
particle1, |
|
|
int & |
particle2, |
|
|
int & |
particle3, |
|
|
int & |
particle4, |
|
|
double & |
c0, |
|
|
double & |
c1, |
|
|
double & |
c2, |
|
|
double & |
c3, |
|
|
double & |
c4, |
|
|
double & |
c5 | |
|
) |
| | const |
Get the force field parameters for a Ryckaert-Bellemans torsion term.
- Parameters:
-
| 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 |
| c0 | the coefficient of the constant term, measured in kJ/mol |
| c1 | the coefficient of the 1st order term, measured in kJ/mol |
| c2 | the coefficient of the 2nd order term, measured in kJ/mol |
| c3 | the coefficient of the 3rd order term, measured in kJ/mol |
| c4 | the coefficient of the 4th order term, measured in kJ/mol |
| c5 | the coefficient of the 5th order term, measured in kJ/mol |
void setTorsionParameters |
( |
int |
index, |
|
|
int |
particle1, |
|
|
int |
particle2, |
|
|
int |
particle3, |
|
|
int |
particle4, |
|
|
double |
c0, |
|
|
double |
c1, |
|
|
double |
c2, |
|
|
double |
c3, |
|
|
double |
c4, |
|
|
double |
c5 | |
|
) |
| | |
Set the force field parameters for a Ryckaert-Bellemans torsion term.
- Parameters:
-
| 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 |
| c0 | the coefficient of the constant term, measured in kJ/mol |
| c1 | the coefficient of the 1st order term, measured in kJ/mol |
| c2 | the coefficient of the 2nd order term, measured in kJ/mol |
| c3 | the coefficient of the 3rd order term, measured in kJ/mol |
| c4 | the coefficient of the 4th order term, measured in kJ/mol |
| c5 | the coefficient of the 5th order term, measured in kJ/mol |
The documentation for this class was generated from the following file: