DAE Solvers

Recomended Methods

The recommended method for performance is IDA from the Sundials.jl package if you are solving problems with Float64. It's a very well-optimized method, and allows you to have a little bit of control over the linear solver to better tailor it to your problem. A similar algorithm is daskr. Which one is more efficient is problem-dependent.

If your problem requires special Julia types like arbitrary precision numbers, then dassl is the method of choice.

Special Keyword Arguments

Implemented Solvers

Sundials.jl

Note that the constructors for the Sundials algorithms take an argument:

Example:

IDA() # Newton + Dense solver
IDA(linear_solver=:Band,jac_upper=3,jac_lower=3) # Banded solver with nonzero diagonals 3 up and 3 down
IDA(linear_solver=:BCG) # Biconjugate gradient method                                   

DASKR.jl

DASKR.jl is not automatically included by DifferentialEquations.jl. To use this algorithm, you will need to install and use the package:

Pkg.add("DASKR")
using DASKR

DASSL.jl