ODE Tableaus

Explicit Runge-Kutta Methods

  • constructEuler - Euler's 1st order method.
  • constructHeun() Heun's order 2 method.
  • constructRalston() - Ralston's order 2 method.
  • constructSSPRK22() - Explicit SSP method of order 2 using 2 stages.
  • constructKutta3 - Kutta's classic 3rd order method.
  • constructSSPRK33() - Explicit SSP method of order 3 using 3 stages.
  • constructSSPRK43() - Explicit SSP method of order 3 using 4 stages.
  • constructRK4 - The classic 4th order "Runge-Kutta" method.
  • constructRK438Rule - The classic 4th order "3/8th's Rule" method.
  • constructSSPRK104() - Explicit SSP method of order 4 using 10 stages.
  • constructBogakiShampine3() - Bogakai-Shampine's 2/3 method.
  • constructRKF4() - Runge-Kutta-Fehlberg 3/4.
  • constructRKF5() - Runge-Kutta-Fehlberg 4/5.
  • constructRungeFirst5() - Runge's first 5th order method.
  • constructCassity5() - Cassity's 5th order method.
  • constructLawson5() - Lawson's 5th order method.
  • constructLutherKonen5 - Luther-Konen's first 5th order method.
  • constructLutherKonen52() - Luther-Konen's second 5th order method.
  • constructLutherKonen53() - Luther-Konen's third 5th order method.
  • constructPapakostasPapaGeorgiou5() - Papakostas and PapaGeorgiou more stable order 5 method.
  • constructPapakostasPapaGeorgiou52() - Papakostas and PapaGeorgiou more efficient order 5 method.
  • constructTsitouras5() - Tsitouras's order 5 method.
  • constructBogakiShampine5() - Bogaki and Shampine's Order 5 method.
  • constructSharpSmart5() - Sharp and Smart's Order 5 method.
  • constructCashKarp() - Cash-Karp method 4/5.
  • constructDormandPrince() - Dormand-Prince 4/5.
  • constructButcher6() - Butcher's first order 6 method.
  • constructButcher62() - Butcher's second order 6 method.
  • constructButcher63() - Butcher's third order 6 method.
  • constructDormandPrince6() - Dormand-Prince's 5/6 method.
  • constructSharpVerner6() Sharp-Verner's 5/6 method.
  • constructVerner916() - Verner's more efficient order 6 method (1991).
  • constructVerner9162() - Verner's second more efficient order 6 method (1991).
  • constructVernerRobust6() - Verner's "most robust" order 6 method.
  • constructVernerEfficient6() - Verner's "most efficient" order 6 method.
  • constructPapakostas6() - Papakostas's order 6 method.
  • constructLawson6() - Lawson's order 6 method.
  • constructTsitourasPapakostas6() - Tsitouras and Papakostas's order 6 method.
  • constructDormandLockyerMcCorriganPrince6() - the Dormand-Lockyer-McCorrigan-Prince order 6 method.
  • constructTanakaKasugaYamashitaYazaki6A() - Tanaka-Kasuga-Yamashita-Yazaki order 6 method A.
  • constructTanakaKasugaYamashitaYazaki6B() - Tanaka-Kasuga-Yamashita-Yazaki order 6 method B.
  • constructTanakaKasugaYamashitaYazaki6C() - Tanaka-Kasuga-Yamashita-Yazaki order 6 method C.
  • constructTanakaKasugaYamashitaYazaki6D() - Tanaka-Kasuga-Yamashita-Yazaki order 6 method D.
  • constructMikkawyEisa() - Mikkawy and Eisa's order 6 method.
  • constructChummund6() - Chummund's first order 6 method.
  • constructChummund62() - Chummund's second order 6 method.
  • constructHuta6() - Huta's first order 6 method.
  • constructHuta62() - Huta's second order 6 method.
  • constructVerner6() - An old order 6 method attributed to Verner.
  • constructDverk() - The classic DVERK algorithm attributed to Verner.
  • constructClassicVerner6() - A classic Verner order 6 algorithm (1978).
  • constructButcher7() - Butcher's order 7 algorithm.
  • constructClassicVerner7()- A classic Verner order 7 algorithm (1978).
  • constructVernerRobust7() - Verner's "most robust" order 7 algorithm.
  • constructTanakaYamashitaStable7() - Tanaka-Yamashita more stable order 7 algorithm.
  • constructTanakaYamashitaEfficient7() - Tanaka-Yamashita more efficient order 7 algorithm.
  • constructSharpSmart7() - Sharp-Smart's order 7 algorithm.
  • constructSharpVerner7() - Sharp-Verner's order 7 algorithm.
  • constructVerner7() - Verner's "most efficient" order 7 algorithm.
  • constructVernerEfficient7() - Verner's "most efficient" order 7 algorithm.
  • constructClassicVerner8() - A classic Verner order 8 algorithm (1978).
  • constructCooperVerner8() - Cooper-Verner's first order 8 algorithm.
  • constructCooperVerner82() - Cooper-Verner's second order 8 algorithm.
  • constructTsitourasPapakostas8() - Tsitouras-Papakostas order 8 algorithm.
  • constructdverk78() - The classic order 8 DVERK algorithm.
  • constructEnrightVerner8() - Enright-Verner order 8 algorithm.
  • constructCurtis8() - Curtis' order 8 algorithm.
  • constructVerner8() - Verner's "most efficient" order 8 algorithm.
  • constructRKF8() - Runge-Kutta-Fehlberg Order 7/8 method.
  • constructDormandPrice8() - Dormand-Prince Order 7/8 method.
  • constructDormandPrince8_64bit() - Dormand-Prince Order 7/8 method. Coefficients are rational approximations good for 64 bits.
  • constructVernerRobust9() - Verner's "most robust" order 9 method.
  • constructVernerEfficient9() - Verner's "most efficient" order 9 method.
  • constructSharp9() - Sharp's order 9 method.
  • constructTsitouras9() - Tsitouras's first order 9 method.
  • constructTsitouras92() - Tsitouras's second order 9 method.
  • constructCurtis10() - Curtis' order 10 method.
  • constructOno10() - Ono's order 10 method.
  • constructFeagin10Tableau() - Feagin's order 10 method.
  • constructCurtis10() - Curtis' order 10 method.
  • constructBaker10() - Baker's order 10 method.
  • constructHairer10() Hairer's order 10 method.
  • constructFeagin12Tableau() - Feagin's order 12 method.
  • constructOno12() - Ono's order 12 method.
  • constructFeagin14Tableau() Feagin's order 14 method.

