Fact-checked by Grok 2 weeks ago

Verlet integration

Verlet integration, also known as the Störmer-Verlet method, is a family of explicit numerical integrators designed for solving the second-order ordinary differential equations arising from in , particularly for systems with conservative forces. The method has a long history, having been used as early as 1791 by Jean Baptiste Delambre for astronomical calculations and rediscovered multiple times, including in the early 1900s by Norwegian geophysicist Carl Størmer to trace charged particle trajectories in for auroral studies. It was introduced in its modern form by French physicist Loup Verlet in 1967 for simulating the thermodynamical properties of classical fluids using Lennard-Jones potentials. Its basic formulation updates particle positions via the x_{n+1} = 2x_n - x_{n-1} + a_n \Delta t^2, where x denotes position, a is , and \Delta t is the time step, yielding second-order accuracy in position while being time-reversible and free of velocity drift errors. The method's key variant, the velocity Verlet algorithm, incorporates explicit updates to make it self-starting and more practical for , using steps such as x_{n+1} = x_n + v_n \Delta t + \frac{1}{2} a_n \Delta t^2 followed by v_{n+1} = v_n + \frac{1}{2} (a_n + a_{n+1}) \Delta t. This form maintains the original method's second-order accuracy for both and while reducing round-off errors associated with finite-precision arithmetic in the basic position-only scheme. As a , Verlet integration preserves the symplectic structure of , ensuring that errors in the energy remain bounded rather than accumulating unboundedly over long simulations, which is crucial for maintaining physical realism in dynamical systems. Verlet integration has become a cornerstone in and chemistry due to its simplicity, efficiency, and superior long-term stability compared to non-symplectic methods like the Euler or Runge-Kutta integrators, especially in applications involving large numbers of interacting particles. It is routinely used in packages for simulating biomolecular systems, , and material properties, as well as in for N-body gravitational simulations of planetary orbits and star clusters. Despite its strengths, the method requires careful selection of time steps to avoid instability, and extensions like multiple time-stepping or adaptive variants have been developed to handle stiff potentials or varying timescales in complex systems.

Introduction

Definition and Overview

Verlet integration is a second-order for integrating Newton's in deterministic systems, particularly in , where it approximates the trajectories of particles under conservative forces. As a , it preserves the symplectic structure of systems, maintaining volume and enabling long-term over extended periods without artificial energy drift. This property makes it especially suitable for modeling conservative dynamical systems, such as those in and . The method traces its origins to computations in astronomy for particle trajectories and in physics simulations of interacting systems, and it is inherently time-reversible, rendering it well-suited for scenarios involving periodic forces. A related variant, Velocity Verlet, incorporates explicit velocity evaluations to facilitate force computations.

Historical Background

The Verlet integration method traces its origins to early 20th-century astronomical computations, particularly Carl Størmer's work on the trajectories of charged particles in the . In 1907, Størmer employed methods to model these paths, applying them to phenomena such as auroras borealis, which involved simulating particle motion under dipole magnetic influences akin to dynamics. This approach laid foundational numerical techniques for solving second-order differential equations in conservative systems, initially within the context of N-body problems. The method gained further traction in astronomical applications, including predictions of celestial events like the return of , where Philip H. Cowell and A. C. D. Crommelin utilized similar schemes in 1909 for long-term integrations. These early uses established the algorithm's utility for stable, long-time simulations in gravitational systems, drawing from precursor leapfrog-style discretizations that alternated position and velocity updates to maintain numerical . Over time, such techniques influenced the broader development of symplectic integrators in . A significant rediscovery occurred in 1967 when physicist Loup Verlet adapted the method for computational simulations of classical fluids, specifically Lennard-Jones molecules in . In his seminal paper, Verlet presented the position-update formula as a tool for efficient, energy-conserving trajectories in many-body interactions, bridging its astronomical roots to applications. This adaptation popularized the algorithm in physics simulations, leading to its eventual naming as the Størmer-Verlet method to honor both contributors and its heritage. The transition highlighted its versatility, from initial N-body computations to widespread adoption in modeling atomic-scale statistical ensembles.

Basic Verlet Method

Equations of Motion

