**velocity_verlet**,
a Python code which
uses a version of the velocity Verlet method to solve
a second order ordinary differential equation (ODE)
of the form y''=f(t,y).

The computer code and data files described and made available on this web page are distributed under the MIT license

**velocity_verlet** is available in
a MATLAB version and
a Python version.

backward_euler, a Python code which solves one or more ordinary differential equations (ODE) using the backward Euler method.

backward_euler_fixed, a Python code which solves one or more ordinary differential equations (ODE) using the (implicit) backward Euler method, using a fixed point iteration for the implicit equation.

bdf2, a Python code which solves one or more ordinary differential equations (ODE) using BDF2, the (implicit) backward difference formula of order 2, using fsolve() to solve the implicit equation.

euler, a Python code which solves one or more ordinary differential equations (ODE) using the Euler method.

leapfrog, a Python code which uses the leapfrog method to solve a second order ordinary differential equation (ODE) of the form y''=f(t,y).

midpoint, a Python code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method.

midpoint_adaptive, a Python code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, relying on fsolve() to solve the implicit equation, and using an adaptive timestep.

midpoint_explicit, a Python code which solves one or more ordinary differential equations (ODE) using the (explicit) midpoint method, also called the modified Euler method.

midpoint_fixed, a Python code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, using a simple fixed-point iteration to solve the implicit equation.

rk12, a Python code which implements Runge-Kutta solvers of orders 1 and 2 for a system of ordinary differential equations (ODE).

rk4, a Python code which applies the fourth order Runge-Kutta (RK) algorithm to estimate the solution of an ordinary differential equation (ODE).

rkf45, a Python code which implements the Runge-Kutta-Fehlberg ODE solver.

trapezoidal, a Python code which solves one or more ordinary differential equations (ODE) using the (implicit) trapezoidal method.

trapezoidal_explicit, a Python code which solves one or more ordinary differential equations (ODE) using the (explicit) trapezoidal method.

trapezoidal_fixed, a Python code which solves one or more ordinary differential equations (ODE) using the (implicit) trapezoidal method, using the fixed point method to handle the implicit system.

- velocity_verlet.py, the source code.
- velocity_verlet.sh, runs all the tests.
- velocity_verlet.txt, the output file.

- oscillator_velocity_verlet_conservation.png
- oscillator_velocity_verlet_phase.png
- oscillator_velocity_verlet_y1.png
- oscillator_velocity_verlet_y2.png