Update to OrdinaryDiffEq.jl v7 and related SciML packages#2910
Conversation
5d38e62 to
4a12427
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2910 +/- ##
==========================================
- Coverage 97.09% 97.04% -0.05%
==========================================
Files 630 631 +1
Lines 48855 48898 +43
==========================================
+ Hits 47435 47450 +15
- Misses 1420 1448 +28
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
JoshuaLampert
left a comment
There was a problem hiding this comment.
Needs dependencies like SummationByPartsOperators.jl to be updated first.
|
We need jlchan/StartUpDG.jl#219 to be merged and released before. |
Co-authored-by: Copilot <copilot@github.com>
|
I think I missed a bit of this, but good to see tests passing. From what I'm gathering, you're asking for an IO API? It would be good for ya'll to start it because you know your needs. https://docs.sciml.ai/DiffEqDocs/stable/features/io/ is pretty much all we got, but I want to do more because large disk-based adjoints will need it anyways. But, it's hard to know what exactly is needed here so please share your internal APIs and such as starting points. |
The TLDR is that we want to store/load the integrators for very long running tasks. Will write up more details in a separate thread. |
|
Thanks a lot, @JoshuaLampert and everybody involved in making this possible! |
|
Did something change in StructArrays.jl? |
There hasn't been a new release from StructArrays.jl recently. The errors looks like they come from #2956. I guess, the changes from there need to be adapted to v4 of RecursiveArrayTools.jl. I'll take a closer look. |
|
Great, thanks a lot! And sorry for merging the other PR first so that you have even more work... |
|
I think 0a26d4b should be the correct fix for this, but can you double-check this makes sense? This fixes the issue locally for me, is consistent with the Line 1217 in 1648f58 Before, it fell back to use Trixi.jl/src/solvers/dgmulti/dg.jl Line 167 in 1648f58 |
|
Unfortunately, this is breaking for TrixiAtmo.jl... |
|
To make this PR simpler and not breaking, I reverted the changes to |
|
We have the failing subcell tests again, @bennibolm: https://github.com/trixi-framework/Trixi.jl/actions/runs/26223287942/job/77163592740?pr=2910#step:7:7931. |
This pull request changes the compat entry for the
RecursiveArrayToolspackage from3.37to3.37, 4.This keeps the compat entries for earlier versions.
Note: I have not tested your package with this new compat entry.
It is your responsibility to make sure that your package tests pass before you merge this pull request.
Closes #2918, closes #2919, closes #2949, closes #2950, closes #2960, closes #2961, closes #2962, closes #2963, closes #2965, closes #2966, closes #2967, closes #2968, closes #2969, closes #2970, closes #2971, closes #2972, closes #2973, closes #2981, closes #2983, closes #2984.
Also closes #2938 and closes #2941.
The required changes, which keep backwards compatibility with older versions from the SciML ecosystem are:
u_modified!byderivative_discontinuity!. Done in Replaceu_modified!byderivative_discontinuity!#2996.stage_limiter!a kwarg #2995.threadis now passed asFastBroadcast.Serial()/FastBroadcast.Threaded()instead ofTrue()/False(). Done in Implement Trixi.Threaded() #3003.sol.destatstosol.stats(sol.destatsis already deprecated from some time and we changed almost all occurrences already in follow SciMLBase update destats -> stats #1372). Done in Replace deprecateddestatsbystats#2994.TheEdit: This was fixed in OrdinaryDiffEqCore.jl v4.2 and is thus not necessary anymore.PIDControllerconstructor, which only acceptsbeta1,beta2,beta3, has (accidentally) another default value for (the algorithm dependent)qsteady_max. We can go back to the previous behavior by also passing the ode algorithm to the constructor of thePIDController. See below for a discussion about this.VectorOfArrayofSVectorsnow returns the underlying floating values, not theSVector, fixed by replacingubyparent(u)Note that I used Claude to help me with refactoring some parts, but I reviewed the code and adapted it.