The equations of motion for a classical particle system are fundamentally described by Newton's second law, which posits that the net force \mathbf{F} on a particle of mass m equals the mass times its acceleration \mathbf{a}, expressed as \mathbf{F} = m \mathbf{a}. This relation, originally formulated in Isaac Newton's Philosophiæ Naturalis Principia Mathematica (1687), serves as the cornerstone for determining the dynamics of particles under applied forces. From this law, the trajectory of a particle's position \mathbf{x}(t) is governed by a second-order : \ddot{\mathbf{x}} = \mathbf{a}(\mathbf{x}, \dot{\mathbf{x}}, t), where the \mathbf{a} depends on the current \mathbf{x}, velocity \dot{\mathbf{x}}, and possibly time t. The itself is derived as a function of the system's state, specifically \mathbf{a} = \frac{\mathbf{F}(\mathbf{x}, \dot{\mathbf{x}}, t)}{m}, with forces computed from interparticle interactions or external fields. This form encapsulates the deterministic evolution of the system, assuming forces are well-defined and -dependent in typical applications. Equivalently, the can be rewritten as a pair of equations for the \mathbf{x}(t) and \mathbf{v}(t) = \dot{\mathbf{x}}(t): \begin{align} \dot{\mathbf{x}} &= \mathbf{v}, \\ \dot{\mathbf{v}} &= \mathbf{a}(\mathbf{x}, \mathbf{v}, t). \end{align} This coupled system highlights the interdependence of and in propagating the motion forward in time. In settings relevant to Verlet integration, such as simulations, the forces are assumed to be conservative—deriving from a V(\mathbf{x})—rendering the overall system , where the total energy (kinetic plus potential) is conserved.

Position-Only Integration

The position-only Verlet integration scheme provides a method to advance particle positions in a without explicitly maintaining variables, relying instead on positions from consecutive time steps and the instantaneous . This approach originates from a expansion of the position function around the current time t. The forward expansion is \mathbf{x}(t + \Delta t) = \mathbf{x}(t) + \dot{\mathbf{x}}(t) \Delta t + \frac{1}{2} \ddot{\mathbf{x}}(t) (\Delta t)^2 + \frac{1}{6} \dddot{\mathbf{x}}(t) (\Delta t)^3 + O((\Delta t)^4), and the backward expansion is \mathbf{x}(t - \Delta t) = \mathbf{x}(t) - \dot{\mathbf{x}}(t) \Delta t + \frac{1}{2} \ddot{\mathbf{x}}(t) (\Delta t)^2 - \frac{1}{6} \dddot{\mathbf{x}}(t) (\Delta t)^3 + O((\Delta t)^4). Adding these equations cancels the linear and cubic terms in \Delta t, yielding \mathbf{x}(t + \Delta t) + \mathbf{x}(t - \Delta t) = 2\mathbf{x}(t) + \ddot{\mathbf{x}}(t) (\Delta t)^2 + O((\Delta t)^4). Since \ddot{\mathbf{x}}(t) = \mathbf{a}(t) represents the due to forces at time t, rearranging provides the core update relation \mathbf{x}(t + \Delta t) = 2\mathbf{x}(t) - \mathbf{x}(t - \Delta t) + \Delta t^2 \mathbf{a}(t) + O((\Delta t)^4). In discrete form, with time steps indexed as n, the basic Verlet formula is \mathbf{x}_{n+1} = 2\mathbf{x}_n - \mathbf{x}_{n-1} + \Delta t^2 \mathbf{a}_n, where \mathbf{a}_n is computed from the positions \mathbf{x}_n via the force law \mathbf{a}_n = \mathbf{F}(\mathbf{x}_n)/m, with m the particle mass. This formulation enables position propagation solely through prior positions and current , eliminating the need for velocity storage and reducing computational overhead in systems where velocities are not directly required. The scheme's time-reversibility arises from its symmetric structure: interchanging \mathbf{x}_{n+1} and \mathbf{x}_{n-1} while reversing the time step direction recovers the previous state exactly, preserving the invariance under time reversal inherent to Newtonian mechanics. This property ensures long-term in simulations by avoiding artificial that could accumulate in non-reversible methods. The local per step is O(\Delta t^4), contributing to the method's second-order global accuracy over many steps.

Discretization Error

The basic Verlet method approximates the solution to Newton's using a scheme, leading to errors that arise from truncating the continuous dynamics into discrete time steps of size \Delta t. The local , which measures the discrepancy per step assuming prior values are exact, is O(\Delta t^4) for the update in the Verlet scheme. This stems from the expansion of the around the current time, where the forward and backward expansions cancel odd-order terms (including the \Delta t^3 jerk term), leaving the leading error from the \Delta t^4 fourth-derivative term. Over multiple steps, these local errors accumulate to form the global , which is O(\Delta t^2) for the as a whole, reflecting the second-order accuracy of the method. Due to the symmetric structure of the Verlet update, the error terms contain only even powers of \Delta t, such as the fourth-order term in the modified that approximates the numerical solution. This even-powered expansion contributes to errors in periodic orbits, where the numerical solution lags or leads the exact orbit by an amount proportional to \Delta t^2 t, resulting in a linear drift in over time t. Regarding , the discretization errors in lead to bounded oscillations in the total rather than secular drift for integrable systems. The relative error remains O(\Delta t^2) with independent of simulation time, as the nature of the method preserves a nearby up to higher-order terms, preventing long-term dissipation or growth. This contrasts with non- integrators, where errors can cause unbounded drift.

