openmmtools.testsystems.DoubleWellChain_WCAFluid

class openmmtools.testsystems.DoubleWellChain_WCAFluid(nchained=3, nparticles=216, density=0.96, mass=Quantity(value=39.9, unit=dalton), epsilon=Quantity(value=997.7366965464261, unit=joule/mole), sigma=Quantity(value=3.4, unit=angstrom), h=Quantity(value=41.106751897712755, unit=joule/mole), r0=Quantity(value=3.816370964251868, unit=angstrom), w=Quantity(value=1.02, unit=angstrom), **kwargs)[source]
Attributes:
analytical_properties

A list of available analytical properties, accessible via ‘get_propertyname(thermodynamic_state)’ calls.

mdtraj_topology

The mdtraj.Topology object corresponding to the test system (read-only).

name

The name of the test system.

positions

The simtk.unit.Quantity object containing the particle positions, with units compatible with simtk.unit.nanometers.

system

The simtk.openmm.System object corresponding to the test system.

topology

The simtk.openmm.app.Topology object corresponding to the test system.

Methods

reduced_potential_expectation(…) Calculate the expected potential energy in state_sampled_from, divided by kB * T in state_evaluated_in.
serialize() Return the System and positions in serialized XML form.
__init__(nchained=3, nparticles=216, density=0.96, mass=Quantity(value=39.9, unit=dalton), epsilon=Quantity(value=997.7366965464261, unit=joule/mole), sigma=Quantity(value=3.4, unit=angstrom), h=Quantity(value=41.106751897712755, unit=joule/mole), r0=Quantity(value=3.816370964251868, unit=angstrom), w=Quantity(value=1.02, unit=angstrom), **kwargs)[source]

Create a chain of double wells in a fluid of WCA particles.

This creates polymer chain linked by the double-well potential. This was inspired by the trimer version used in [1]. In the case nchained=2, this is the same as DoubleWellDimer_WCAFluid with ndimers=1.

Parameters:
nchained : int, optional, default = 3

Number of particles in the double-well polymer chain.

nparticles : int, optional, default = 216

Number of particles.

density : float, optional, default = 0.96

Reduced density, N sigma^3 / V.

mass : simtk.unit.Quantity with units compatible with angstrom, optional, default=39.9 amu

Particle mass.

epsilon : simtk.unit.Quantity with units compatible with kilocalories_per_mole, optional, default=120K*kB

WCA well depth.

sigma : simtk.unit.Quantity, optional, default = 3.4 angstrom

WCA sigma.

h : simtk.unit.Quantity, optional, default = 593.28K * kB

Double well barrier height.

r0 : simtk.unit.Quantity, optional, default = 2^(1/6) * 3.4 angstrom

Double well “short” state distance for minimum energy.

w: simtk.unit.Quanity, optional, default = 1.02 angstrom

Double well width; “extended” state minimum energy distance is r0 + 2w.

References

[1](1, 2) J. Rogal and P.G. Bolhuis. J. Chem. Phys. 129, 224107 (2008); https://doi.org/10.1063/1.3029696

Examples

Create the default: a trimer with double-well bonds in a WCA particle bath.

>>> dw_chain = DoubleWellChain_WCAFluid()
>>> system, positions = dw_chain.system, dw_chain.positions

Create a system with a chain of 4 particles in a system with 400 total particles.

>>> dw_chain = DoubleWellChain_WCAFluid(nchained=4, nparticles=400)
>>> system, positions = dw_chain.system, dw_chain.positions

You can create a chain with length up to nparticles, although large fractions are likely to lead to nonsensical initial conditions except for the smallest system sizes.

>>> dw_chain = DoubleWellChain_WCAFluid(nchained=8, nparticles=8)
>>> system, positions = dw_chain.system, dw_chain.positions

Asking for 0 in the chain or for 1 in the chain is the same as asking for a WCAFluid.

>>> dw_chain = DoubleWellChain_WCAFluid(nchained=0)
>>> system, positions = dw_chain.system, dw_chain.positions
>>> dw_chain = DoubleWellChain_WCAFluid(nchained=1)
>>> system, positions = dw_chain.system, dw_chain.positions

Methods

__init__([nchained, nparticles, density, …]) Create a chain of double wells in a fluid of WCA particles.
reduced_potential_expectation(…) Calculate the expected potential energy in state_sampled_from, divided by kB * T in state_evaluated_in.
serialize() Return the System and positions in serialized XML form.

Attributes

analytical_properties A list of available analytical properties, accessible via ‘get_propertyname(thermodynamic_state)’ calls.
mdtraj_topology The mdtraj.Topology object corresponding to the test system (read-only).
name The name of the test system.
positions The simtk.unit.Quantity object containing the particle positions, with units compatible with simtk.unit.nanometers.
system The simtk.openmm.System object corresponding to the test system.
topology The simtk.openmm.app.Topology object corresponding to the test system.
analytical_properties

A list of available analytical properties, accessible via ‘get_propertyname(thermodynamic_state)’ calls.

mdtraj_topology

The mdtraj.Topology object corresponding to the test system (read-only).

name

The name of the test system.

positions

The simtk.unit.Quantity object containing the particle positions, with units compatible with simtk.unit.nanometers.

reduced_potential_expectation(state_sampled_from, state_evaluated_in)

Calculate the expected potential energy in state_sampled_from, divided by kB * T in state_evaluated_in.

Notes

This is not called get_reduced_potential_expectation because this function requires two, not one, inputs.

serialize()

Return the System and positions in serialized XML form.

Returns:
system_xml : str

Serialized XML form of System object.

state_xml : str

Serialized XML form of State object containing particle positions.

system

The simtk.openmm.System object corresponding to the test system.

topology

The simtk.openmm.app.Topology object corresponding to the test system.