SymmetricLangevinIntegrator

class openxps.integrators.SymmetricLangevinIntegrator(temperature, frictionCoeff, stepSize)[source]

A symmetric Langevin integrator using the BAOAB algorithm [7].

Parameters:
  • temperature (Quantity) – The temperature of the heat bath.

  • frictionCoeff (Quantity) – The friction coefficient which couples the system to the heat bath.

  • stepSize (Quantity) – The step size with which to integrate the system.

Example

>>> import openxps as xps
>>> from openmm import unit
>>> integrator = xps.integrators.SymmetricLangevinIntegrator(
...     300 * unit.kelvin, 1 / unit.picosecond, 1 * unit.femtosecond
... )
>>> integrator
Per-dof variables:
  x1
Global variables:
  kT = 2.49433...
  a = 0.999000...
  b = 0.044699...
Computation steps:
   0: allow forces to update the context state
   1: v <- v + 0.5*dt*f/m
   2: constrain velocities
   3: x <- x + 0.5*dt*v
   4: v <- a*v + b*sqrt(kT/m)*gaussian
   5: x <- x + 0.5*dt*v
   6: x1 <- x
   7: constrain positions
   8: v <- v + (x-x1)/dt + 0.5*dt*f/m
   9: constrain velocities

Methods

getFrictionCoefficient()

Get the friction coefficient.

Returns:

The friction coefficient.

Return type:

openmm.unit.Quantity

getTemperature()

Get the temperature.

Returns:

The temperature.

Return type:

openmm.unit.Quantity

setFrictionCoefficient(value)

Set the friction coefficient.

Parameters:

value (Quantity | float) – The friction coefficient.

setTemperature(value)

Set the temperature.

Parameters:

value (Quantity | float) – The temperature.