1 #ifndef OPENMM_PERIODICTORSIONFORCE_H_
2 #define OPENMM_PERIODICTORSIONFORCE_H_
39 #include "internal/windowsExport.h"
60 return periodicTorsions.size();
74 int addTorsion(
int particle1,
int particle2,
int particle3,
int particle4,
int periodicity,
double phase,
double k);
87 void getTorsionParameters(
int index,
int& particle1,
int& particle2,
int& particle3,
int& particle4,
int& periodicity,
double& phase,
double& k)
const;
100 void setTorsionParameters(
int index,
int particle1,
int particle2,
int particle3,
int particle4,
int periodicity,
double phase,
double k);
110 void updateParametersInContext(
Context& context);
121 ForceImpl* createImpl()
const;
123 class PeriodicTorsionInfo;
124 std::vector<PeriodicTorsionInfo> periodicTorsions;
131 class PeriodicTorsionForce::PeriodicTorsionInfo {
133 int particle1, particle2, particle3, particle4, periodicity;
135 PeriodicTorsionInfo() {
136 particle1 = particle2 = particle3 = particle4 = -1;
140 PeriodicTorsionInfo(
int particle1,
int particle2,
int particle3,
int particle4,
int periodicity,
double phase,
double k) :
141 particle1(particle1), particle2(particle2), particle3(particle3), particle4(particle4), periodicity(periodicity), phase(phase), k(k) {
int getNumTorsions() const
Get the number of periodic torsion terms in the potential function.
Definition: PeriodicTorsionForce.h:59
A Context stores the complete state of a simulation.
Definition: Context.h:67
Force objects apply forces to the particles in a System, or alter their behavior in other ways...
Definition: Force.h:65
This class implements an interaction between groups of four particles that varies periodically with t...
Definition: PeriodicTorsionForce.h:50
bool usesPeriodicBoundaryConditions() const
Returns whether or not this force makes use of periodic boundary conditions.
Definition: PeriodicTorsionForce.h:117
Definition: AndersenThermostat.h:40