-
-
Notifications
You must be signed in to change notification settings - Fork 259
Expand file tree
/
Copy pathalg_utils.jl
More file actions
83 lines (73 loc) · 2.22 KB
/
alg_utils.jl
File metadata and controls
83 lines (73 loc) · 2.22 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
alg_extrapolates(alg::ImplicitEuler) = true
alg_extrapolates(alg::Trapezoid) = true
alg_extrapolates(alg::SDIRK22) = true
alg_order(alg::Trapezoid) = 2
alg_order(alg::ImplicitEuler) = 1
alg_order(alg::ImplicitMidpoint) = 2
alg_order(alg::TRBDF2) = 2
alg_order(alg::SSPSDIRK2) = 2
alg_order(alg::SDIRK2) = 2
alg_order(alg::SDIRK22) = 2
alg_order(alg::Kvaerno3) = 3
alg_order(alg::Kvaerno4) = 4
alg_order(alg::Kvaerno5) = 5
alg_order(alg::ESDIRK54I8L2SA) = 5
alg_order(alg::ESDIRK436L2SA2) = 4
alg_order(alg::ESDIRK437L2SA) = 4
alg_order(alg::ESDIRK547L2SA2) = 5
alg_order(alg::ESDIRK659L2SA) = 6
alg_order(alg::KenCarp3) = 3
alg_order(alg::CFNLIRK3) = 3
alg_order(alg::KenCarp4) = 4
alg_order(alg::KenCarp47) = 4
alg_order(alg::KenCarp5) = 5
alg_order(alg::KenCarp58) = 5
alg_order(alg::Cash4) = 4
alg_order(alg::SFSDIRK4) = 4
alg_order(alg::SFSDIRK5) = 4
alg_order(alg::SFSDIRK6) = 4
alg_order(alg::SFSDIRK7) = 4
alg_order(alg::SFSDIRK8) = 4
alg_order(alg::Hairer4) = 4
alg_order(alg::Hairer42) = 4
function isesdirk(
alg::Union{
KenCarp3, KenCarp4, KenCarp47, KenCarp5, KenCarp58,
Kvaerno3, Kvaerno4, Kvaerno5, ESDIRK437L2SA,
ESDIRK54I8L2SA, ESDIRK436L2SA2, ESDIRK547L2SA2,
ESDIRK659L2SA, CFNLIRK3,
}
)
return true
end
alg_adaptive_order(alg::Trapezoid) = 1
alg_adaptive_order(alg::ImplicitMidpoint) = 1
alg_adaptive_order(alg::ImplicitEuler) = 0
ssp_coefficient(alg::SSPSDIRK2) = 4
isesdirk(alg::TRBDF2) = true
isesdirk(alg::ARS222) = true
isesdirk(alg::ARS232) = true
isesdirk(alg::ARS443) = true
isesdirk(alg::BHR553) = true
issplit(alg::KenCarp3) = true
issplit(alg::KenCarp4) = true
issplit(alg::KenCarp47) = true
issplit(alg::KenCarp5) = true
issplit(alg::KenCarp58) = true
issplit(alg::CFNLIRK3) = true
issplit(alg::IMEXSSP222) = true
issplit(alg::IMEXSSP2322) = true
issplit(alg::IMEXSSP3332) = true
issplit(alg::IMEXSSP3433) = true
issplit(alg::ARS222) = true
issplit(alg::ARS232) = true
issplit(alg::ARS443) = true
issplit(alg::BHR553) = true
alg_order(alg::IMEXSSP222) = 2
alg_order(alg::IMEXSSP2322) = 2
alg_order(alg::IMEXSSP3332) = 2
alg_order(alg::IMEXSSP3433) = 3
alg_order(alg::ARS222) = 2
alg_order(alg::ARS232) = 2
alg_order(alg::ARS443) = 3
alg_order(alg::BHR553) = 3