WIP: Linear multistep Patankar schemes#182
Conversation
|
All the onestep MPRK/SSPMPRK and also the multistep Patankar schemes can be interpreted as sequences of MPE steps with slightly modified input data. Before continuing this PR we should implement a function like |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Coverage Report for CI Build 27185234316Coverage increased (+0.9%) to 98.233%Details
Uncovered Changes
Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
| export MPLM22 | ||
|
|
||
| export prob_pds_linmod, prob_pds_linmod_inplace, prob_pds_nonlinmod, | ||
| prob_pds_robertson, prob_pds_brusselator, prob_pds_sir, |
There was a problem hiding this comment.
The new problems need to be added here, to be found in the tests.
…tegrators.jl into sk/patankar_multistep
…tegrators.jl into sk/patankar_multistep
…athematics/PositiveIntegrators.jl into sk/patankar_multistep
…athematics/PositiveIntegrators.jl into sk/patankar_multistep
|
The authors of the original paper kindly shared their code; consequently, the current out-of-place implementations of MPLM22, MPLM33, and MPLM43 yield the same results as those in the paper. However, the implementation of the startup phase for these m-step methods is quite cumbersome and difficult to maintain. To achieve the required accuracy for the starting values, the authors utilize a sub-stepping strategy (dt/4) with nested lower-order MPLM schemes. This currently necessitates a redundant implementation: one for the standard Should we keep this sub-stepping strategy? If so, is there a way to eliminate the "double implementation"? Alternatively, we could use MPRK or MPDeC one-step schemes to compute the initial values. Since these are available for all orders, the reduced time step would not be necessary. However, this would also require implementations of these methods that can be integrated into the MPLM @ranocha @JoshuaLampert Do you have any suggestions? |
…place versions of MPLM22, MPLM33
…tegrators.jl into sk/patankar_multistep
This implements #107.