Skip to content

atomli.md

Generated from the public Python surface of Atomli 0.1.4.

Andersen(atoms, timestep, temperature_K, andersen_prob, fixcm=True, trajectory=None, logfile=None, loginterval=1)

Section titled “Andersen(atoms, timestep, temperature_K, andersen_prob, fixcm=True, trajectory=None, logfile=None, loginterval=1)”

Andersen thermostat (NVT by stochastic velocity reassignment).

Mirrors ase.md.andersen.Andersen. andersen_prob is the per-atom, per-step probability that an atom’s velocity is redrawn from the Maxwell-Boltzmann distribution at temperature_K.

attach(self, /, function, interval=1, *args, **kwargs)

Section titled “attach(self, /, function, interval=1, *args, **kwargs)”

Bussi(atoms, timestep, temperature_K, taut, trajectory=None, logfile=None, loginterval=1)

Section titled “Bussi(atoms, timestep, temperature_K, taut, trajectory=None, logfile=None, loginterval=1)”

Bussi-Donadio-Parrinello stochastic velocity rescaling (NVT).

Mirrors ase.md.bussi.Bussi. taut is in ASE time units. Unlike Berendsen this thermostat samples the canonical ensemble.

attach(self, /, function, interval=1, *args, **kwargs)

Section titled “attach(self, /, function, interval=1, *args, **kwargs)”

IsotropicMTKNPT(atoms, timestep, temperature_K, pressure_au, tdamp, pdamp, tchain=3, pchain=3, tloop=1, ploop=1, trajectory=None, logfile=None, loginterval=1)

Section titled “IsotropicMTKNPT(atoms, timestep, temperature_K, pressure_au, tdamp, pdamp, tchain=3, pchain=3, tloop=1, ploop=1, trajectory=None, logfile=None, loginterval=1)”

Isotropic Martyna-Tobias-Klein NPT dynamics.

Mirrors ase.md.nose_hoover_chain.IsotropicMTKNPT: a Nose-Hoover chain thermostat with an MTK barostat that rescales the cell isotropically. pressure_au is in eV per cubic angstrom; tdamp and pdamp are in ASE time units.

This is deliberately NOT exposed as NPT: ASE’s ase.md.npt.NPT is the Parrinello-Rahman scheme with a fully flexible cell, which atomli’s engine does not implement. The two integrate the same ensemble but are not step-for-step equivalent, so they keep separate names.

attach(self, /, function, interval=1, *args, **kwargs)

Section titled “attach(self, /, function, interval=1, *args, **kwargs)”

Langevin(atoms, timestep, temperature_K=300.0, friction=0.01, trajectory=None, logfile=None, loginterval=1)

Section titled “Langevin(atoms, timestep, temperature_K=300.0, friction=0.01, trajectory=None, logfile=None, loginterval=1)”

Langevin NVT dynamics.

attach(self, /, function, interval=1, *args, **kwargs)

Section titled “attach(self, /, function, interval=1, *args, **kwargs)”

MDLogger(dyn, atoms, logfile, header=True, stress=False, peratom=False, mode='a')

Section titled “MDLogger(dyn, atoms, logfile, header=True, stress=False, peratom=False, mode='a')”

Write one thermodynamic summary line per MD step.

Mirrors ase.md.md.MDLogger. Observer on a Rust MD driver.

Close the log file.

NPTBerendsen(atoms, timestep, temperature_K, *, pressure_au=0.0, taut=None, taup=None, compressibility_au=None, fixcm=True, trajectory=None, logfile=None, loginterval=1)

Section titled “NPTBerendsen(atoms, timestep, temperature_K, *, pressure_au=0.0, taut=None, taup=None, compressibility_au=None, fixcm=True, trajectory=None, logfile=None, loginterval=1)”

Berendsen NPT dynamics (weak coupling to a heat bath and a barostat).

Mirrors ase.md.nptberendsen.NPTBerendsen. taut and taup are in ASE time units; pressure_au is in eV per cubic angstrom and compressibility_au in cubic angstrom per eV, the same ASE units.

Like the NVT form this is a weak-coupling scheme, not a true NPT ensemble sampler. The cell is rescaled isotropically.

attach(self, /, function, interval=1, *args, **kwargs)

Section titled “attach(self, /, function, interval=1, *args, **kwargs)”

NVTBerendsen(atoms, timestep, temperature_K, taut, fixcm=True, trajectory=None, logfile=None, loginterval=1)

Section titled “NVTBerendsen(atoms, timestep, temperature_K, taut, fixcm=True, trajectory=None, logfile=None, loginterval=1)”

Berendsen NVT dynamics (weak coupling to a heat bath).

Mirrors ase.md.nvtberendsen.NVTBerendsen. taut is the coupling time constant in ASE time units, exactly as ASE takes it.

The Berendsen thermostat does not sample the canonical ensemble; it drives the instantaneous temperature toward the setpoint. Use it to equilibrate, then switch to Bussi, Langevin or Nose-Hoover for production.

attach(self, /, function, interval=1, *args, **kwargs)

Section titled “attach(self, /, function, interval=1, *args, **kwargs)”

NoseHooverChainNVT(atoms, timestep, temperature_K, tdamp, tchain=3, tloop=1, trajectory=None, logfile=None, loginterval=1)

Section titled “NoseHooverChainNVT(atoms, timestep, temperature_K, tdamp, tchain=3, tloop=1, trajectory=None, logfile=None, loginterval=1)”

Nose-Hoover chain thermostat (NVT).

Mirrors ase.md.nose_hoover_chain.NoseHooverChainNVT. tdamp is the thermostat time constant in ASE time units, tchain the chain length and tloop the number of inner integration loops per step.

attach(self, /, function, interval=1, *args, **kwargs)

Section titled “attach(self, /, function, interval=1, *args, **kwargs)”

VelocityVerlet(atoms, timestep, trajectory=None, logfile=None, loginterval=1)

Section titled “VelocityVerlet(atoms, timestep, trajectory=None, logfile=None, loginterval=1)”

NVE velocity Verlet.

attach(self, /, function, interval=1, *args, **kwargs)

Section titled “attach(self, /, function, interval=1, *args, **kwargs)”