scaffold unified LowStorageRKTableau + generic perform_step (2N form)#3683
scaffold unified LowStorageRKTableau + generic perform_step (2N form)#3683singhharsh1708 wants to merge 1 commit into
Conversation
|
family by family would probably be easier, yes. |
087bdb7 to
eedc675
Compare
|
Steps don't matter for non-adaptive methods, are the solutions identical? |
|
@ChrisRackauckas Yes, solutions are identical — validated by running each algorithm on a Lorenz problem and comparing the final state vector between the branch and master. |
| c5 = convert(T2, 0.8) | ||
| c2end = (c2, c3, c4, c5) | ||
|
|
||
| return LowStorageRK2NConstantCache(A2end, B1, B2end, c2end) |
There was a problem hiding this comment.
these all already hit the same code, so it's not a substantive change. Do any other caches hit the same form?
|
Updated: helper indirection removed — Re 'do any other caches hit the same form': yes — |
|
@ChrisRackauckas i think once its merged we can do that then |
|
see the current comment. |
19f1088 to
44cb756
Compare
44cb756 to
fd240f0
Compare
|
@ChrisRackauckas ohh i see In previously merged |
Summary
LowStorageRKTableau{form,N,T,T2} <: OrdinaryDiffEqConstantCachein a newlow_storage_tableaus.jl— a unified tableau struct parameterised on family tag (:two_n,:two_c, …).generic_low_storage_perform_step.jlwith plain-dispatch_perform_step_oop!/_perform_step_iip!methods (no@generated, following the pattern from Inline ESDIRK/IMEX perform_step stages; drop @generated and S type-param #3676).LowStorageRKTableau{:two_n}in place of the deletedLowStorageRK2NConstantCache.low_storage_rk_perform_step.jldelegate to the generic implementations.This is the first in a series of stacked PRs (#3683 → #3684 → #3685 → #3686 → #3687 → #3688) that convert all LowStorageRK families family by family.
Test plan