openmmml.models.orbpotential.OrbPotentialImpl#

class openmmml.models.orbpotential.OrbPotentialImpl(name: str)#

Implementation of Orb potentials for OpenMM.

To use one of the recommended pretrained models, specify it by name:

>>> potential = MLPotential('orb-v3-conservative-omol')

This gives Orb-v3 (with conservative forces) trained on OMol25. Orb-v3 trained on OMat24 is also available as orb-v3-conservative-inf-omat.

__init__(name: str) None#

Initialize the OrbPotentialImpl.

Parameters:

name (str) – The full name of the Orb model to load.

Methods

__init__(name)

Initialize the OrbPotentialImpl.

addForces(topology, system, atoms, forceGroup)

Add Force objects to a System to implement the potential function.

addForces(topology: Topology, system: System, atoms: Iterable[int] | None, forceGroup: int, charge: int = 0, multiplicity: int = 1, **args) None#

Add Force objects to a System to implement the potential function.

This is invoked by MLPotential.createSystem(). Subclasses must implement it to create the requested potential function.

Parameters:
  • topology (Topology) – the Topology from which the System is being created

  • system (System) – the System that is being created

  • atoms (Optional[Iterable[int]]) – the indices of atoms the potential should be applied to, or None if it should be applied to the entire System

  • forceGroup (int) – the force group that any newly added Forces should be in

  • args – any additional keyword arguments that were provided to createSystem() are passed to this method. This allows subclasses to customize their behavior based on extra arguments.