-
-
Notifications
You must be signed in to change notification settings - Fork 259
Expand file tree
/
Copy pathDiffEqDevTools.jl
More file actions
120 lines (100 loc) · 4.7 KB
/
DiffEqDevTools.jl
File metadata and controls
120 lines (100 loc) · 4.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
module DiffEqDevTools
using DiffEqBase: AbstractODEAlgorithm
using DiffEqBase, RecipesBase, RecursiveArrayTools, DiffEqNoiseProcess, StructArrays
using NLsolve, LinearAlgebra, RootedTrees
using LinearAlgebra, Distributed
using Statistics
import Base: length
import DiffEqBase: AbstractODEProblem, AbstractDDEProblem, AbstractDDEAlgorithm,
AbstractODESolution, AbstractRODEProblem, AbstractSDEProblem,
AbstractSDDEProblem, AbstractEnsembleProblem,
AbstractDAEProblem, AbstractBVProblem, @def, ConvergenceSetup,
DEAlgorithm,
ODERKTableau, AbstractTimeseriesSolution, ExplicitRKTableau,
ImplicitRKTableau
import LinearAlgebra: norm, I
const TIMESERIES_ERRORS = Set([:l2, :l∞, :L2, :L∞])
const DENSE_ERRORS = Set([:L2, :L∞])
const WEAK_TIMESERIES_ERRORS = Set([:weak_l2, :weak_l∞])
const WEAK_DENSE_ERRORS = Set([:weak_L2, :weak_L∞])
const WEAK_ERRORS = union(Set([:weak_final]),
WEAK_TIMESERIES_ERRORS, WEAK_DENSE_ERRORS)
const ALL_ERRORS = union([:final],
TIMESERIES_ERRORS, DENSE_ERRORS, WEAK_TIMESERIES_ERRORS, WEAK_DENSE_ERRORS, WEAK_ERRORS)
include("benchmark.jl")
include("convergence.jl")
include("plotrecipes.jl")
include("autoplot.jl")
include("test_solution.jl")
include("ode_tableaus.jl")
include("tableau_info.jl")
export ConvergenceSimulation, Shootout, ShootoutSet, TestSolution
#Benchmark Functions
export Shootout, ShootoutSet, WorkPrecision, WorkPrecisionSet
export test_convergence, analyticless_test_convergence, appxtrue!, appxtrue
export get_sample_errors
#Tagging and Filtering
export filter_by_tags, exclude_by_tags, get_tags, unique_tags, merge_wp_sets
#Multi-error-mode
export available_errors
#Best-of-family helpers
export best_by_tag, best_of_families, wp_area
#AutoDiff comparison helpers
export with_autodiff_variants
#Autoplot
export autoplot
#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