RK4
Runge-Kutta 4th Order ODE Solver


RK4 is a C library which implements a simple Runge-Kutta solver for an initial value problem.

The rk4() function does not include any error estimator. It takes a single step at a time, requiring the user to control the step size.

Licensing:

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

Languages:

RK4 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:

GSL, a C++ library which includes routines for solving differential equations.

ODE, a C library which solves a system of ordinary differential equations, by Shampine and Gordon.

ODE_MOSHIER, a C library which implements the Adams-Bashforth-Moulton and Runge-Kutta (RK) methods of solving systems of ordinary differential equations, by Steven Moshier.

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

RKF45, a C library which implements the Runge-Kutta-Fehlberg ODE solver.

TEST_ODE, a FORTRAN90 library which contains routines which define some test problems for ODE solvers.

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.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C source codes.


Last revised on 09 October 2013.