Velocity Verlet with Boltzmann distribution

This integrator combines the velocity-Verlet algorithm and the Boltzmann velocity distribution. At a periodic interval, the velocities are assigned from a Boltzmann velocity distribution in the second integration half-step.

This integrator is especially useful for cooling or heating a system to a nominal temperature. After an assignment from the Boltzmann distribution, the centre of mass velocity is shifted to exactly zero, and the velocities are rescaled to exactly the nominal temperature.

class halmd.mdsim.integrators.verlet_boltzmann(args)

Construct integrator for given system of particles.

Parameters:
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.

temperature

Temperature of Boltzmann distribution in MD units.

interval

Coupling interval in steps.

The interval equals \left\lfloor\frac{1}{\nu \tau}\right\rceil, with nominal coupling rate \nu and time-step \tau.

rate

Effective coupling rate per time in MD units.

The effective coupling rate equals \frac{1}{\Delta s\, \tau}, with coupling interval \Delta s and time-step \tau.

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, or assign velocities from Boltzmann distribution.

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