PSORLab / DynamicBoundsBase.jl

Abstraction Layer for Dynamic Bounds
Other
2 stars 1 forks source link

Change from DiffEqBase to SciMLBase #4

Open ChrisRackauckas opened 2 years ago

ChrisRackauckas commented 2 years ago

DiffEqBase is the lowest common denominator for the DiffEq packages, not necessarily the whole SciML ecosystem, and so it has a lot DiffEq dependencies. These are generally not required by downstream packages. If what you're looking for is a way to define problems without having most dependencies, we recommend you use SciMLBase as the dependency since everything like ODEProblem, SteadyStateProblem, etc. is defined there. We basically recommend depending on SciMLBase for problem definitions, and solver packages for specific solvers, but generally most non-SciML packages should not be depending on DiffEqBase directly (given the split of SciMLBase in 2021)

For more details see: https://diffeq.sciml.ai/stable/features/low_dep/ and https://discourse.julialang.org/t/psa-the-right-dependency-to-reduce-from-differentialequations-jl/72757

Let me know if you need any help updating this, though for almost all dependents here it should be a trivial name change as you're actually using pieces from SciMLBase.

(Note that your case is probably a bit different from the normal one because you're also depending on DiffEqSensitivity, which I would recommend and I would like to know why that's the case to hopefully fix it).

mewilhel commented 2 years ago

Thanks, that sounds easy enough. I'll take a look into this shortly.

With respect to DiffEqSensitivity:

Is there a preferred way to depend on DiffEqSensitivity.jl?

ChrisRackauckas commented 2 years ago

I think for your use case there's a good chance direct ForwardDiff on the solution process is faster, though it might be harder to break it up into two steps like you do right now.