f90_ode, a Fortran90 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.
The information on this web page is distributed under the MIT license.
f90_ode is available in a C version and a C++ version and a Fortran90 version.
backward_euler, a Fortran90 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 Fortran90 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.
euler, a Fortran90 code which solves one or more ordinary differential equations (ODE) using the forward Euler method.
fsolve, a Fortran90 code which solves systems of nonlinear equations, inspired by the fsolve() function in minpack(), with special interfaces fsolve_bdf2(), fsolve_be() and fsolve_tr() for handling systems associated with implicit ODE solvers of type bdf2, backward Euler, midpoint, or trapezoidal.
midpoint, a Fortran90 code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, with a version of fsolve() handling the associated nonlinear equations, and using a fixed time step.
midpoint_explicit, a Fortran90 code which solves one or more ordinary differential equations (ODE) using the (explicit) midpoint method.
midpoint_fixed, a Fortran90 code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, using a fixed point method for the implicit equation.
midpoint_gsl_test, a Fortran90 code which calls the Gnu Scientific Library (GSL) implicit midpoint method solver for ordinary differential equation (ODE), and uses gnuplot() to plot the resulting solution.
ode, a Fortran90 code which solves a system of ordinary differential equations (ODE), by Shampine and Gordon.
rk1, a Fortran90 code which solves one or more ordinary differential equations (ODE) using an explicit Runge-Kutta method of order 1, usually known as Euler's explicit method.
rk1_implicit, a Fortran90 code which solves one or more ordinary differential equations (ODE) using the Runge-Kutta order 1 implicit method, using fsolve() to solve the implicit equation, and using a fixed time step. rk1_implicit() is commonly called the backward Euler method.
rk2, a Fortran90 code which solves one or more ordinary differential equations (ODE) using an explicit Runge-Kutta method of order 2, also known as Heun's method, the explicit midpoint method, or the modified Euler method.
rk4, a Fortran90 code which applies the fourth order Runge-Kutta (RK) algorithm to estimate the solution of an ordinary differential equation (ODE).
rkf45, a Fortran90 code which implements the Runge-Kutta-Fehlberg solver for ordinary differential equations (ODE).
test_ode, a Fortran90 code which contains routines which define some test problems for ODE solvers.
trapezoidal, a Fortran90 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.