diff --git a/README.md b/README.md index 770f6ab64..760a549d4 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,15 @@ This repository contains a number of additional integrators for OpenMM in `openm 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 +## Monte Carlo moves +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. +- `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 Monte Carlo updates. +- `SequenceMove`: Combine multiple `MCMCMove`s to apply in sequence at each iteration. +- `WeightedMove`: At each iteration, select one `MCMCMove`s to apply from a set with given probability. + ## States The module `openmmtools.states` contains classes to maintain a consistent state of the simulation. @@ -34,6 +43,7 @@ The module `openmmtools.states` contains classes to maintain a consistent state 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 OpenMM `Context` objects. +- `global_context_cache`: A shared `ContextCache` that minimizes the number of `Context` creations when employing `MCMCMove`s. ## OpenMM testing scripts