← Back to all sparks
O

OpenMM

DEVOPS
Velocity0.0

High performance toolkit for molecular dynamics simulation

OpenMM keeps opening new simulation domains while pushing more of the run onto the GPU

molecular-dynamicsgpu-accelerationml-potentialsforce-fieldselectrochemistrypython-api
Current state
OpenMM alternates substantial minor releases roughly every five months with quick patch releases that clean up the fallout. The 8.4 and 8.5 cycles added two genuinely new capabilities — constant-potential electrodes and a Python escape hatch for machine-learning potentials — alongside the force-field refreshes and new integrators that make up its normal cadence. Performance work continues in parallel, most recently by moving energy minimization entirely onto the GPU.
Where it's heading
The engine is being repositioned as a host for physics it does not implement itself. PythonForce, the OpenFF internal changes, TinkerFiles and the constant-pH groundwork all point the same way: OpenMM supplies the integrator, the GPU kernels and the force-field plumbing, and lets external ecosystems supply the model. The second thread is unglamorous and consistent — every release moves more of the simulation loop off the CPU, from the HIP platform in 8.2 to the minimizer rewrite in 8.5.
Prediction
Constant pH is described as living in a separate repository with only its prerequisites merged, so the obvious next step is folding that implementation into the main release. Expect the patch-release pattern to continue as well: 8.5.0 and 8.4.0 each drew fixes within weeks, most of them in barostats and force initialization.

Recent moves

  1. 2mo ago

    OpenMM 8.5.2 fixes context deselection before evaluation

    A single-fix patch ensuring contexts are deselected before evaluation. Routine cleanup in the 8.5 line, invisible to anyone not hitting the specific failure.

    View source ↗
  2. 4mo ago

    OpenMM 8.5.1 patches barostat pressure and minimizer precision

    Four fixes covering a leaked variable in template constraint assignment, precision loss in the minimizer's energy comparison, concurrent forces on the worker thread, and pressure in MonteCarloFlexibleBarostat. Two of them touch code paths 8.5.0 had just rewritten.

    View source ↗
  3. 4mo ago

    OpenMM 8.5.0 opens ML potentials to any Python implementation

    ⚡ SPARK

    The clearest expression of the host-for-external-physics trajectory: PythonForce lets any Python-implemented potential act as a force, which the maintainers say widens ML-potential support well beyond what was previously reachable. The GPU minimizer rewrite in the same release continues the parallel push to keep the whole loop off the CPU.

    View source ↗
  4. 9mo ago

    OpenMM 8.4.0 simulates electrodes held at constant potential

    ⚡ SPARK

    ConstantPotentialForce brings a class of system OpenMM could not previously model — capacitors and batteries, with electrode charges solved each timestep — while QTBIntegrator adds nuclear quantum effects cheaply. The remaining items follow the usual pattern of force-field and convenience additions.

    View source ↗
  5. 1y ago

    OpenMM 8.3.1 fixes pressure computation, updates CHARMM36

    Three fixes a month after 8.3.0, including the pressure computation that release had just made available and function parsing in custom multiparticle forces. The CHARMM36 2024 update and added water models are data refreshes rather than code changes.

    View source ↗
  6. 1y ago

    OpenMM 8.3.0 refreshes force fields, adds DPD and constant-pH hooks

    A representative OpenMM minor release: Amber ff19SB and updated CHARMM force fields, DPDIntegrator, CustomVolumeForce, and instantaneous pressure from barostats. The constant-pH prerequisites merged here are the more telling item, since the implementation itself stayed in a separate repository awaiting them.

    View source ↗