CollectiveVariableCoupling¶
- class openxps.couplings.CollectiveVariableCoupling(function, collective_variables, dynamical_variables, **parameters)[source]¶
Coupling between dynamical variables and physical collective variables.
This class uses a cvpack.MetaCollectiveVariable to create a coupling defined by a mathematical expression involving physical collective variables and parameters.
- Parameters:
function (str) – A mathematical expression that defines the coupling energy as a function of collective variables and parameters.
collective_variables (Iterable[CollectiveVariable]) – The physical collective variables used in the coupling function.
dynamical_variables (Iterable[DynamicalVariable]) – The extended dynamical variables used in the coupling function.
**parameters (Quantity) – Named parameters that appear in the mathematical expression. Values given for names of dynamical variables are ignored, since dynamical variables take their values from the extension context.
Examples
>>> from copy import copy >>> import cvpack >>> import openxps as xps >>> from openmm import unit >>> from math import pi >>> phi = cvpack.Torsion(6, 8, 14, 16, name="phi") >>> mass = 3 * unit.dalton * (unit.nanometer / unit.radian)**2 >>> phi0 = xps.DynamicalVariable("phi0", unit.radian, mass, xps.CircularBounds()) >>> xps.CollectiveVariableCoupling( ... f"0.5*kappa*min(delta,{2*pi}-delta)^2; delta=abs(phi-phi0)", ... [phi], ... [phi0], ... kappa=1000 * unit.kilojoules_per_mole / unit.radian**2, ... ) CollectiveVariableCoupling("0.5*kappa*min(delta,6.28...-delta)^2; ...")
Methods
- updateExtensionContext(physical_context, extension_context)[source]¶
Update the extension context with the current physical parameters.
- Parameters:
physical_context (Context) – The physical context to get the physical parameters from.
extension_context (Context) – The extension context to update with the physical parameters.