OpenMM
 All Classes Namespaces Functions Variables Pages
AmoebaAngleForce Class Reference

This class implements an interaction between triplets of particles that varies with the angle between them. More...

+ Inheritance diagram for AmoebaAngleForce:

Public Member Functions

def getNumAngles
 getNumAngles(AmoebaAngleForce self) -> int
 
def setAmoebaGlobalAngleCubic
 setAmoebaGlobalAngleCubic(AmoebaAngleForce self, double cubicK)
 
def getAmoebaGlobalAngleCubic
 getAmoebaGlobalAngleCubic(AmoebaAngleForce self) -> double
 
def setAmoebaGlobalAngleQuartic
 setAmoebaGlobalAngleQuartic(AmoebaAngleForce self, double quarticK)
 
def getAmoebaGlobalAngleQuartic
 getAmoebaGlobalAngleQuartic(AmoebaAngleForce self) -> double
 
def setAmoebaGlobalAnglePentic
 setAmoebaGlobalAnglePentic(AmoebaAngleForce self, double penticK)
 
def getAmoebaGlobalAnglePentic
 getAmoebaGlobalAnglePentic(AmoebaAngleForce self) -> double
 
def setAmoebaGlobalAngleSextic
 setAmoebaGlobalAngleSextic(AmoebaAngleForce self, double sexticK)
 
def getAmoebaGlobalAngleSextic
 getAmoebaGlobalAngleSextic(AmoebaAngleForce self) -> double
 
def addAngle
 addAngle(AmoebaAngleForce self, int particle1, int particle2, int particle3, double length, double quadraticK) -> int
 
def getAngleParameters
 getAngleParameters(AmoebaAngleForce self, int index)
 
def setAngleParameters
 setAngleParameters(AmoebaAngleForce self, int index, int particle1, int particle2, int particle3, double length, double quadraticK)
 
def updateParametersInContext
 updateParametersInContext(AmoebaAngleForce self, Context context)
 
def __init__
 init(OpenMM::AmoebaAngleForce self) -> AmoebaAngleForce init(OpenMM::AmoebaAngleForce self, AmoebaAngleForce other) -> AmoebaAngleForce
 
def __del__
 del(OpenMM::AmoebaAngleForce self)
 
- Public Member Functions inherited from Force
def __init__
 
def __del__
 del(OpenMM::Force self)
 
def getForceGroup
 getForceGroup(Force self) -> int
 
def setForceGroup
 setForceGroup(Force self, int group)
 
def __copy__
 
def __deepcopy__
 

Public Attributes

 this
 

Detailed Description

This class implements an interaction between triplets of particles that varies with the angle between them.

The interaction is defined by a 6th order polynomial. Only the quadratic term is set per-angle. The coefficients of the higher order terms each have a single value that is set globally.

To use it, create an AmoebaAngleForce object then call addAngle() once for each angle. After an angle has been added, you can modify its force field parameters by calling setAngleParameters(). This will have no effect on Contexts that already exist unless you call updateParametersInContext().

Constructor & Destructor Documentation

def __init__ (   self,
  args 
)

init(OpenMM::AmoebaAngleForce self) -> AmoebaAngleForce init(OpenMM::AmoebaAngleForce self, AmoebaAngleForce other) -> AmoebaAngleForce

Create an AmoebaAngleForce.

def __del__ (   self)

del(OpenMM::AmoebaAngleForce self)

Member Function Documentation

def addAngle (   self,
  args 
)

addAngle(AmoebaAngleForce self, int particle1, int particle2, int particle3, double length, double quadraticK) -> int

Add an angle term to the force field.

Parameters
particle1the index of the first particle connected by the angle
particle2the index of the second particle connected by the angle
particle3the index of the third particle connected by the angle
lengththe angle measured in degrees
quadratick the quadratic force constant for the angle, measured in kJ/mol/radian^2
def getAmoebaGlobalAngleCubic (   self)

getAmoebaGlobalAngleCubic(AmoebaAngleForce self) -> double

Get the global cubic term

def getAmoebaGlobalAnglePentic (   self)

getAmoebaGlobalAnglePentic(AmoebaAngleForce self) -> double

Get the global pentic term

def getAmoebaGlobalAngleQuartic (   self)

getAmoebaGlobalAngleQuartic(AmoebaAngleForce self) -> double

Get the global quartic term

def getAmoebaGlobalAngleSextic (   self)

getAmoebaGlobalAngleSextic(AmoebaAngleForce self) -> double

Get the global sextic term

def getAngleParameters (   self,
  args 
)

getAngleParameters(AmoebaAngleForce self, int index)

Get the force field parameters for an angle term.

Parameters
indexthe index of the angle for which to get parameters
particle1the index of the first particle connected by the angle
particle2the index of the second particle connected by the angle
particle3the index of the third particle connected by the angle
lengththe equilibrium angle, measured in degress
quadratick the quadratic force constant for the angle, measured in kJ/mol/radian^2
def getNumAngles (   self)

getNumAngles(AmoebaAngleForce self) -> int

Get the number of angle stretch terms in the potential function

def setAmoebaGlobalAngleCubic (   self,
  args 
)

setAmoebaGlobalAngleCubic(AmoebaAngleForce self, double cubicK)

Set the global cubic term

Parameters
cubicKthe cubic force constant for the angle
def setAmoebaGlobalAnglePentic (   self,
  args 
)

setAmoebaGlobalAnglePentic(AmoebaAngleForce self, double penticK)

Set the global pentic term

Parameters
penticKthe pentic force constant for the angle
def setAmoebaGlobalAngleQuartic (   self,
  args 
)

setAmoebaGlobalAngleQuartic(AmoebaAngleForce self, double quarticK)

Set the global quartic term

Parameters
quarticKthe quartic force constant for the angle
def setAmoebaGlobalAngleSextic (   self,
  args 
)

setAmoebaGlobalAngleSextic(AmoebaAngleForce self, double sexticK)

Set the global sextic term

Parameters
sexticKthe sextic force constant for the angle
def setAngleParameters (   self,
  args 
)

setAngleParameters(AmoebaAngleForce self, int index, int particle1, int particle2, int particle3, double length, double quadraticK)

Set the force field parameters for an angle term.

Parameters
indexthe index of the angle for which to set parameters
particle1the index of the first particle connected by the angle
particle2the index of the second particle connected by the angle
particle3the index of the third particle connected by the angle
lengththe equilibrium angle, measured in degrees
quadratick the quadratic force constant for the angle, measured in kJ/mol/radian^2
def updateParametersInContext (   self,
  args 
)

updateParametersInContext(AmoebaAngleForce self, Context context)

Update the per-angle parameters in a Context to match those stored in this Force object. This method provides an efficient method to update certain parameters in an existing Context without needing to reinitialize it. Simply call setAngleParameters() to modify this object's parameters, then call updateParametersInState() to copy them over to the Context.

The only information this method updates is the values of per-angle parameters. The set of particles involved in an angle cannot be changed, nor can new angles be added.

Member Data Documentation

this

The documentation for this class was generated from the following file: