Skip to content

Switch to sub-packages of OrdinaryDiffEq.jl#1154

Merged
efaulhaber merged 16 commits intotrixi-framework:devfrom
efaulhaber:ode-subpackages
Apr 28, 2026
Merged

Switch to sub-packages of OrdinaryDiffEq.jl#1154
efaulhaber merged 16 commits intotrixi-framework:devfrom
efaulhaber:ode-subpackages

Conversation

@efaulhaber
Copy link
Copy Markdown
Member

Closes #1107.

@efaulhaber efaulhaber self-assigned this Apr 22, 2026
@efaulhaber efaulhaber added the breaking changes This change will break the public API and requires a new major release label Apr 22, 2026
@efaulhaber efaulhaber added this to the 0.5 milestone Apr 22, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 22, 2026

Codecov Report

❌ Patch coverage is 80.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 89.03%. Comparing base (a8cc1cd) to head (467b238).
⚠️ Report is 3 commits behind head on dev.

Files with missing lines Patch % Lines
src/general/time_integration.jl 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##              dev    #1154   +/-   ##
=======================================
  Coverage   89.03%   89.03%           
=======================================
  Files         128      128           
  Lines       10039    10039           
=======================================
  Hits         8938     8938           
  Misses       1101     1101           
Flag Coverage Δ
total 89.03% <80.00%> (ø)
unit 68.10% <20.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@efaulhaber efaulhaber mentioned this pull request Apr 23, 2026
7 tasks
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR switches the repository’s example/validation/test/documentation code from depending on the full OrdinaryDiffEq.jl package to using smaller OrdinaryDiffEq.jl sub-packages (e.g. OrdinaryDiffEqLowStorageRK, OrdinaryDiffEqSymplecticRK) to reduce precompile time and latency (closes #1107).

Changes:

  • Replace using OrdinaryDiffEq with targeted sub-package imports across examples, validations, docs, and tests.
  • Update docs/README/install instructions and NEWS to reflect the new time-integration dependency story.
  • Minor internal updates (outer-product construction in shifting; clarify pressure-acceleration formulas in comments).

Reviewed changes

Copilot reviewed 54 out of 54 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
validation/oscillating_beam_2d/validation_oscillating_beam_2d.jl Use OrdinaryDiffEqLowStorageRK instead of OrdinaryDiffEq.
validation/hydrostatic_water_column_2d/validation.jl Use OrdinaryDiffEqLowStorageRK instead of OrdinaryDiffEq.
test/test_util.jl Load OrdinaryDiffEqSymplecticRK so the symplectic extension is available in tests.
test/Project.toml Swap OrdinaryDiffEq dep for OrdinaryDiffEqLowStorageRK + OrdinaryDiffEqSymplecticRK.
src/schemes/fluid/shifting_techniques.jl Adjust TVF tensor construction to use permutedims.
src/schemes/fluid/pressure_acceleration.jl Add clarifying formula comments for pressure acceleration variants.
src/general/time_integration.jl Update extension reference and error message to OrdinaryDiffEqSymplecticRK.
src/general/semidiscretization.jl Docstring wording update for OrdinaryDiffEq reference.
src/callbacks/split_integration.jl Doctest uses OrdinaryDiffEqLowStorageRK.
examples/structure/oscillating_beam_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/structure/colliding_rigid_spheres_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/preprocessing/packing_3d.jl Use OrdinaryDiffEqLowStorageRK.
examples/preprocessing/packing_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/n_body/n_body_solar_system.jl Use OrdinaryDiffEqSymplecticRK.
examples/fsi/hydrostatic_water_column_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fsi/falling_water_column_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fsi/falling_spheres_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fsi/falling_rotating_rigid_squares_w_buoys_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fsi/falling_rotating_rigid_squares_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fsi/falling_rigid_spheres_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fsi/dam_break_plate_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fsi/dam_break_gate_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/taylor_green_vortex_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/sphere_surface_tension_wall_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/sphere_surface_tension_3d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/sphere_surface_tension_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/poiseuille_flow_3d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/poiseuille_flow_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/pipe_flow_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/periodic_channel_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/periodic_array_of_cylinders_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/oscillating_drop_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/moving_wall_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/lid_driven_cavity_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/hydrostatic_water_column_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/falling_water_spheres_3d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/falling_water_spheres_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/falling_water_column_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/dam_break_oil_film_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/dam_break_3d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/dam_break_2phase_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/dam_break_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/fluid/accelerated_tank_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/dem/rectangular_tank_2d.jl Use OrdinaryDiffEqLowStorageRK.
examples/dem/collapsing_sand_pile_3d.jl Use OrdinaryDiffEqLowStorageRK.
docs/src/time_integration.md Update narrative + code examples to sub-packages.
docs/src/install.md Update install instructions to sub-package approach.
docs/literate/src/tut_setup.jl Use OrdinaryDiffEqLowStorageRK in tutorial code.
docs/literate/src/tut_rigid_body_fsi.jl Use OrdinaryDiffEqLowStorageRK in tutorial code.
docs/literate/src/tut_packing.jl Use OrdinaryDiffEqLowStorageRK in tutorial code.
docs/literate/src/tut_custom_kernel.jl Use OrdinaryDiffEqLowStorageRK in tutorial code.
docs/Project.toml Swap docs env dep from OrdinaryDiffEq to OrdinaryDiffEqLowStorageRK.
README.md Update user/dev install instructions to sub-package approach.
NEWS.md Document switch to OrdinaryDiffEq sub-packages.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread examples/fluid/dam_break_2d.jl
Comment thread docs/src/time_integration.md Outdated
Comment thread src/general/corrections.jl
Comment thread NEWS.md Outdated
Comment thread docs/src/install.md
@efaulhaber efaulhaber requested a review from svchb April 28, 2026 10:05
@efaulhaber
Copy link
Copy Markdown
Member Author

/run-gpu-tests

Comment thread NEWS.md
- The example files are now loading sub-packages of OrdinaryDiffEq.jl instead of
OrdinaryDiffEq.jl itself. For example, `using OrdinaryDiffEqLowStorageRK` instead of
`using OrdinaryDiffEq` (#1154).
- `DensityDiffusionAntuono` now only takes only one kwarg `delta` (#1142).
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `DensityDiffusionAntuono` now only takes only one kwarg `delta` (#1142).
- `DensityDiffusionAntuono` now only takes one kwarg `delta` (#1142).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It had one kwarg before. The difference is that the positional argument has been removed. Let's change that in #1162.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, now I see the duplicate word.

@efaulhaber efaulhaber merged commit 3d7c0c2 into trixi-framework:dev Apr 28, 2026
19 of 21 checks passed
@efaulhaber efaulhaber deleted the ode-subpackages branch April 28, 2026 13:09
efaulhaber referenced this pull request Apr 29, 2026
Merge dev to main for 0.5 release
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking changes This change will break the public API and requires a new major release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants