Velocity Verlet¶
This symplectic integrator implements the velocity-Verlet algorithm for Hamiltonian dynamics (NVE ensemble), see J. Chem. Phys. 76, 637 (1982).
The algorithm consists of a first half-step
and a second half-step
- class halmd.mdsim.integrators.verlet(args)¶
Construct velocity-Verlet integrator for given system of particles.
- Parameters:
args (table) – keyword arguments
args.particle – instance of
halmd.mdsim.particleargs.box – instance of
halmd.mdsim.boxargs.timestep (number) – integration time step (defaults to
halmd.mdsim.clock.timestep)args.label (string) – instance label (default: ``particle.label``)
- 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.
- label¶
Label of integrator instance.
- disconnect()¶
Disconnect integrator from core and profiler.
- integrate()¶
Calculate first half-step (propagate velocities and positions).
By default this function is connected to
halmd.mdsim.core.on_integrate().
- prepend_integrate()¶
Update forces if necessary and lock data.
By default this function is connected to
halmd.mdsim.core.on_prepend_integrate().
- append_integrate()¶
Release force lock.
By default this function is connected to
halmd.mdsim.core.on_append_integrate().
- finalize()¶
Calculate second half-step (propagate velocities).
By default this function is connected to
halmd.mdsim.core.on_finalize().