Solves the DDE defined by
prob using the algorithm
alg. If no algorithm is given, a default algorithm will be chosen.
The recommended method for standard constant lag DDE problems are the
MethodOfSteps algorithms. These are constructed from an OrdinaryDiffEq.jl algorithm as follows:
MethodOfSteps(alg;constrained=false, picardabstol = nothing, picardreltol = nothing, picardnorm = nothing, max_picard_iters = 10)
alg is an OrdinaryDiffEq.jl algorithm. Most algorithms will work, though a notable exception are algorithms which use a lazy interpolant (the Verner methods).
The standard choice is
MethodOfSteps(Tsit5()). This is a highly efficient FSAL 5th order algorithm which should handle most problems. For fast solving at where non-strict error control is needed, choosing
BS3() can do well (this is similar to the MATLAB
dde23). For algorithms where strict error control is needed, it is recommended that one uses
If the method is having trouble, one may want to adjust the Picard parameters. Decreasing the Picard tolerances and increasing the Picard iterations can help ensure that the steps are correct. If the problem still is not correctly converging, one should lower
dtmax. In the worst case scenarios, one may need to set
constrained=true which will constrain the method in a manner that forces more stability at the cost of smaller timesteps.
There is currently no recommended algorithm for state-dependent delay problems. An algorithm is currently in the works.