NPTLangevinIsotropicState

class torch_sim.integrators.npt.NPTLangevinIsotropicState(*, positions, masses, cell, pbc, atomic_numbers, system_idx=None, _constraints=<factory>, _system_extras=<factory>, _atom_extras=<factory>, _rng=None, momenta, energy, forces, stress, alpha, cell_alpha, b_tau, reference_cell, cell_positions, cell_velocities, cell_masses)[source]

Bases: NPTState

State for NPT Langevin dynamics using logarithmic strain coordinate.

The cell degree of freedom is the isotropic logarithmic strain ε = (1/d)·ln(V/V₀), which is dimensionless. This guarantees V > 0 and gives the conjugate force F_ε = d·V·(P_avg - P_ext) in energy units, providing numerically well-scaled dynamics.

Variables:
  • reference_cell (torch.Tensor) – Original cell [n_systems, d, d]

  • cell_positions (torch.Tensor) – Strain ε = (1/d)·ln(V/V₀) [n_systems]

  • cell_velocities (torch.Tensor) – dε/dt [n_systems]

  • cell_masses (torch.Tensor) – Mass for strain DOF [n_systems]

  • alpha (torch.Tensor) – Particle friction [n_systems]

  • cell_alpha (torch.Tensor) – Cell friction [n_systems]

  • b_tau (torch.Tensor) – Barostat time constant [n_systems]

Parameters:
property current_cell: Tensor

cell = exp(ε) · reference_cell.

Type:

Compute cell from strain

property volume: Tensor

Current volume V = V₀ · exp(d·ε).