Skip to content
CoreSource checked

Verlet Integration

Updates motion using current and previous positions.

Quick Facts

Compact metadata for implementation and discovery.

Category
Simulation
Difficulty
Intermediate
Family
Numerical Integration
Tier
Core
Status
Verified
Review
Source Checked
Sources
1
Formulas
1
Relationships
6
Code example
Not ready
Visualization
Ready

Overview

Verlet Integration estimates a new position from the current position, previous position, acceleration, and time step.

Core Concepts

position historyacceleration updatetime stepconstraint-friendly motionsimulated statephysical stateintegral approximationnumerical integration

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(t)

Average

O(t)

Worst

O(t)

Space

O(1)

When to Use

  • Use Verlet Integration when you need to advance position without storing velocity directly.
  • Use it for particle simulations with inputs like current position.
  • Use it when approximate behavior over time is more useful than a closed-form answer.
  • Use it when the Numerical Integration tradeoff is acceptable for the problem size.

When Not to Use

  • Avoid it when the time step, grid size, or sample count cannot support stable results.
  • Avoid it when the required output is not next position.

What It Does

  • Advances position without storing velocity directly
  • Uses previous position to preserve momentum-like behavior

Use Cases

  • Particle simulations
  • Cloth simulation
  • Constraint-based physics

Inputs

  • Current position
  • Previous position
  • Acceleration
  • Time step

Outputs

  • Next position

Key Formulas (1)

Verlet position update

positionnext = 2 · position − positionprevious + acceleration · dt2
position_next = 2 * position - position_previous + acceleration * dt^2

Uses current and previous positions to advance motion.

Pseudocode

  1. 1.Store the current position
  2. 2.Compute displacement from current and previous positions
  3. 3.Add acceleration scaled by the time step squared
  4. 4.Set the next position
  5. 5.Move the old current position into previous position

Canonical Example

Input
position = 0, velocity = 2, time step = 0.5
Output
next simulated state
Explanation
Verlet Integration: The algorithm advances the system by applying its update rule over a small step.

Implementation Notes

  • Keep the input contract explicit: Current position; Previous position; Acceleration; Time step.
  • Use this step as the implementation spine: Store the current position.
  • Then preserve the next state change: Compute displacement from current and previous positions.
  • Track units and invariants such as mass, energy, or count where they matter.

Common Pitfalls

  • Verlet Integration is popular for simple stable particle constraints.
  • Using a time step that is convenient for rendering but unstable for the simulated system.
  • Returning next position without handling empty, invalid, or boundary inputs.

Interactive Mechanism Walkthrough

Iterative Convergence & State Trajectory

Show previous and current positions determining the next particle position.

Verlet Integration mechanism walkthrough step 1 of 5x₀x₁x₂x*
Step 1 of 5: Store the current position
particle-history

Notes

Verlet Integration operates in O(t) time and O(1) space within the Numerical Integration family. Key governing relation: position_next = 2 * position - position_previous + acceleration * dt^2. Often compared with Euler Integration and Runge-Kutta Method.

Sources (1)

What each reference supports for this entry.

Verlet 1967

Paper

Classic paper using Verlet integration for molecular dynamics simulations.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Alternative toEuler Integration

Verlet integration uses previous position state rather than only the current derivative.

Often paired withVerlet Constraint Solver

Verlet-style state updates pair naturally with iterative constraint correction.

Tags

SimulationPhysicsNumerical Integration