This julia module provides an interface to solvers for ordinary differential equations (ODEs) written in Fortran for solving initial value problems (IVP) of the form
x' = rhs(t,x), x(t₀) = x₀
or (for solvers supporting a "mass matrix" M)
M⋅x' = rhs(t,x), x(t₀) = x₀.
Additionally a boundary value solver (called bvpsol
) is
supported for boundary value problems (BVP) of the form
x' = rhs(t,x), r = bc( xa, xb ) = 0
This julia module does not contain code for solving initial value problems, but this module does contain code for interacting with compiled Fortran-solvers. That's the reason, why this module is not called ODESuite. See the requirements below how to get to the compiled Fortran-solvers.
Currently the following Fortran-solvers, written by Prof. E. Hairer and Prof. G. Wanner, are supported:
see Software page of Prof. Hairer.
Additionally the following Fortran-solvers from the SLATEC Common Mathematical Library are supported:
Also supported:
bvpsol
only
covers non commercial use, see License.
Written by P. Deuflhard, G. Bader, L. Weimann, see
CodeLib at ZIB.BVP_M-2
: a boundary value problem solver for the numerical solution of
boundary value ordinary differential equations with defect and global error control.
Written by J. J. Boisvert, P.H. Muir and R. J. Spiteri, see
BVP_M-2 PageDescription: Calling the Solvers
The following features of the IVP-solvers are supported by this ODEInterface:
This module needs the compiled Fortran solvers as shared libraries
(i.e. .so
, .dylib
or .dll
files, respectively). There are three ways
to get them:
gfortran
and compile the solver libraries. This is the default behaviour for julia versions less than 1.3.ODEInterface.help_solversupport
for further informations (help topics) on how to compile the solvers and how to create shared libraries.Please see the help for ODEInterface.loadODESolves
how to ignore the
precompiled ODEInterface_jll
package and use the/your locally built libraries.
see ODEInterface.help_overview
for an overview of some help topics.
The author of this julia module is
Dr. Christian Ludwig
email: ludwig@ma.tum.de
(Faculty of Mathematics, Technische Universität München)