rkf45


rkf45, a Fortran77 code which implements the Watt and Shampine RKF45 ODE solver.

The code is a Runge-Kutta-Fehlberg algorithm for solving an ordinary differential equation, with automatic error estimation using rules of order 4 and 5.

Licensing:

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

Languages:

rkf45 is available in a C version and a C++ version and a Fortran77 version and a Fortran90 version and a MATLAB version and a Python version.

Related Data and Programs:

rkf45_test

backward_euler, a Fortran77 code which solves one or more ordinary differential equations (ODE) using the (implicit) backward Euler method, using a version of fsolve() for the implicit equation.

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

cwg_ode, a Fortran77 code which implements three ODE solvers by C William Gear.

driv, a Fortran77 code which solves real or complex systems of ordinary differential equations;

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

nms, a Fortran77 code which includes the DDRIV package of ODE solvers.

ode, a Fortran77 library which solves a system of ordinary differential equations, by Shampine and Gordon.

odepack, a Fortran77 library which contains nine ODE solvers, including LSODE, LSODES, LSODA, LSODAR, LSODPK, LSODKR, LSODI, LSOIBT, and LSODIS, by Alan Hindmarsh.

rk4, a Fortran77 library which applies the fourth order Runge-Kutta algorithm to estimate the solution of an ordinary differential equation at the next time step.

test_ode, a Fortran90 library which contains routines which define some test problems for ODE solvers.

trapezoidal, a Fortran77 code which solves one or more ordinary differential equations (ODE) using the (implicit) trapezoidal method, and a version of fsolve() to handle the nonlinear equation.

Reference:

  1. Erwin Fehlberg,
    Low-order Classical Runge-Kutta Formulas with Stepsize Control,
    NASA Technical Report R-315, 1969.
  2. Lawrence Shampine, Herman Watts, S Davenport,
    Solving Non-stiff Ordinary Differential Equations - The State of the Art,
    SIAM Review,
    Volume 18, pages 376-411, 1976.
  3. The source code for Shampine and Watt's original Fortran77 routine is available at http://www.netlib.org/ode/ the NETLIB ODE web site.

Source Code:


Last revised on 04 November 2023.