ExtendedSpaceBiasVariable

class openxps.ExtendedSpaceBiasVariable(dynamical_variable, sigma, grid_width=<factory>)[source]

A dynamical variable augmented with a bias kernel.

The kernel shape depends on the bounds of the dynamical variable. It is a von Mises kernel for PeriodicBounds and a Gaussian mirrored across both walls for ReflectiveBounds.

Parameters:
  • dynamical_variable (openxps.dynamical_variable.DynamicalVariable) – The dynamical variable to be augmented.

  • sigma (openmm.unit.quantity.Quantity) – The bandwidth of the bias kernel, which approximates the standard deviation of a Gaussian when it is small relative to the bounds.

  • grid_width (int | None) – The width of the grid for the bias kernel. If None, the grid width is automatically determined based on the dynamical variable’s bounds and the bandwidth.

Example

>>> import openxps as xps
>>> from openmm import unit
>>> dv = xps.DynamicalVariable(
...     "phi",
...     unit.radian,
...     3 * unit.dalton*(unit.nanometer/unit.radian)**2,
...     xps.PeriodicBounds(-180, 180, unit.degree)
... )
>>> bias_variable = xps.ExtendedSpaceBiasVariable(dv, 18 * unit.degree)
>>> bias_variable.dynamical_variable
DynamicalVariable(name='phi', unit=rad, mass=3 nm**2 Da/(rad**2), bounds=...)