Velocity Verlet with Nosé-Hoover thermostat

This NVT-ensemble integrator implements the Verlet algorithm algorithm with Nosé-Hoover chain thermostat with a chain length M = 2.

For reference and detailed description of the algorithm see the original papers by S. Nosé, W.G. Hoover and Martyna et al.:

class halmd.mdsim.integrators.verlet_nvt_hoover(args)

Construct velocity-Verlet integrator with Nosé-Hoover chain thermostat.

Parameters:
  • args (table) – keyword arguments
  • args.particle – instance of halmd.mdsim.particle
  • args.force – instance of halmd.mdsim.forces
  • args.box – instance of halmd.mdsim.box
  • args.timestep (number) – integration time step (defaults to halmd.mdsim.clock.timestep)
  • args.temperature (number) – temperature of heat bath
  • args.resonance_frequency (number) – Coupling rate of the thermostat
  • args.every (number) – Number of time steps between writing of theromostat chain values
set_timestep(timestep)

Set integration time step in MD units.

Parameters:timestep (number) – integration timestep

This method forwards to halmd.mdsim.clock.set_timestep(), to ensure that all integrators use an identical time step.

timestep

Integration time step in MD units.

set_temperature(temperature)

Set temperature of heat bath.

Parameters:temperature (number) – temperature of heat bath
temperature

Temperature of heat bath.

resonance_frequency

Resonance frequency of the Nosé-Hoover thermostat, this is connected to the mass of the thermostat via m_1 = d T / \Omega^2 and m_2 = T/\Omega^2, where \Omega is 2\pi\times\textrm{Coupling frequency} and d the dimension.

set_mass(mass)

Set mass of heat bath.

Parameters:mass (table) – Sequence of masses m_1, m_2 for the heat bath coupling.
mass

Array of masses m_1, m_2 of heat bath, connected to the coupling strength of the thermostat.

disconnect()

Disconnect integrator from core and profiler.

integrate()

Calculate first half-step.

By default this function is connected to halmd.mdsim.core.on_integrate().

finalize()

Calculate second half-step.

By default this function is connected to halmd.mdsim.core.on_finalize().