Common Solver Options

The DifferentialEquations.jl universe has a large set of common arguments available for the solve function. These arguments apply to solve on any problem type and are only limited by limitations of the specific implementations.

Many of the defaults depend on the algorithm or the package the algorithm derives from. Not all of the interface is provided by every algorithm. For more detailed information on the defaults and the available options for specific algorithms / packages, see the manual pages for the solvers of specific problems.

Default Algorithm Hinting

To help choose the default algorithm, the keyword argument alg_hints is provided. alg_hints is a Vector{Symbol} which describe the problem at a high level to the solver. The options are:

Currently unused options include:

This functionality is derived via the benchmarks in DiffEqBenchmarks.jl and is under active development.

Output Control

These arguments control the output behavior of the solvers. It defaults to maximum output to give the best interactive user experience, but can be reduced all the way to only saving the solution at the final timepoint. All of these options can be mixed and matched. For example, the combination:

saveat=[0:1/4:1],save_timeseries=false,dense=false

will only save the solution at the timepoints 0:1/4:1 and no other locations. For more examples for controlling the output behavior, see the Output Specification manual page.

Stepsize Control

These arguments control the timestepping routines.

Fixed Stepsize Usage

Note that if a method does not have adaptivity, the following rules apply:

Miscellaneous

Progress Monitoring

These arguments control the usage of the progressbar in the Juno IDE.

User Data

Error Calculations

If you are using the test problems (ex: ODETestProblem), then the following options control the errors which are calculated: