backward_euler, a Fortran90 code which solves one or more ordinary differential equations (ODE) using the (implicit) backward Euler method, with a version of fsolve() handling the associated nonlinear equation, and using a fixed time step.
Each step requires the solution of an implicit nonlinear equation. A corresponding function has been devised, called fsolve_be(), which carries out the iterative solution process.
The computer code and data files described and made available on this web page are distributed under the MIT license.
backward_euler is available in a C version and a C++ version and a Fortran90 version and a FreeFem++ version and a MATLAB version and an Octave version and a Python versionand an R version.
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.
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 ODE solver.
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.