NoseHoover (NVT Ensemble)

Custom Nose-Hoover NVT thermostat based on ASE.

This code was originally written by Jonathan Mailoa based on these notes:

It was then adapted by Simon Batzner to be used within ASE. Parts of the overall outline of the class are also based on the Langevin class in ASE.

class flare.ase.nosehoover.NoseHoover(atoms, timestep, temperature, nvt_q, trajectory=None, logfile=None, loginterval=1, append_trajectory=False)

Nose-Hoover (constant N, V, T) molecular dynamics.

Usage: NoseHoover(atoms, dt, temperature)

atoms
The list of atoms.
timestep
The time step.
temperature
Target temperature of the MD run in [K * units.kB]
nvt_q
Q in the Nose-Hoover equations

Example Usage:

nvt_dyn = NoseHoover(
atoms=atoms, timestep=0.5 * units.fs, temperature=300. * units.kB, nvt_q=334.

)

step()

Perform a MD step.