f90_ode


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.

Licensing:

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

Languages:

f90_ode is available in a C version and a C++ version and a Fortran90 version.

Related Data and codes:

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.


Last revised on 13 November 2024.