Velocity Verlet with Andersen thermostat

This module implements the Verlet algorithm with the Andersen thermostat.

Warning

This integrator may cause a significant drift of the centre of mass velocity.

For heating or cooling a system to a nominal temperature before equilibration, we recommend the velocity-Verlet with Boltzmann distribution integrator.

class halmd.mdsim.integrators.verlet_nvt_andersen(args)

Construct velocity-Verlet with Andersen thermostat.

Parameters:
  • args (table) – keyword arguments
  • args.particle – instance of halmd.mdsim.particle
  • args.box – instance of halmd.mdsim.box
  • args.temperature (number) – temperature of heat bath
  • args.rate (number) – collision rate
  • args.timestep (number) – integration timestep (defaults to halmd.mdsim.clock.timestep)
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.

set_temperature(temperature)

Set temperature of heat bath.

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

Temperature of heat bath.

collision_rate

Collision rate with the heat bath.

disconnect()

Disconnect integrator from core and profiler.

integrate()

First leapfrog half-step of velocity-Verlet algorithm.

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

finalize()

Second leapfrog half-step of velocity-Verlet algorithm.

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