Illustrative Example

To illustrate the basic Verlet method, consider a one-dimensional free particle under constant gravitational acceleration a = -9.81 \, \mathrm{m/s^2}. The initial position is x_0 = 0 \, \mathrm{m} at t = 0 \, \mathrm{s}, and an approximate initial position x_1 = 0.5 \, \mathrm{m} at t = 0.1 \, \mathrm{s} is used, obtained via a first-order Euler step assuming an initial velocity of $5 \, \mathrm{m/s} (which neglects the acceleration term and introduces an O(\Delta t^2) error). The timestep is \Delta t = 0.1 \, \mathrm{s}. The position update follows the basic Verlet formula: x_{n+1} = 2x_n - x_{n-1} + \Delta t^2 a For the first update at t = 0.2 \, \mathrm{s}: x_2 = 2(0.5) - 0 + (0.1)^2 (-9.81) = 1 - 0.0981 = 0.9019 \, \mathrm{m}. The exact position, using the true initial velocity v_0 = 5 \, \mathrm{m/s}, is x(t) = v_0 t + \frac{1}{2} a t^2 = 5(0.2) + \frac{1}{2} (-9.81) (0.2)^2 = 1 - 0.1962 = 0.8038 \, \mathrm{m}. The approximate position thus exhibits an error of $0.0981 \, \mathrm{m}, consistent with the O(\Delta t^2) global truncation error arising from the initial approximation. For the second update at t = 0.3 \, \mathrm{s}: x_3 = 2(0.9019) - 0.5 + (0.1)^2 (-9.81) = 1.8038 - 0.5 - 0.0981 = 1.2057 \, \mathrm{m}. The exact position is x(0.3) = 5(0.3) + \frac{1}{2} (-9.81) (0.3)^2 = 1.5 - 0.44145 = 1.05855 \, \mathrm{m}, yielding an error of approximately $0.14715 \, \mathrm{m}, which accumulates over steps due to the initial O(\Delta t^2) discrepancy (detailed error bounds are discussed in the Discretization Error section). This simple example demonstrates how the Verlet method propagates positions while preserving the quadratic nature of motion under constant acceleration, though sensitive to initialization accuracy.

Initialization and Basic Extensions

Starting the Iteration

The Verlet integration scheme relies on a recurrence relation that necessitates two prior positions to commence the iteration, typically \mathbf{x}_0 at the initial time and an estimate for \mathbf{x}_1 at the subsequent timestep \Delta t. A standard method to compute \mathbf{x}_1 utilizes the initial \mathbf{v}_0 and \mathbf{a}_0 via a second-order Euler-like approximation: \mathbf{x}_1 = \mathbf{x}_0 + \mathbf{v}_0 \Delta t + \frac{1}{2} \mathbf{a}_0 (\Delta t)^2 This step aligns with the local truncation error of the Verlet method itself, ensuring consistency in accuracy from the outset. Alternative initialization strategies include executing one or more preliminary steps of the Velocity Verlet algorithm, which is self-starting and explicitly incorporates velocities, or applying exact analytical solutions for the initial timestep when the potential is analytically tractable, such as in harmonic systems. Inaccurate initialization can introduce errors that propagate through the , potentially amplifying discrepancies in trajectories and over extended runs, particularly in long-term contexts. For systems under , the initial positions must be confined within the , and the estimated \mathbf{x}_1 should be adjusted using the to preserve translational invariance and avoid artificial boundary artifacts from the first iteration.

Variable Timesteps

In simulations requiring non-uniform time intervals, such as those involving irregular events or varying computational demands, the basic Verlet method can be modified to accommodate variable timesteps while maintaining its core properties. One common approach involves local interpolation of the , which fits a to the previous two and the current to extrapolate the next , or rescaling the previous position displacement based on the ratio of consecutive timesteps. This allows the to adapt the step size dynamically without sacrificing the second-order accuracy of the original method. The modified position update formula for varying timesteps \Delta t_n and \Delta t_{n+1} is: \mathbf{x}_{n+1} = \mathbf{x}_n + (\mathbf{x}_n - \mathbf{x}_{n-1}) \frac{\Delta t_{n+1}}{\Delta t_n} + \mathbf{a}_n \Delta t_{n+1}^2 This formula rescales the displacement from the previous step and adds the contribution scaled by the square of the new timestep, derived from assuming locally constant over the interval. When timesteps are constant (\Delta t_{n+1} = \Delta t_n = h), it reduces to the standard Verlet update \mathbf{x}_{n+1} = 2\mathbf{x}_n - \mathbf{x}_{n-1} + h^2 \mathbf{a}_n. The adaptation preserves second-order accuracy in and velocity but introduces additional complexity in evaluating forces at irregular intervals, potentially requiring more frequent computations to resolve local dynamics accurately. Such modifications are particularly useful in adaptive stepping for event-driven simulations, where timesteps are adjusted in response to events like collisions or close approaches in or N-body systems, enabling larger steps in smooth regions and smaller ones near critical points to avoid numerical instability. For example, in systems with singularities, this allows efficient long-term by concentrating resolution where needed, though the variable nature can complicate preservation of properties unless combined with time transformations like the Sundman rescaling in the adaptive Verlet variant. The increased complexity manifests in the need for stepsize selection criteria, such as monitoring local error estimates or magnitude, but the method remains explicit and requires only one force evaluation per step.

