midpoint_adaptive

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. Plots of the solution and timestep history are created.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

midpoint_adaptive is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and codes:

python_ode_solver, a Python code which solves one or more differential equations (ODE) using a method of a particular order, either explicit or implicit. Some methods require a nonlinear equation solver. Some methods used a fixed stepsize, while others adapt the stepsize based on an error estimate.

Reference:

  1. William Milne,
    Numerical Integration of Ordinary Differential Equations,
    American Mathematical Monthly,
    Volume 33, number 9, pages 455–460, 1926.
  2. Ernst Hairer, Syvert Norsett, Gerhard Wanner,
    Solving ordinary differential equations, I. Nonstiff problems,
    Springer Series in Computational Mathematics, Number 8,
    Springer-Verlag, Berlin, 1987.
  3. Catalin Trenchea, John Burkardt,
    Refactorization of the midpoint rule,
    Applied Mathematics Letters,
    Volume 107, September 2020.

Source Code:


Last revised on 26 May 2022.