Force¶
-
class
OpenMM::Force¶ Forceobjects apply forces to the particles in aSystem, or alter their behavior in other ways. This is an abstract class. Subclasses define particular forces.More specifically, a
Forceobject can do any or all of the following:- Add a contribution to the force on each particle
- Add a contribution to the potential energy of the
System - Modify the positions and velocities of particles at the start of each time step
- Define parameters which are stored in the
Contextand can be modified by the user - Change the values of parameters defined by other
Forceobjects at the start of each time step
Forces may be organized into “force groups”. This is used for multiple time step integration, and allows subsets of the Forces in a
Systemto be evaluated at different times. By default, all Forces are in group 0. CallsetForceGroup()to change this. SomeForcesubclasses may provide additional methods to further split their computations into multiple groups. Be aware that particular Platforms may place restrictions on the use of force groups, such as requiring all nonbonded forces to be in the same group.Methods
Force~ForcegetForceGroupGet the force group this Forcebelongs to.setForceGroupSet the force group this Forcebelongs to.usesPeriodicBoundaryConditionsReturns whether or not this force makes use of periodic boundary conditions. -
Force()¶
-
~Force()¶
-
void
setForceGroup(int group)¶ Set the force group this
Forcebelongs to.Parameters: - group – the group index. Legal values are between 0 and 31 (inclusive).
-
bool
usesPeriodicBoundaryConditions() const¶ Returns whether or not this force makes use of periodic boundary conditions. This method should be overridden for all
Forcesubclasses, or aOpenMM::OpenMMExceptionwill be thrownReturns: true if Forceuses periodic boundaries or false if it does not