ODE is a C++ library which solves a system of ordinary differential equations, by Shampine and Gordon.
Given a system of ordinary differential equations of the form
Y' = F(T,Y)
Y(T0) = Y0
this program produces a sequence of approximate solution values Y(TOUT) at later times TOUT.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
ODE is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version..
NMS, a FORTRAN90 library which includes the ddriv package of ODE solvers.
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 C++ library which applies the fourth order Runge-Kutta algorithm to estimate the solution of an ordinary differential equation at the next time step.
RKF45, a C++ library which implements the Runge-Kutta-Fehlberg ODE solver.
TEST_ODE, a FORTRAN90 library which defines test problems for ODE solvers.
Lawrence Shampine, Marilyn Gordon.
- Lawrence Shampine, Marilyn Gordon,
Computer Solution of Ordinary Differential Equations: The Initial Value Problem,
Freeman, 1975,
ISBN: 0716704617,
LC: QA372.S416.
- ode_prb.cpp, a sample calling program.
- ode_prb_output.txt, the output file.
- DE carries out the ODE solution algorithm.
- I4_SIGN returns the sign of an I4.
- INTRP approximates the solution at XOUT by polynomial interpolation.
- ODE is the user interface to an ordinary differential equation solver.
- R8_ABS returns the absolute value of an R8.
- R8_ADD adds two R8's.
- R8_EPSILON returns the R8 roundoff unit.
- R8_MAX returns the maximum of two R8's.
- R8_MIN returns the minimum of two R8's.
- R8_SIGN returns the sign of an R8.
- STEP integrates the system of ODEs one step, from X to X+H.
- TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to the C++ source codes.
Last revised on 16 January 2012.