nvt_nose_hoover_init

torch_sim.integrators.nvt.nvt_nose_hoover_init(model, state, *, kT, dt, tau=None, chain_length=3, chain_steps=3, sy_steps=3, seed=None, **kwargs)[source]

Initialize the NVT Nose-Hoover state.

This function sets up integration of an NVT system using a Nose-Hoover chain thermostat. The Nose-Hoover chain provides deterministic temperature control by coupling the system to a chain of thermostats. The integration scheme is time-reversible and conserves an extended energy quantity.

Parameters:
  • model (ModelInterface) – Neural network model that computes energies and forces

  • state (SimState | dict[Literal['positions', 'masses', 'cell', 'pbc', 'atomic_numbers', 'system_idx'], ~torch.Tensor]) – Initial system state as SimState or dict

  • kT (Tensor) – Target temperature in energy units

  • dt (Tensor) – Integration timestep

  • tau (Tensor | None) – Thermostat relaxation time (defaults to 100*dt)

  • chain_length (int) – Number of thermostats in Nose-Hoover chain (default: 3)

  • chain_steps (int) – Number of chain integration substeps (default: 3)

  • sy_steps (int) – Number of Suzuki-Yoshida steps - must be 1, 3, 5, or 7 (default: 3)

  • seed (int | None) – Random seed for momenta initialization

  • **kwargs (Any) – Additional state variables

Returns:

Initialized NVTNoseHooverState with positions, momenta, forces, and thermostat chain variables

Return type:

NVTNoseHooverState

Notes

  • The Nose-Hoover chain provides deterministic temperature control

  • Extended system approach conserves an extended energy quantity

  • Chain variables evolve to maintain target temperature

  • Time-reversible when integrated with appropriate algorithms