Integrator

class OpenMM::Integrator

An Integrator defines a method for simulating a System by integrating the equations of motion. This is an abstract class. Subclasses define particular integration methods.

Each Integrator object is bound to a particular Context which it integrates. This connection is specified by passing the Integrator as an argument to the constructor of the Context.

Methods

Integrator

~Integrator

getStepSize

Get the size of each time step, in picoseconds.

setStepSize

Set the size of each time step, in picoseconds.

getConstraintTolerance

Get the distance tolerance within which constraints are maintained, as a fraction of the constrained distance.

setConstraintTolerance

Set the distance tolerance within which constraints are maintained, as a fraction of the constrained distance.

step

Advance a simulation through time by taking a series of time steps.

getIntegrationForceGroups

Get which force groups to use for integration.

setIntegrationForceGroups

Set which force groups to use for integration.

Integrator()
~Integrator()
double getStepSize() const

Get the size of each time step, in picoseconds. If this integrator uses variable time steps, the size of the most recent step is returned.

Returns

the step size, measured in ps

void setStepSize(double size)

Set the size of each time step, in picoseconds. If this integrator uses variable time steps, the effect of calling this method is undefined, and it may simply be ignored.

Parameters

  • size – the step size, measured in ps

double getConstraintTolerance() const

Get the distance tolerance within which constraints are maintained, as a fraction of the constrained distance.

void setConstraintTolerance(double tol)

Set the distance tolerance within which constraints are maintained, as a fraction of the constrained distance.

void step(int steps) = 0

Advance a simulation through time by taking a series of time steps.

Parameters

  • steps – the number of time steps to take

int getIntegrationForceGroups() const

Get which force groups to use for integration. By default, all force groups are included. This is interpreted as a set of bit flags: the forces from group i will be included if (groups&(1<<i)) != 0.

void setIntegrationForceGroups(int groups)

Set which force groups to use for integration. By default, all force groups are included. This is interpreted as a set of bit flags: the forces from group i will be included if (groups&(1<<i)) != 0.