Velocity Computation in Størmer-Verlet

In the Størmer-Verlet method, velocities are not updated explicitly during the core position integration but can be derived from successive position values, providing a centered at timestep n. The \mathbf{v}_n is computed using the central formula: \mathbf{v}_n = \frac{\mathbf{x}_{n+1} - \mathbf{x}_{n-1}}{2 \Delta t} where \mathbf{x}_n denotes the position at timestep n and \Delta t is the constant timestep. This formula arises from the expansion of positions around timestep n, yielding second-order accuracy in the velocity estimate while relying solely on the position history generated by the basic Verlet recurrence. This post-computation approach preserves the time-reversibility of the scheme, as the velocity derivation is symmetric under time reversal (\Delta t \to -\Delta t), mirroring the underlying position updates and ensuring that reversing the reconstructs the original motion without . By avoiding the need to store or propagate velocities in the primary , the method minimizes usage in position-only implementations, yet velocities remain available for output, analysis, or extensions such as thermostats when required. The Størmer-Verlet formulation is equivalent to the leapfrog integrator but interpreted as a staggered variant, where updates occur at timesteps lagging behind the updates. In this view, the implicit at timestep n bridges the positions at n-1 and n+1, maintaining the structure essential for long-term in systems. This staggered perspective, originally employed by Størmer for trajectories, underscores the method's efficiency in simulations where positions suffice for force evaluations.

Velocity Verlet Algorithm

Algorithm Description

The Velocity Verlet algorithm is a for simulating the of particles under Newtonian dynamics, commonly employed in to propagate both positions and velocities with second-order accuracy. It builds on the foundational Verlet method by explicitly computing intermediate half-step velocities, which facilitates straightforward implementation and avoids implicit velocity derivations from position differences. This approach ensures that velocities are available at full time steps for output or further computations, such as force evaluations in thermostats or barostats. The algorithm advances the system from time step n to n+1 using a fixed timestep \Delta t, assuming forces (and thus accelerations \mathbf{a}_n = \mathbf{F}_n / m) are computed from positions via a function. It consists of the following sequential steps:
  1. the velocity to the half-step: \mathbf{v}_{n+1/2} = \mathbf{v}_n + \frac{1}{2} \Delta t \, \mathbf{a}_n
  2. the position using the half-step velocity: \mathbf{x}_{n+1} = \mathbf{x}_n + \Delta t \, \mathbf{v}_{n+1/2}
  3. Compute the new acceleration at the updated position: \mathbf{a}_{n+1} = \mathbf{F}(\mathbf{x}_{n+1}) / m
  4. Complete the velocity update to the full step: \mathbf{v}_{n+1} = \mathbf{v}_{n+1/2} + \frac{1}{2} \Delta t \, \mathbf{a}_{n+1}
These steps are repeated iteratively, with initial conditions \mathbf{x}_0 and \mathbf{v}_0 provided at t = 0. The method is mathematically equivalent to the basic position-Verlet integration but reformulated to yield velocities explicitly at integer steps. For practical implementation in programming, the algorithm can be expressed in as follows, assuming a system of N particles and a to compute forces:
initialize [positions](/page/Position) x[0..N-1], [velocities](/page/Velocity) v[0..N-1], accelerations a[0..N-1]
for each timestep:
    for i in 0 to N-1:
        v_half[i] = v[i] + 0.5 * dt * a[i]  // half-step [velocity](/page/Velocity)
        x[i] = x[i] + dt * v_half[i]       // [update](/page/Update) [position](/page/Position)
    compute_forces(x, a)                     // new accelerations a at x
    for i in 0 to N-1:
        v[i] = v_half[i] + 0.5 * dt * a[i] // full-step [velocity](/page/Velocity)
This structure highlights the two force evaluations per step, one before and one after the position update. Unlike the position-only Verlet method, which stores only positions and infers velocities, the Velocity Verlet requires maintaining both position and velocity arrays explicitly throughout the simulation.

Advantages and Implementation

