openmmtools.testsystems.SodiumChlorideCrystal

class openmmtools.testsystems.SodiumChlorideCrystal(switch_width=Quantity(value=0.2, unit=angstrom), dispersion_correction=True, **kwargs)[source]

Create an FCC crystal of sodium chloride.

Each atom is represented by a charged Lennard-Jones sphere in an Ewald lattice.

switch_widthopenmm.unit.Quantity with units compatible with angstroms, optional, default=0.2*unit.angstroms

switching function is turned on at cutoff - switch_width If None, no switch will be applied (e.g. hard cutoff).

dispersion_correctionbool, optional, default=True

if True, will use analytical dispersion correction (if not using switching function)

Notes

TODO

  • Lennard-Jones interactions aren’t correctly being included now, due to LJ cutoff. Fix this by hard-coding LJ interactions?

  • Add nx, ny, nz arguments to allow user to specify replication of crystal unit in x,y,z.

  • Choose more appropriate lattice parameters and lattice spacing.

Examples

Create sodium chloride crystal unit.

>>> crystal = SodiumChlorideCrystal()
>>> system, positions = crystal.system, crystal.positions
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 openmm.unit.Quantity object containing the particle positions, with units compatible with openmm.unit.nanometers.

system

The openmm.System object corresponding to the test system.

topology

The 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__(switch_width=Quantity(value=0.2, unit=angstrom), dispersion_correction=True, **kwargs)[source]

Abstract base class for test system.

Parameters:

Methods

__init__([switch_width, dispersion_correction])

Abstract base class for test system.

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 openmm.unit.Quantity object containing the particle positions, with units compatible with openmm.unit.nanometers.

system

The openmm.System object corresponding to the test system.

topology

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