File VelocityVerletMD.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils
class VelocityVerletMD : public Scine::Utils::MDIntegrator
#include <VelocityVerletMD.h>

Class implementing the Velocity Verlet algorithm for Molecular Dynamics.

The position is updated with \( r_i(t + \Delta t) = r_i(t) + \Delta t v_i(t) + \frac{\Delta t^2}{2m_i} f_i(t) + O(\Delta t^3) \) and the velocities with \( v_i(t + \Delta t) = v_i(t) + \frac{\Delta t}{2 m_i} (f_i(t) + f_i(t + \Delta t)) + O(\Delta t^3) \)

Private Functions

Utils::DisplacementCollection calculateDisplacements(const Utils::GradientCollection &gradients)

Calculates the displacements from the gradients.

Private Members

Utils::DisplacementCollection previousAccelerations_

The previous accelerations.