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:
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