INTEGRATOR_REGISTRY

torch_sim.integrators.INTEGRATOR_REGISTRY: Final[dict[Integrator, tuple[Callable[[...], Any], Callable[[...], Any]]]] = {Integrator.npt_langevin: (<function npt_langevin_init>, <function npt_langevin_step>), Integrator.npt_nose_hoover: (<function npt_nose_hoover_init>, <function npt_nose_hoover_step>), Integrator.nve: (<function nve_init>, <function nve_step>), Integrator.nvt_langevin: (<function nvt_langevin_init>, <function nvt_langevin_step>), Integrator.nvt_nose_hoover: (<function nvt_nose_hoover_init>, <function nvt_nose_hoover_step>)}

Integrator registry - maps integrator names to (init_fn, step_fn) pairs.

This dictionary associates each Integrator enum value with a pair of callables:

  • init_fn: A function used to initialize the integrator state.

  • step_fn: A function that advances the state by one simulation step.

Example

>>> init_fn, step_fn = INTEGRATOR_REGISTRY[Integrator.nvt_langevin]
>>> state = init_fn(...)
>>> new_state = step_fn(state, ...)

The available integrators are:

  • Integrator.nve: Velocity Verlet (microcanonical)

  • Integrator.nvt_langevin: Langevin thermostat

  • Integrator.nvt_nose_hoover: Nosé-Hoover thermostat

  • Integrator.npt_langevin: Langevin barostat

  • Integrator.npt_nose_hoover: Nosé-Hoover barostat

Type:

dict[Integrator, tuple[Callable[…, Any], Callable[…, Any]]]