Skip to content
This repository was archived by the owner on Sep 9, 2024. It is now read-only.
This repository was archived by the owner on Sep 9, 2024. It is now read-only.

API for ODE solvers #20

Closed
Closed
@acroy

Description

@acroy

This is a summary of the discussions in #7 and #4 and intended to reflect the latest decisions about the API.

Each (adaptive) solver accepts 3 arguments (PR in #14 )

Moreover, the following keywords are supported

  • norm: user-supplied norm for determining the error E (default Base.norm)
  • abstol and/or reltol: an integration step is accepted if E <= abstol || E <= reltol*abs(y) (ideally we want both criteria for all solvers, done in Use keyword arguments to set the tolerance #13)
  • points=:all | :specified | :final: controls the type of output according to
    • points==:all (default) output is given for each value in tspan as well as for each intermediate point the solver used.
    • points==:specified output is given only for each value in tspan.
    • points==:final output is given only for the last value in tspan, i.e. at the end of integration (speculative).
  • maxstep, minstep and initstep: determine the maximal, minimal and initial integration step.

The solver returns two arrays (PR in #14)

  • tout: points at which solutions were obtained (also see keyword points)
  • yout: solutions at times tout; if points=:all | :specified is used, yout::Vector{typeof(y0)}. For
    points==:final the solution at the end of the integration yout::typeof(y0) is returned (speculative).

If we we decide to support non-adaptive solvers (see #9), those should have the same arguments and return values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions