This repository contains a number of additional integrators for OpenMM in openmmtools.integrators
, including
MTSIntegrator
- a multiple timestep integratorDummyIntegrator
- a "dummy" integrator that does not update positionsGradientDescentMinimizationIntegrator
- a simple gradient descent minimizer (without line search)VelocityVerletIntegrator
- a velocity Verlet integratorAndersenVelocityVerletIntegrator
- a velocity Verlet integrator with Andersen thermostat using per-particle collisionsMetropolisMonteCarloIntegrator
- a Metropolis Monte Carlo integrator that uses Gaussian displacement trialsHMCIntegrator
- a hybrid Monte Carlo (HMC) integratorGHMCIntegrator
- a generalized hybrid Monte Carlo (GHMC) integratorVVVRIntegrator
- a velocity Verlet with velocity randomization (VVVR) integrator
The openmmtools.testsystems
module contains a large suite of test systems---including many with simple exactly-computable properties---that can be used to test molecular simulation algorithms
An implementation of an MCMCMove
encodes how to propagate an OpenMM System
to generate a new sample. Different MCMCMove
s can be combined for more advanced schemes.
LangevinDynamicsMove
: Langevin dynamics segment as a (pseudo) Monte Carlo move (WARNING: Does not preserve the true target distribution.).HMCMove
: Assigns velocities from the Maxwell-Boltzmann distribution and propagate through velocity Verlet steps.GHMCMove
: Generalized hybrid Monte Carlo Markov chain Monte Carlo.MonteCarloBarostatMove
: Attempts to update the box volume using Metropolis-Hastings Monte Carlo updates.SequenceMove
: Combine multipleMCMCMove
s to apply in sequence at each iteration.WeightedMove
: At each iteration, select oneMCMCMove
s to apply from a set with given probability.
The module openmmtools.states
contains classes to maintain a consistent state of the simulation.
ThermodynamicState
: Represent and manipulate the thermodynamic state of OpenMMSystem
s andContext
s.SamplerState
: Represent and cache the state of the simulation that changes when theSystem
is integrated.CompoundThermodynamicState
: Extend theThermodynamicState
to handle parameters other than temperature and pressure through the implementations of theIComposableState
abstract class.
The module openmmtools.cache
implements a shared LRU cache for Context
objects that tries to minimize the number of Context
in memory at the same time.
LRUCache
: A simple LRU cache with a dictionary-like interface. It supports a maximum capacity and expiration.ContextCache
: A LRU cache for OpenMMContext
objects.global_context_cache
: A sharedContextCache
that minimizes the number ofContext
creations when employingMCMCMove
s.
scripts/
contains a script that may be useful in testing your OpenMM installation is installed:
test-openmm-platforms
will test the various platforms available to OpenMM to ensure that all systems inopenmmtools.testsystems
give consistent potential energies. If differences in energies in excess ofENERGY_TOLERANCE
(default: 0.06 kcal/mol) are detected, these systems will be serialized to XML for further debugging.
This is installed onto the command line when the repository is installed.