Skip to content

fix: add DynamicQuantities extension for unitful factorization paths#1293

Open
MilesCranmerBot wants to merge 2 commits intoSciML:masterfrom
MilesCranmerBot:wave2-dq-compat
Open

fix: add DynamicQuantities extension for unitful factorization paths#1293
MilesCranmerBot wants to merge 2 commits intoSciML:masterfrom
MilesCranmerBot:wave2-dq-compat

Conversation

@MilesCranmerBot
Copy link

Wave 2 (post-DynamicQuantities release) for the DynamicQuantities × SciML rollout.
Tracking issue: JuliaPhysics/DynamicQuantities.jl#200

What this changes

Adds ext/DiffEqBaseDynamicQuantitiesExt.jl to define DynamicQuantities-specific DiffEqBase behaviors:

  • unit-safe ODE_DEFAULT_NORM / UNITLESS_ABS2
  • timedepentdtmin and _rate_prototype handling for quantity times
  • value-space LU factorization bridge (DQUnitlessLU) for Rosenbrock/SDIRK Jacobian solves with quantity eltypes

This keeps factorization in numeric value-space while restoring output units consistently.

Test

  • julia --project=. -e 'using Pkg; Pkg.test()'

Choose a reason for hiding this comment

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

@MilesCranmerBot I think you forgot to include unittests in this PR? Please add them and ensure 100% code coverage here.

@MilesCranmerBot
Copy link
Author

Added unit tests for the DynamicQuantities extension (incl. DQUnitlessLU factorization bridge + norm/time hooks) and wired the extension in Project.toml ([weakdeps]/[extensions]/[compat] + added DynamicQuantities to test target).

Local run: Pkg.test(; coverage=true).

Commit: 0bd73ec (pushed to wave2-dq-compat).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants