autodoxyclass

Input

The autodoxyclass directive will insert the docstring of the class:

.. autodoxyclass:: OpenMM::Force

which produces something like

.. :cpp:class:: OpenMM::Force

   Force's documentation.

If you want to automatically document members, there is a members option:

.. autodoxyclass:: OpenMM::Force
   :members:

which will automatically insert documentation for each of the members.

You can also add content to the directive which will appear after the class docstring but before the methods, like a summary table.

.. autodoxyclass:: OpenMM::Force
   :members:

   .. rubric:: Methods

   .. autodoxysummary::

     ~OpenMM::Force::getForceGroup
     ~OpenMM::Force::setForceGroup
     ~OpenMM::Force::usesPeriodicBoundaryConditions

Output

.. autodoxyclass:: OpenMM::Platform
class OpenMM::Platform

A Platform defines an implementation of all the kernels needed to perform some calculation. More precisely, a Platform object acts as a registry for a set of KernelFactory objects which together implement the kernels. The Platform class, in turn, provides a static registry of all available Platform objects.

To get a Platform object, call

Platform& platform Platform::findPlatform(kernelNames);

passing in the names of all kernels that will be required for the calculation you plan to perform. It will return the fastest available Platform which provides implementations of all the specified kernels. You can then call createKernel() to construct particular kernels as needed.


.. autodoxyclass:: OpenMM::Integrator
   :members:
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.

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

.. autodoxyclass:: OpenMM::Force
   :members:

   .. rubric:: Methods

   .. autodoxysummary::

     ~OpenMM::Force::getForceGroup
     ~OpenMM::Force::setForceGroup
     ~OpenMM::Force::usesPeriodicBoundaryConditions
class OpenMM::Force

Force objects apply forces to the particles in a System, or alter their behavior in other ways. This is an abstract class. Subclasses define particular forces.

More specifically, a Force object 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 Context and can be modified by the user
  • Change the values of parameters defined by other Force objects 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 System to be evaluated at different times. By default, all Forces are in group 0. Call setForceGroup() to change this. Some Force subclasses 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

getForceGroup Get the force group this Force belongs to.
setForceGroup Set the force group this Force belongs to.
usesPeriodicBoundaryConditions Returns whether or not this force makes use of periodic boundary conditions.
Force()
~Force()
int getForceGroup() const

Get the force group this Force belongs to.

void setForceGroup(int group)

Set the force group this Force belongs 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 Force subclasses, or a OpenMM::OpenMMException will be thrown

Returns:true if Force uses periodic boundaries or false if it does not