The Velocity Verlet offers several practical advantages over the basic position-only Verlet method, particularly in computational efficiency and handling of dynamic systems. One key benefit is the simplified scheduling of force evaluations, as it requires only a single force computation per timestep, applied after the position update but used for both the velocity half-step corrections. This contrasts with methods that may necessitate multiple evaluations, reducing overall computational overhead in simulations. Additionally, the explicit inclusion of velocities makes it a natural choice for systems involving velocity-dependent forces, such as dissipative terms in dissipative particle or thermostat couplings like Nosé-Hoover, where velocities must be available synchronously with positions for accurate . Another advantage lies in reduced initialization challenges. Unlike the leap-frog variant of the basic Verlet algorithm, which requires velocities at a half-timestep offset, Velocity Verlet starts directly from full-timestep positions and velocities, avoiding the need for an initial half-step adjustment and minimizing early round-off errors in the trajectory. This synchronous output of positions and velocities also results in fewer artifacts compared to post-hoc velocity computation in basic Verlet, where velocities are derived via finite differences that can introduce interpolation errors or inconsistencies in multi-particle interactions. In terms of implementation, the Velocity Verlet algorithm is particularly well-suited for multi-particle systems, where it can be expressed in a vectorized form to update all particle and simultaneously. For a system of N particles, the core steps—position update, evaluation, and velocity update—are applied element-wise across position vectors \mathbf{r}_i(t) and velocity vectors \mathbf{v}_i(t) for i = 1 to N, leveraging efficient linear algebra libraries for parallel computation. Handling is straightforward and integrated into the position update phase: after advancing positions, coordinates are wrapped back into the simulation box by subtracting integer multiples of the box vectors, ensuring continuity in calculations via neighbor lists. This approach is exemplified in widely adopted software like , where Velocity Verlet is favored for its simplicity, stability, and compatibility with advanced features such as pressure coupling and thermostats.

Properties and Analysis

Error Terms and Stability

The Verlet integration methods, including both the basic Størmer-Verlet and the Velocity Verlet variants, exhibit a consistent second-order global error of O(\Delta t^2), where \Delta t is the timestep. This accuracy arises from the methods' second-order consistency, ensuring that the accumulated error over a fixed time grows ally with the timestep size. For the Störmer-Verlet scheme, detailed backward error analysis confirms this order, with the modified differing from the original by terms of order O(h^2), leading to global position and velocity errors bounded by O(t h^2) for simulations up to time t. The Velocity Verlet formulation shares this error characteristic, as it is mathematically equivalent to the basic method up to higher-order terms, maintaining the same convergence in practice for systems. Stability analysis reveals that Verlet methods demonstrate unconditional stability for linear forces without oscillatory components, but for linear oscillatory systems such as the , stability is conditional on the timestep satisfying $0 < \Delta t < 2 / \omega, where \omega is the natural frequency; exceeding this limit leads to numerical divergence. In nonlinear force fields, typical of , the methods exhibit bounded energy errors of order O(\Delta t^2) over exponentially long simulation times t \leq \exp(c / \Delta t), preventing secular drift and ensuring practical long-term reliability without energy explosion. This boundedness stems from the near-conservation of a modified , which approximates the true energy closely for small timesteps. Rounding errors in floating-point implementations pose a challenge, as repeated additions can accumulate inaccuracies, particularly in computations for the Verlet method. However, the symmetric updates inherent to both variants—computing positions forward and velocities via centered differences—mitigate these effects by preserving time-reversibility, which cancels out many rounding-induced asymmetries and reduces error propagation compared to asymmetric schemes like Euler. In integrable systems, this symmetry contributes to long-term by maintaining near-preservation of phase-space structures, though issues can arise when \Delta t is a rational multiple of the system's period, leading to amplified instabilities in highly oscillatory or multi-frequency scenarios.

Symplectic Properties

Symplectic integrators are numerical methods that preserve the symplectic structure of systems, meaning their flow maps satisfy the condition \Phi_h^T J \Phi_h = J, where J = \begin{pmatrix} 0 & I \\ -I & 0 \end{pmatrix} is the standard and \Phi_h is the of the integrator's step map. This preservation ensures exact conservation of volume, analogous to for the continuous flow of systems. The Störmer-Verlet method, a core form of Verlet integration, is because it can be expressed as the composition of two Euler steps, each of which acts as a transformation in coordinates. Specifically, for a separable H(p,q) = T(p) + V(q), the scheme alternates updates of positions and momenta via explicit and implicit Euler-like maps, both of which individually preserve the symplectic form; their composition thus inherits this property. The nature of the Verlet method was first formally recognized and confirmed in the modern context by Ronald D. Ruth in , who verified it for the variant while developing higher-order canonical integrators. Kang Feng independently advanced the theoretical framework in 1985, emphasizing symplectic preservation for long-term simulations. A deeper understanding of these properties arises from backward error analysis, which demonstrates that the numerical solution of the Verlet method exactly follows the flow of a perturbed \tilde{H} = H + h^2 H_2 + h^4 H_4 + \cdots, where the modified terms H_k are close to the original H for small step sizes h. Since \tilde{H} shares the same structure, the integrator's long-term behavior mimics that of a true , preventing artificial dissipation or instability. This preservation yields significant benefits, particularly near-exact conservation of the total , where the error oscillates with bounded amplitude O(h^2) over exponentially long times t \leq \exp(c/h) for analytic Hamiltonians, in stark contrast to non-symplectic methods that exhibit linear energy drift. Such makes Verlet integration ideal for simulating conservative systems over extended periods without cumulative error growth.

