Nose-Hoover (chains) thermostat

A C++ implementation of a propagator for the Nose-Hoover chains thermostat. The thermostat itself is described in the following papers:

  1. Phys. Rev. A 31, p.1695-1697 (1985); DOI: 10.1103/PhysRevA.31.1695 "Canonical dynamics: Equilibrium phase-space distributions" William G. Hoover
  2. J. Chem. Phys. 81, p.511 (1984); DOI: 10.1063/1.447334 "A unified formulation of the constant temperature molecular dynamics methods" Shuichi Nose
  3. J. Chem. Phys. 97, p.2635 (1992); DOI: 10.1063/1.463940 "Nose-Hoover chains: The canonical ensemble via continuous dynamics" Glenn J. Martyna, Michael L. Klein and Mark Tuckerman

The algorithms are from:

J. Phys. A: Math. Gen. 39 p.5629 (2006); DOI: 10.1088/0305-4470/39/19/S18 "A Liouville-operator derived measure-preserving integrator for molecular dynamics simulations in the isothermal--isobaric ensemble" Mark E Tuckerman, José Alejandre, Roberto López-Rendón, Andrea L Jochim and Glenn J Martyna

An example barostat implementation is also provided.