Skip to content
25 changes: 14 additions & 11 deletions lib/DiffEqBase/src/tableaus.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ $(TYPEDEF)

Holds a tableau which defines an explicit Runge-Kutta method.
"""
mutable struct ExplicitRKTableau{MType <: AbstractMatrix, VType <: AbstractVector, S, IType} <:
mutable struct ExplicitRKTableau{MType <: AbstractMatrix, VType <: AbstractVector,
CType <: AbstractVector, S, IType} <:
ODERKTableau
A::MType
c::VType
c::CType
α::VType
αEEst::VType
d::VType # dense output coefficients
Expand All @@ -18,13 +19,13 @@ mutable struct ExplicitRKTableau{MType <: AbstractMatrix, VType <: AbstractVecto
B_interp::IType
end
function ExplicitRKTableau(
A::MType, c::VType, α::VType, order;
A::MType, c::CType, α::VType, order;
adaptiveorder = 0, αEEst = similar(α, 0),
fsal = false, stability_size = 0.0,
d = similar(α, 0), B_interp::IType = nothing
) where {MType, VType, IType}
) where {MType, VType, CType, IType}
S = typeof(stability_size)
return ExplicitRKTableau{MType, VType, S, IType}(
return ExplicitRKTableau{MType, VType, CType, S, IType}(
A, c, α, αEEst, d, length(α), order, adaptiveorder,
fsal, stability_size, B_interp
)
Expand All @@ -35,19 +36,21 @@ $(TYPEDEF)

Holds a tableau which defines an implicit Runge-Kutta method.
"""
mutable struct ImplicitRKTableau{MType <: AbstractMatrix, VType <: AbstractVector} <:
mutable struct ImplicitRKTableau{MType <: AbstractMatrix, VType <: AbstractVector,
CType <: AbstractVector} <:
ODERKTableau
A::MType
c::VType
c::CType
α::VType
αEEst::VType
stages::Int
order::Int
adaptiveorder::Int #The lower order of the pair. Only used for adaptivity.
end
function ImplicitRKTableau(
A::MType, c::VType, α::VType, order;
adaptiveorder = 0, αEEst = VType()
) where {MType, VType}
return ImplicitRKTableau{MType, VType}(A, c, α, αEEst, length(α), order, adaptiveorder)
A::MType, c::CType, α::VType, order;
adaptiveorder = 0, αEEst = similar(α, 0)
) where {MType, VType, CType}
return ImplicitRKTableau{MType, VType, CType}(
A, c, α, αEEst, length(α), order, adaptiveorder)
end
51 changes: 0 additions & 51 deletions lib/DiffEqDevTools/src/DiffEqDevTools.jl
Original file line number Diff line number Diff line change
Expand Up @@ -48,57 +48,6 @@ export get_sample_errors
#Tab Functions
export stability_region, residual_order_condition, check_tableau, imaginary_stability_interval

#Tableaus
export deduce_Butcher_tableau
export constructEuler, constructKutta3, constructRK4, constructRK438Rule,
constructImplicitEuler, constructMidpointRule, constructTrapezoidalRule,
constructLobattoIIIA4, constructLobattoIIIB2, constructLobattoIIIB4,
constructLobattoIIIC2, constructLobattoIIIC4, constructLobattoIIICStar2,
constructLobattoIIICStar4, constructLobattoIIID2, constructLobattoIIID4,
constructRadauIA3, constructRadauIA5,
constructRadauIIA3, constructRadauIIA5,
constructRalston, constructRalston4, constructHeun, constructRKF5,
constructBogakiShampine3,
constructCashKarp, constructRKF8, constructDormandPrince8,
constructFeagin10, constructFeagin12, constructFeagin14,
constructDormandPrince8_64bit, constructRKF5, constructRungeFirst5,
constructCassity5, constructLawson5,
constructLutherKonen5, constructLutherKonen52,
constructLutherKonen53, constructPapakostasPapaGeorgiou5,
constructPapakostasPapaGeorgiou52,
constructTsitouras5, constructBogakiShampine5, constructSharpSmart5,
constructButcher6, constructButcher7,
constructDverk, constructClassicVerner6,
constructClassicVerner7, constructClassicVerner8,
constructVernerRobust7, constructEnrightVerner7,
constructTanakaYamashitaStable7,
constructTanakaYamashitaEfficient7, constructSharpSmart7,
constructSharpVerner7,
constructVernerEfficient7, constructCooperVerner8,
constructCooperVerner82,
constructTsitourasPapakostas8, constructdverk78, constructEnrightVerner8,
constructCurtis8, constructVernerRobust9, constructVernerEfficient9,
constructSharp9, constructTsitouras9,
constructTsitouras92,
constructOno12, constructCurtis10,
constructOno10,
constructCurtis10, constructBaker10,
constructHairer10, constructButcher63,
constructButcher6, constructButcher62,
constructVerner6, constructDormandPrince6,
constructSharpVerner6, constructVerner9162,
constructVerner916, constructVernerRobust6,
constructVernerEfficient6, constructPapakostas6, constructLawson6,
constructTsitourasPapakostas6, constructDormandLockyerMcCorriganPrince6,
constructTanakaKasugaYamashitaYazaki6D,
constructTanakaKasugaYamashitaYazaki6C,
constructTanakaKasugaYamashitaYazaki6B,
constructTanakaKasugaYamashitaYazaki6A,
constructMikkawyEisa, constructChummund6, constructChummund62,
constructHuta62, constructHuta6, constructRKF4,
constructVerner7, constructVerner8,
constructVerner6, constructSSPRK22, constructSSPRK33,
constructSSPRK43, constructSSPRK104,
constructRKO65

end # module
Loading
Loading