Implicit Runge-Kutta Methods

  • constructImplicitEuler - The 1st order Implicit Euler method.
  • constructMidpointRule - The 2nd order Midpoint method.
  • constructTrapezoidalRule - The 2nd order Trapezoidal rule (2nd order LobattoIIIA)
  • constructLobattoIIIA4 - The 4th order LobattoIIIA
  • constructLobattoIIIB2 - The 2nd order LobattoIIIB
  • constructLobattoIIIB4 - The 4th order LobattoIIIB
  • constructLobattoIIIC2 - The 2nd order LobattoIIIC
  • constructLobattoIIIC4 - The 4th order LobattoIIIC
  • constructLobattoIIICStar2 - The 2nd order LobattoIIIC*
  • constructLobattoIIICStar4 - The 4th order LobattoIIIC*
  • constructLobattoIIID2 - The 2nd order LobattoIIID
  • constructLobattoIIID4 - The 4th order LobattoIIID
  • constructRadauIA3 - The 3rd order RadauIA
  • constructRadauIA5 - The 5th order RadauIA
  • constructRadauIIA3 - The 3rd order RadauIIA
  • constructRadauIIA5 - The 5th order RadauIIA

Tableau Methods

DiffEqDevTools.stability_regionFunction

stability_region(z, tab::ODERKTableau; embedded = false)

Calculates the stability function from the tableau at z. Stable if <1. If embedded = true, the stability function is calculated for the embedded method. Otherwise, the stability function is calculated for the main method (default).

\[r(z) = 1 + z bᵀ(I - zA)⁻¹ e\]

where e denotes a vector of ones.

source
stability_region(z, alg::AbstractODEAlgorithm)

Calculates the stability function from the algorithm alg at z. The stability region of a possible embedded method cannot be calculated using this method.

If you use an implicit method, you may run into convergence issues when the value of z is outside of the stability region, e.g.,

julia> typemin(Float64)
-Inf

julia> stability_region(typemin(Float64), ImplicitEuler())
┌ Warning: Newton steps could not converge and algorithm is not adaptive. Use a lower dt.

julia> nextfloat(typemin(Float64))
-1.7976931348623157e308

