1 #ifndef OPENMM_AMOEBA_ANGLE_FORCE_H_
2 #define OPENMM_AMOEBA_ANGLE_FORCE_H_
35 #include "openmm/Force.h"
36 #include "internal/windowsExportAmoeba.h"
73 void setAmoebaGlobalAngleCubic(
double cubicK );
80 double getAmoebaGlobalAngleCubic(
void )
const;
87 void setAmoebaGlobalAngleQuartic(
double quarticK );
94 double getAmoebaGlobalAngleQuartic(
void )
const;
101 void setAmoebaGlobalAnglePentic(
double penticK );
108 double getAmoebaGlobalAnglePentic(
void )
const;
115 void setAmoebaGlobalAngleSextic(
double sexticK );
122 double getAmoebaGlobalAngleSextic(
void )
const;
134 int addAngle(
int particle1,
int particle2,
int particle3,
double length,
double quadraticK );
146 void getAngleParameters(
int index,
int& particle1,
int& particle2,
int& particle3,
double& length,
double& quadraticK )
const;
158 void setAngleParameters(
int index,
int particle1,
int particle2,
int particle3,
double length,
double quadraticK );
168 void updateParametersInContext(
Context& context);
175 std::vector<AngleInfo> angles;
182 class AmoebaAngleForce::AngleInfo {
184 int particle1, particle2, particle3;
185 double length, quadraticK;
187 particle1 = particle2 = particle3 = -1;
188 length = quadraticK = 0.0;
190 AngleInfo(
int particle1,
int particle2,
int particle3,
double length,
double quadraticK ) :
191 particle1(particle1), particle2(particle2), particle3(particle3), length(length), quadraticK(quadraticK) {
double _globalSexticK
Definition: AmoebaAngleForce.h:172
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
int getNumAngles() const
Get the number of angle stretch terms in the potential function.
Definition: AmoebaAngleForce.h:64
This class implements an interaction between triplets of particles that varies with the angle between...
Definition: AmoebaAngleForce.h:52
A ForceImpl provides the internal implementation of a Force.
Definition: ForceImpl.h:57