MRKISS Roadmap
1. Summary
Right now everything that is implemented seems to work. Test coverage is poor for the high level solvers, but solid for the one step solvers and tableaux. I have a few functionality improvements I want to implement, but I don't forsee any API changes. I also have a few examples I would like to add.
- Add dy to a solution without it already
- Example showing error V with t_delta size
- Example showing error vs. order
- Solver that takes a t-vec, and computes solution using those points
- Multi-solver
- Give it multiple IVs and produce a steps_fixed_* multi-solution
- Give it multiple PARAMs and produce a steps_fixed_* multi-solution
- Run parallel across cores using OpenMP
- Finalize step-size and error computation in
steps_adapt_etab_*t()
- Add tests for high level solvers
Hermite InterpolationDONEGiven scalar t, y0, y1, dy0, and dy1; compute y(t)CANCELEDGiven vector t & sol, compute a sol matrix with new y values (no dy)DONEDo linear interpolation if no dy in old solutionDONE
Add example to three_body.f90DONE
Given scalar t & sol; compute y(t)CANCELEDCompute t-vec with fixed steps. Given vector for storage, and two of: from, to, t_deltaDONESolver that takes an t_end and n. Computes single solution at t_end using n fixed sized stepsDONEConsider how to use examples as consistency testsDONEAdd dy to solver outputDONEAdd ARKODE_VERNER_13_7_8DONEBT: https://sundials.readthedocs.io/en/v7.4.0/arkode/Butcher_link.html#c.ARKODE_VERNER_13_7_8DONEAdded ref for Verner's site.DONE
Add ARKODE_VERNER_10_6_7DONEBT: https://sundials.readthedocs.io/en/v7.4.0/arkode/Butcher_link.html#c.ARKODE_VERNER_10_6_7DONEAdded ref for Verner's site.DONE
Create sloppy version ofDONEsteps_condy_stab_*t
calledsteps_sloppy_condy_stab_*t
Update comments onDONEsteps_*
solvers to reflect all options and algorithm.AddDONEt_min_o
andt_max_o
options toprint_solution()
Add example documentation pagesDONEDONEthree_body
DONElorenz
Add aspect ratio argument toCANCELED*steps_condy_stab_*t()
Add "sloppy" option toCANCELED*steps_condy_stab_*t
Add option to not error out on bisection problems inDONEsteps_condy_stab_*t()
Add option to not error out on bisection problems inDONEsteps_adapt_etab_*t()
Consider "verbosity" options for high level solvers.CANCELEDAdd option to print diagnostics toCANCELEDsteps_condy_stab_*t()
AddDONEistats
docs to each solver with components used.Make comment formatting uniformDONEDocument all function argumentsDONECompareDONEsteps_fixed_stab_wt()
to other files inrk4.f90
UseDONEb1
for stage count inone_step_etab_wt()
, andb
inin one_step_stab_wt()
Think about how to document b vectors that require fewer stages than in bDONEDONEmrkiss_eerk_bogacki_shampine_3_2.f90 ..... sd1 1
DONEmrkiss_eerk_dormand_prince_5_4.f90 ....... sd1 1
DONEmrkiss_eerk_fehlberg_7_8.f90 ............. sd1 2
DONEmrkiss_eerk_heun_euler_2_1.f90 ........... sd2 1
DONEmrkiss_eerk_sofroniou_spaletta_4_3.f90 ... sd2 1
DONEmrkiss_eerk_verner_1978_6_5.f90 .......... sd2 2
Double Check Order ValuesDONEDONEmrkiss_eerk_bogacki_shampine_3_2.f90
DONEmrkiss_eerk_bogacki_shampine_4_5.f90
DONEmrkiss_eerk_cash_karp_5_4.f90
DONEmrkiss_eerk_dormand_prince_5_4.f90
DONEmrkiss_eerk_dormand_prince_7_8.f90
DONEmrkiss_eerk_fehlberg_4_5.f90
DONEmrkiss_eerk_fehlberg_7_8.f90
DONEmrkiss_eerk_heun_euler_2_1.f90
DONEmrkiss_eerk_sofroniou_spaletta_4_3.f90
DONEmrkiss_eerk_tsitouras_arkode_5_4.f90
DONEmrkiss_eerk_verner_1978_6_5.f90
DONEmrkiss_eerk_verner_2010_6_5.f90
DONEmrkiss_eerk_verner_9_8.f90
DONEmrkiss_erk_euler_1.f90
DONEmrkiss_erk_feagin_10.f90
DONEmrkiss_erk_knoth_wolke_3.f90
DONEmrkiss_erk_kutta_4.f90
DONEmrkiss_erk_kutta_three_eight_4.f90
DONEmrkiss_erk_midpoint_2.f90
DONEmrkiss_erk_ralston_2.f90
DONEmrkiss_erk_ralston_3.f90
DONEmrkiss_erk_ralston_4.f90