julia> stability_region(nextfloat(typemin(Float64)), ImplicitEuler())
0.0
source

stability_region(tab_or_alg::Union{ODERKTableau, AbstractODEAlgorithm}; initial_guess=-3.0)

Calculates the length of the stability region in the real axis. See also imaginary_stability_interval.

source
DiffEqDevTools.imaginary_stability_intervalFunction
imaginary_stability_interval(tab::ODERKTableau;
                             initial_guess = length(tab) - 1)

Calculates the length of the imaginary stability interval, i.e., the size of the stability region on the imaginary axis. See also stability_region.

source
imaginary_stability_interval(alg::ODERKTableau;
                             initial_guess = 20.0)

Calculates the length of the imaginary stability interval, i.e., the size of the stability region on the imaginary axis. See also stability_region.

source
Missing docstring.

Missing docstring for OrdinaryDiffEq.ODE_DEFAULT_TABLEAU. Check Documenter's build log for details.

Explicit Tableaus

Missing docstring.

Missing docstring for DiffEqDevTools.constructEuler. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRalston. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructHeun. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructKutta3. Check Documenter's build log for details.

Missing docstring.

Missing docstring for OrdinaryDiffEq.constructBS3. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructBogakiShampine3. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRK4. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRK438Rule. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRKF4. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRKF5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructCashKarp. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructDormandPrince. Check Documenter's build log for details.

Missing docstring.

Missing docstring for OrdinaryDiffEq.constructBS5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructPapakostasPapaGeorgiou5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructPapakostasPapaGeorgiou52. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTsitouras5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLutherKonen5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLutherKonen52. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLutherKonen53. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRungeFirst5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLawson5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructSharpSmart5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructBogakiShampine5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructCassity5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructButcher6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructButcher62. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructButcher63. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructVernerRobust6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTanakaKasugaYamashitaYazaki6A. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTanakaKasugaYamashitaYazaki6B. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTanakaKasugaYamashitaYazaki6C. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTanakaKasugaYamashitaYazaki6D. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructHuta6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructHuta62. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructVerner6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructDormandPrince6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructSharpVerner6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructVern6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructClassicVerner6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructChummund6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructChummund62. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructPapakostas6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLawson6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTsitourasPapakostas6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructDormandLockyerMcCorriganPrince6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructVernerEfficient6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructMikkawyEisa. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructVernerEfficient7. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructClassicVerner7. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructSharpVerner7. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTanakaYamashitaStable7. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructSharpSmart7. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTanakaYamashitaEfficient7. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructVernerRobust7. Check Documenter's build log for details.

Missing docstring.

Missing docstring for OrdinaryDiffEq.constructTanYam7. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructEnrightVerner7. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructDormandPrince8. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRKF8. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructCooperVerner8. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructCooperVerner82. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTsitourasPapakostas8. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructEnrightVerner8. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructdverk78. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructClassicVerner8. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructDormandPrince8_64bit. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructCurtis8. Check Documenter's build log for details.

Missing docstring.

Missing docstring for OrdinaryDiffEq.constructTsitPap8. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructSharp9. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTsitouras9. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTsitouras92. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructVernerEfficient9. Check Documenter's build log for details.

Missing docstring.

Missing docstring for OrdinaryDiffEq.constructVern9. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructVerner916. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructVerner9162. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructVernerRobust9. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructFeagin10. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructFeagin10Tableau. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructOno10. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructCurtis10. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructHairer10. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructBaker10. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructFeagin12. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructOno12. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructFeagin12Tableau. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructFeagin14. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructFeagin14Tableau. Check Documenter's build log for details.

Implicit Tableaus

Missing docstring.

Missing docstring for DiffEqDevTools.constructImplicitEuler. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructMidpointRule. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructTrapezoidalRule. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLobattoIIIA4. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLobattoIIIB2. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLobattoIIIB4. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLobattoIIIC2. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLobattoIIIC4. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLobattoIIICStar2. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLobattoIIICStar4. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLobattoIIID2. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructLobattoIIID4. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructGL2. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructGL4. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructGL6. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRadauIA3. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRadauIA5. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRadauIIA3. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DiffEqDevTools.constructRadauIIA5. Check Documenter's build log for details.