SciML / BoundaryValueDiffEq.jl

Boundary value problem (BVP) solvers for scientific machine learning (SciML)
Other
43 stars 32 forks source link

dt #7

Closed ChrisRackauckas closed 7 years ago

ChrisRackauckas commented 7 years ago

dt is defined as a keyword argument for the common interface:

http://docs.juliadiffeq.org/latest/basics/common_solver_opts.html#Basic-Stepsize-Control-1

To match the rest of the DiffEq-universe, you should have it be a keyword argument. That means you just need to change:

https://github.com/JuliaDiffEq/BoundaryValueDiffEq.jl/blob/master/src/solve.jl#L20 https://github.com/JuliaDiffEq/BoundaryValueDiffEq.jl/blob/master/src/algorithms.jl#L13

You should look out for standards like this when developing the API, since even if you're working in a new area, matching the API of similar tools makes it much easier to transfer knowledge.

Note that in that same spot:

http://docs.juliadiffeq.org/latest/basics/common_solver_opts.html#Basic-Stepsize-Control-1

There's an adaptive keyword argument for turning on/off adaptivity, along with tolerances. While those have slightly different meanings in the ODE/SDE/DDE/DAE/PDE/BVP senses, it's clear what it means in each case, so when you go to adaptivity you should follow this same setup.

ChrisRackauckas commented 7 years ago

Implemented by https://github.com/JuliaDiffEq/BoundaryValueDiffEq.jl/commit/ef849ebb9f717c0f66c7358b6c45fd216ac13e53

@YingboMa don't forget to close issues when they are done.