Applications and Advanced Topics

Handling Constraints

In Verlet integration for simulations, such as fixed bond lengths between atoms are commonly imposed to model rigid molecular structures and allow larger integration timesteps without from stiff potentials. These constraints are expressed mathematically as g(\mathbf{x}) = 0, where \mathbf{x} represents the positions and g enforces conditions like distance equality between bonded atoms. The SHAKE algorithm addresses these constraints through an iterative post-correction of positions after the standard Verlet update step. Following the unconstrained position update \mathbf{x}(t + \Delta t) = 2\mathbf{x}(t) - \mathbf{x}(t - \Delta t) + \frac{\Delta t^2}{m} \mathbf{F}(t), where m is and \mathbf{F}(t) are forces, SHAKE solves for small adjustments \delta \mathbf{x} to satisfy g(\mathbf{x} + \delta \mathbf{x}) = 0 by iteratively minimizing the violation, typically converging in 3–5 iterations for tolerances around $10^{-4} to $10^{-8}. This method implicitly solves for Lagrange multipliers via a approximation, avoiding explicit computation of force gradients while preserving the nature of the . For the Velocity Verlet variant, the RATTLE algorithm extends SHAKE by enforcing constraints on both positions and velocities. After the position update, RATTLE first applies SHAKE-like corrections to positions, then adjusts velocities \mathbf{v}(t + \Delta t/2) to satisfy the time derivative of the constraints \nabla g \cdot \mathbf{v} = 0, ensuring and time-reversibility. This dual adjustment maintains the accuracy of unconstrained Velocity Verlet, with global error O(\Delta t^2), and is particularly suited for systems requiring explicit velocity information, such as thermostatted simulations. An alternative approach integrates Lagrange multipliers directly into the force computation to incorporate constraint forces during the Verlet step. The total force becomes \mathbf{F}_\text{total} = \mathbf{F}_\text{potential} - \sum \lambda_k \nabla g_k, where multipliers \lambda_k are solved iteratively or analytically from the linearized equations to predict positions that satisfy g(\mathbf{x}(t + \Delta t)) = 0. This method embeds constraints within the dynamics equations, reducing post-correction overhead but requiring matrix inversions for coupled constraints. These techniques, pioneered by Ryckaert et al. in 1977, enable realistic modeling of rigid bonds in large systems like biomolecules, though they increase computational cost by 10–50% due to iterations, depending on constraint complexity and tolerance.

Collision Reactions

In particle simulations employing , instantaneous collisions are managed through an event-driven approach, where the system evolves to the precise time of the next collision event rather than adhering to uniform timesteps. This method is essential for modeling hard sphere interactions, as it allows particles to follow deterministic trajectories—quadratic in time under constant external forces such as —until an impending collision is detected. The collision time \tau_c for a pair of particles is found by solving the derived from their relative motion (assuming zero relative acceleration): \Delta t = \frac{ -(\mathbf{r}_{12} \cdot \mathbf{v}_{12}) \pm \sqrt{ (\mathbf{r}_{12} \cdot \mathbf{v}_{12})^2 - \mathbf{v}_{12}^2 (r^2 - \sigma^2) } }{ \mathbf{v}_{12}^2 }, where \mathbf{r}_{12} is the initial relative position vector, \mathbf{v}_{12} is the relative velocity, r = |\mathbf{r}_{12}|, and \sigma is the sum of particle radii; the root yielding the smallest positive \Delta t is selected to ensure the earliest event (typically the minus sign before the square root when particles are approaching). Between such events, the basic Verlet scheme propagates positions exactly for hard spheres in the absence of continuous forces, ensuring high fidelity without numerical accumulation of errors. Upon a collision event, velocities are instantaneously updated to reflect exchange and dissipation. For spheres i and j, the normal component of the after collision is scaled by the negative of the e (where $0 \leq e \leq 1), while tangential components remain unchanged in frictionless cases: \mathbf{v}_{12}' \cdot \hat{\mathbf{n}} = -e (\mathbf{v}_{12} \cdot \hat{\mathbf{n}}), with individual velocities adjusted to conserve total linear along the collision \hat{\mathbf{n}}. collisions (e=1) fully reverse the relative normal velocity, preserving , whereas inelastic ones (e<1) introduce , common in modeling dissipative granular systems. This update maintains the discrete nature of hard sphere interactions, integrating seamlessly with Verlet propagation for hybrid systems combining hard cores and soft potentials. The event-driven Verlet framework is particularly prevalent in granular dynamics simulations, where it excels at handling dense packings of inelastic without the of tiny timesteps required near contacts in fixed-step integrators. By predicting and jumping to exact collision instants, it circumvents artificial or penetration errors, enabling efficient exploration of rapid flow regimes and clustering phenomena in polydisperse granular media. This approach has been instrumental in studying non-equilibrium behaviors, such as distributions and in vibrated or sheared granular beds.

Use in Molecular Dynamics

Verlet integration serves as the foundational time-stepping method in () simulations, particularly for integrating the trajectories of atomic systems under continuous potentials such as the , which models van der Waals interactions between non-bonded atoms. This approach was pivotal in enabling early computational breakthroughs in , such as the simulations of hard-sphere gases by and Wainwright in 1957, where a precursor to the formal Verlet method allowed the first realistic modeling of many-body dynamics; the method was later formalized by Verlet in 1967 for soft potentials like Lennard-Jones. In software packages, including and LAMMPS, variants like the leap-frog or Verlet algorithms are the default integrators for propagating particle positions and velocities in such systems, ensuring long-term stability over simulations spanning femtoseconds to microseconds. To simulate realistic conditions, Verlet integration is routinely adapted for constant-temperature (NVT) and constant-pressure (NPT) ensembles through coupling with and barostats, such as the Nosé-Hoover method, which introduces auxiliary dynamical variables to temperature without fully disrupting the underlying structure of the integrator. The Nosé-Hoover , when combined with velocity Verlet steps, maintains approximate symplecticity and reversibility, allowing ergodic sampling of the while preserving key properties like over extended runs. Similar extensions apply to barostats for , enabling the study of condensed-phase systems like liquids and solids under varying thermodynamic conditions. The computational scalability of Verlet-based stems from its cost per time step for evaluating pairwise forces when using radii to limit interactions, avoiding the full O(N²) scaling for large systems with thousands to millions of atoms. This linear scaling is achieved through neighbor lists that precompute nearby particle pairs, updated periodically during the . Parallelization further enhances efficiency, with implementations distributing computations across processors or GPUs via domain decomposition, where each node handles a spatial and communicates boundary interactions; this has enabled simulations of biomolecular complexes on petascale machines. In biomolecular , Verlet integration is briefly augmented with algorithms like SHAKE to enforce rigid bonds, facilitating larger time steps for solvent-heavy systems.

References

  1. [1]
    Verlet Method - Computational Methods of Physics
    In this paper he discusses the method and its application to molecular dynamics simulations. We write the Taylor series expansion for $x_{n-1}$ in a form ...
  2. [2]
    Computer "Experiments" on Classical Fluids. I. Thermodynamical ...
    Computer "Experiments" on Classical Fluids. I. Thermodynamical Properties of Lennard-Jones Molecules. Loup Verlet*.
  3. [3]
    [PDF] Regarding the absolute stability of Störmer-Cowell methods - NTNU
    Oct 3, 2011 · Carl Störmer, epony- mous to the Störmer-Verlet method, published his methods aimed at computing orbits of charged particles in Earth's ...
  4. [4]
    [PDF] Explicit Exactly Energy-conserving Methods for Hamiltonian Systems
    Jun 24, 2022 · Time stepping methods are introduced in Section 3, including first the rudimentary Störmer-Verlet method, the energy-conserving method ...
  5. [5]
    [PDF] PHY411 Lecture notes Part 7 –Integrators
    For the separable Hamiltonian, the Stormer-Verlet method can be described in terms of evolution by τ/2 of the momenta followed by evolution by τ of the ...
  6. [6]
    [PDF] The original paper by Verlet - Computational Physics
    PHYSICAL REVIEW. VOLUME 159, NUMBER 1. Computer "Experiments" on Classical Fluids. I. Thermodynamical. Properties of Lennard-Jones Molecules* ......... LOUP ...
  7. [7]
    [PDF] Geometric numerical integration illustrated by the St ormer/Verlet ...
    The subject of geometric numerical integration deals with numerical integra- tors that preserve geometric properties of the ow of a di erential equation,.<|control11|><|separator|>
  8. [8]
    Symplectic integrators: An introduction | American Journal of Physics
    Oct 1, 2005 · Symplectic methods belong to the larger class of geometric numerical integration algorithms. These algorithms are constructed so that they ...
  9. [9]
    Geometric numerical integration illustrated by the Störmer–Verlet ...
    Jul 29, 2003 · This article illustrates concepts and results of geometric numerical integration on the important example of the Störmer–Verlet method.Missing: origins | Show results with:origins
  10. [10]
    5.3 Newton's Second Law - University Physics Volume 1 | OpenStax
    Sep 19, 2016 · Newton's second law is closely related to his first law. It mathematically gives the cause-and-effect relationship between force and changes ...Missing: original | Show results with:original
  11. [11]
    [PDF] 22.53 Elements of Molecular Dynamics
    From now on when we refer to an algorithm's order, we mean its global error's order in ∆t. The Verlet algorithm is thus a second-order method. This is only ...
  12. [12]
    [PDF] Numerical Solutions of Classical Equations of Motion - Physics
    To integrate this set of equations, we discretize the time-axis as t = t0,t1,..., with a constant time step tn+1 − tn = ∆t. The initial values x0 = x(t0) and v0 ...
  13. [13]
    [PDF] Computer Simulation of Liquids - Levich Institute
    ... allen tildesley. Although we stick to Fortran 2008 in the main, some online ... Equations of motion for atomic systems. 95. 3.2 Finite-difference methods.
  14. [14]
    [PDF] EE4 2003 Lecture notes University of Iceland Hannes Jónsson ...
    Given the coordinate x(0) and velocity ˙x(0), the coordinate at a previous step x(−h) needs to be constructed. A different algorithm, the Velocity Verlet ...
  15. [15]
    [PDF] Molecular Dynamics
    Sep 6, 2016 · The “Molecular Dynamics” (MD) method for classical systems (not H or ... Initialize verlet (state_now,state_old). • Find_v_and_f (R_now).
  16. [16]
  17. [17]
    Velocity Verlet algorithm for dissipative-particle-dynamics-based ...
    Mar 1, 1999 · A velocity Verlet algorithm for velocity dependent forces is described for modeling a suspension of rigid body inclusions.Missing: Andersen | Show results with:Andersen
  18. [18]
    Molecular Dynamics - GROMACS 2025.3 documentation
    ### Summary of Velocity Verlet in GROMACS
  19. [19]
    [PDF] Geometric numerical integration illustrated by the Störmer–Verlet ...
    Feb 20, 2025 · It therefore preserves volume in phase space: for every bounded open set Ω, and for every t for which ϕt. (y) exists for all y ∈ Ω, vol (ϕt.
  20. [20]
    [PDF] Special stability advantages of position-Verlet over velocity-Verlet in ...
    Sep 1, 2001 · Special stability advantages of position-Verlet over velocity-Verlet ... 6,16 The medium force evaluation includes 1–4 interaction, van der ...
  21. [21]
  22. [22]
    [PDF] Verlet integration
    Verlet integration was used by Carl Størmer to compute the trajectories of particles moving in a magnetic field (hence it is also called. Störmer's method) and ...
  23. [23]
    (PDF) Canonical integration technique - ResearchGate
    Aug 6, 2025 · Up to 1983, besides verifying the result by De Vogelaere that the leap-frog method is symplectic, Ruth [Rut83] reported a third-order explicit ...Missing: Verlet | Show results with:Verlet
  24. [24]
    [physics/9904066] A molecular-dynamics algorithm for mixed hard ...
    Apr 29, 1999 · A molecular-dynamics algorithm for mixed hard-core/continuous potentials. Authors:Yao A. Houndonougbo, Brian B. Laird, Benedict J. Leimkuhler.
  25. [25]
    How to handle the inelastic collapse of a dissipative hard-sphere ...
    Oct 1, 1998 · Abstract: The inelastic hard sphere model of granular material is ... Finally, we present event-driven numerical simulations of ...
  26. [26]
    Molecular Dynamics - GROMACS 2025.3 documentation
    No readable text found in the HTML.<|separator|>
  27. [27]
    fix nve command - LAMMPS documentation
    This fix invokes the velocity form of the Stoermer-Verlet time integration algorithm (velocity-Verlet). Other time integration options can be invoked using ...<|separator|>
  28. [28]
    Neighbor List Artifacts in Molecular Dynamics Simulations
    ... pairwise forces would scale with the square of the particle number N in the system. With a fixed cutoff rc, the cost scales roughly linearly with N. For the ...
  29. [29]
    Parallel verlet neighbor list algorithm for GPU-optimized MD ...
    Parallel verlet neighbor list algorithm for GPU-optimized MD simulations ... A new parallel method for molecular dynamics simulation of macromolecular systems.
  30. [30]
    SHAKE parallelization - PMC - NIH
    SHAKE is a widely used algorithm to impose general holonomic constraints during molecular simulations. By imposing constraints on stiff degrees of freedom ...