npt_langevin_isotropic_step

torch_sim.integrators.npt.npt_langevin_isotropic_step(state, model, *, dt, kT, external_pressure)[source]

Perform one NPT Langevin step using logarithmic strain coordinate.

Uses the same GJF integrator as npt_langevin_anisotropic_step() but with the cell degree of freedom being the isotropic logarithmic strain \(\varepsilon = \frac{1}{d}\ln(V/V_0)\) instead of the raw volume.

Strain force:

\[F_\varepsilon = d \cdot V \cdot (P_{\text{avg}} - P_{\text{ext}})\]

where the Jacobian \(dV/d\varepsilon = d \cdot V\) naturally provides a volume factor that makes \(F_\varepsilon\) an energy (eV), giving numerically well-scaled dynamics.

Cell reconstruction:

\[V = V_0 \exp(d\,\varepsilon), \quad \mathbf{h} = e^\varepsilon \, \mathbf{h}_0\]

Particle scaling:

\[\mathbf{r}_i \to e^{\varepsilon_{n+1} - \varepsilon_n} \, \mathbf{r}_i\]
Parameters:
Returns:

Updated state

Return type:

NPTLangevinIsotropicState