pydft_qmmm.interfaces.openmm.openmm_factory

Functionality for building the OpenMM interface.

pydft_qmmm.interfaces.openmm.openmm_factory.NEEDS_CUTOFF

OpenMM nonbonded methods that require a cutoff.

pydft_qmmm.interfaces.openmm.openmm_factory.PERIODIC

OpenMM nonbonded methods that are periodic.

pydft_qmmm.interfaces.openmm.openmm_factory.SUPPORTED_FORCES

OpenMM force classes which can be processed by PyDFT-QMMM currently.

Functions

openmm_interface_factory(system, /, forcefield)

Build the interface to OpenMM.

pydft_qmmm.interfaces.openmm.openmm_factory.openmm_interface_factory(system, /, forcefield, nonbonded_method='PME', nonbonded_cutoff=14.0, pme_gridnumber=None, pme_alpha=None)[source]

Build the interface to OpenMM.

Parameters:
  • system (System) – The system which will be tied to the OpenMM interface.

  • forcefield (list[str] | str) – The files containing forcefield and topology data for the system.

  • nonbonded_method (str, default: 'PME') – The method for treating non-bonded interactions in OpenMM.

  • nonbonded_cutoff (float | int, default: 14.0) – The distance (\(\mathrm{\mathring(A)^{-1}}\)) at which to truncate close-range non-bonded interactions.

  • pme_gridnumber (int | tuple[int, int, int] | None, default: None) – The number of grid points to include along each lattice edge in PME summation.

  • pme_alpha (float | int | None, default: None) – The Gaussian width parameter in Ewald summation (\(\mathrm{nm^{-1}}\)).

Return type:

OpenMMPotential

Returns:

The OpenMM interface.