Skip to content

Commit 501c536

Browse files
format
1 parent 424b314 commit 501c536

35 files changed

+243
-239
lines changed

lib/OrdinaryDiffEqFeagin/src/alg_utils.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ alg_order(alg::Feagin12) = 12
33
alg_order(alg::Feagin14) = 14
44

55
alg_adaptive_order(alg::Feagin10) = 8
6-
alg_adaptive_order(alg::Feagin14) = 12
6+
alg_adaptive_order(alg::Feagin14) = 12

lib/OrdinaryDiffEqFeagin/src/algorithms.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,3 @@ Feagin's 14th-order Runge-Kutta method.
3838
Base.@kwdef struct Feagin14{StepLimiter} <: OrdinaryDiffEqAdaptiveAlgorithm
3939
step_limiter!::StepLimiter = trivial_limiter!
4040
end
41-

lib/OrdinaryDiffEqFeagin/src/feagin_rk_perform_step.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1294,4 +1294,4 @@ end
12941294
end
12951295
f(integrator.fsallast, u, p, t + dt) # For the interpolation, needs k at the updated point
12961296
integrator.stats.nf += 1
1297-
end
1297+
end

lib/OrdinaryDiffEqFeagin/src/feagin_tableaus.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2647,4 +2647,4 @@ function Feagin14ConstantCache(T::Type, T2::Type)
26472647
b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18,
26482648
b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31,
26492649
b32, b33, b34, b35)
2650-
end
2650+
end
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

lib/OrdinaryDiffEqRKN/src/OrdinaryDiffEqRKN.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ export Nystrom4, FineRKN4, FineRKN5, Nystrom4VelocityIndependent,
2727
IRKN3, IRKN4, DPRKN4, DPRKN5, DPRKN6, DPRKN6FM, DPRKN8, DPRKN12, ERKN4, ERKN5, ERKN7,
2828
RKN4
2929

30-
end
30+
end

lib/OrdinaryDiffEqRKN/src/alg_utils.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ alg_order(alg::DPRKN12) = 12
1717
alg_order(alg::ERKN4) = 4
1818
alg_order(alg::ERKN5) = 5
1919
alg_order(alg::ERKN7) = 7
20-
alg_order(alg::RKN4) = 4
20+
alg_order(alg::RKN4) = 4

lib/OrdinaryDiffEqRKN/src/algorithms.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,4 +338,4 @@ pages = {115533},
338338
year = {2024},
339339
}
340340
"""
341-
struct RKN4 <: OrdinaryDiffEqAlgorithm end
341+
struct RKN4 <: OrdinaryDiffEqAlgorithm end
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
function DiffEqBase.interp_summary(::Type{cacheType},
2-
dense::Bool) where {
3-
cacheType <:
4-
Union{DPRKN6ConstantCache,
5-
DPRKN6Cache}}
6-
dense ? "specialized 6th order interpolation" : "1st order linear"
7-
end
2+
dense::Bool) where {
3+
cacheType <:
4+
Union{DPRKN6ConstantCache,
5+
DPRKN6Cache}}
6+
dense ? "specialized 6th order interpolation" : "1st order linear"
7+
end

lib/OrdinaryDiffEqRKN/src/interpolants.jl

Lines changed: 96 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -30,112 +30,112 @@ end
3030
end
3131

3232
@muladd function _ode_interpolant(Θ, dt, y₀, y₁, k,
33-
cache::Union{DPRKN6ConstantCache, DPRKN6Cache},
34-
idxs::Nothing, T::Type{Val{0}}, differential_vars::Nothing)
35-
@dprkn6pre0
36-
return ArrayPartition(
37-
duprev +
38-
dt * Θ *
39-
(bp1Θ * k1 + bp3Θ * k3 +
40-
bp4Θ * k4 + bp5Θ * k5 + bp6Θ * k6),
41-
uprev +
42-
dt * Θ *
43-
(duprev +
44-
dt * Θ * (b1Θ * k1 + b3Θ * k3 +
45-
b4Θ * k4 + b5Θ * k5 + b6Θ * k6)))
33+
cache::Union{DPRKN6ConstantCache, DPRKN6Cache},
34+
idxs::Nothing, T::Type{Val{0}}, differential_vars::Nothing)
35+
@dprkn6pre0
36+
return ArrayPartition(
37+
duprev +
38+
dt * Θ *
39+
(bp1Θ * k1 + bp3Θ * k3 +
40+
bp4Θ * k4 + bp5Θ * k5 + bp6Θ * k6),
41+
uprev +
42+
dt * Θ *
43+
(duprev +
44+
dt * Θ * (b1Θ * k1 + b3Θ * k3 +
45+
b4Θ * k4 + b5Θ * k5 + b6Θ * k6)))
4646
end
4747

4848
@muladd function _ode_interpolant(Θ, dt, y₀, y₁, k,
49-
cache::Union{DPRKN6ConstantCache, DPRKN6Cache}, idxs,
50-
T::Type{Val{0}}, differential_vars::Nothing)
51-
@dprkn6pre0
52-
return ArrayPartition(
53-
duprev[idxs] +
54-
dt * Θ *
55-
(bp1Θ * k1[idxs] + bp3Θ * k3[idxs] +
56-
bp4Θ * k4[idxs] + bp5Θ * k5[idxs] + bp6Θ * k6[idxs]),
57-
uprev[idxs] +
58-
dt * Θ *
59-
(duprev[idxs] +
60-
dt * Θ *
61-
(b1Θ * k1[idxs] +
62-
b3Θ * k3[idxs] +
63-
b4Θ * k4[idxs] + b5Θ * k5[idxs] + b6Θ * k6[idxs])))
49+
cache::Union{DPRKN6ConstantCache, DPRKN6Cache}, idxs,
50+
T::Type{Val{0}}, differential_vars::Nothing)
51+
@dprkn6pre0
52+
return ArrayPartition(
53+
duprev[idxs] +
54+
dt * Θ *
55+
(bp1Θ * k1[idxs] + bp3Θ * k3[idxs] +
56+
bp4Θ * k4[idxs] + bp5Θ * k5[idxs] + bp6Θ * k6[idxs]),
57+
uprev[idxs] +
58+
dt * Θ *
59+
(duprev[idxs] +
60+
dt * Θ *
61+
(b1Θ * k1[idxs] +
62+
b3Θ * k3[idxs] +
63+
b4Θ * k4[idxs] + b5Θ * k5[idxs] + b6Θ * k6[idxs])))
6464
end
6565

6666
@muladd function _ode_interpolant(Θ, dt, y₀, y₁, k,
67-
cache::Union{DPRKN6ConstantCache, DPRKN6Cache}, idxs::Number,
68-
T::Type{Val{0}}, differential_vars::Nothing)
69-
@dprkn6pre0
70-
halfsize = length(y₀) ÷ 2
71-
if idxs <= halfsize
72-
duprev[idxs] +
73-
dt * Θ *
74-
(bp1Θ * k1[idxs] + bp3Θ * k3[idxs] +
75-
bp4Θ * k4[idxs] + bp5Θ * k5[idxs] + bp6Θ * k6[idxs])
76-
else
77-
idxs = idxs - halfsize
78-
uprev[idxs] +
79-
dt * Θ *
80-
(duprev[idxs] +
81-
dt * Θ *
82-
(b1Θ * k1[idxs] +
83-
b3Θ * k3[idxs] +
84-
b4Θ * k4[idxs] + b5Θ * k5[idxs] + b6Θ * k6[idxs]))
85-
end
67+
cache::Union{DPRKN6ConstantCache, DPRKN6Cache}, idxs::Number,
68+
T::Type{Val{0}}, differential_vars::Nothing)
69+
@dprkn6pre0
70+
halfsize = length(y₀) ÷ 2
71+
if idxs <= halfsize
72+
duprev[idxs] +
73+
dt * Θ *
74+
(bp1Θ * k1[idxs] + bp3Θ * k3[idxs] +
75+
bp4Θ * k4[idxs] + bp5Θ * k5[idxs] + bp6Θ * k6[idxs])
76+
else
77+
idxs = idxs - halfsize
78+
uprev[idxs] +
79+
dt * Θ *
80+
(duprev[idxs] +
81+
dt * Θ *
82+
(b1Θ * k1[idxs] +
83+
b3Θ * k3[idxs] +
84+
b4Θ * k4[idxs] + b5Θ * k5[idxs] + b6Θ * k6[idxs]))
85+
end
8686
end
8787

8888
@muladd function _ode_interpolant!(out, Θ, dt, y₀, y₁, k,
89-
cache::Union{DPRKN6ConstantCache, DPRKN6Cache},
90-
idxs::Nothing, T::Type{Val{0}}, differential_vars::Nothing)
91-
@dprkn6pre0
92-
@inbounds @.. broadcast=false out.x[2]=uprev +
93-
dt * Θ *
94-
(duprev +
95-
dt * Θ *
96-
(b1Θ * k1 +
97-
b3Θ * k3 +
98-
b4Θ * k4 + b5Θ * k5 + b6Θ * k6))
99-
@inbounds @.. broadcast=false out.x[1]=duprev +
100-
dt * Θ *
101-
(bp1Θ * k1 + bp3Θ * k3 +
102-
bp4Θ * k4 + bp5Θ * k5 + bp6Θ * k6)
103-
#for i in eachindex(out.x[1])
104-
# out.x[2][i] = uprev[i] + dt*Θ*(duprev[i] + dt*Θ*(b1Θ*k1[i] +
105-
# b3Θ*k3[i] +
106-
# b4Θ*k4[i] + b5Θ*k5[i] + b6Θ*k6[i]))
107-
# out.x[1][i] = duprev[i] + dt*Θ*(bp1Θ*k1[i] + bp3Θ*k3[i] +
108-
# bp4Θ*k4[i] + bp5Θ*k5[i] + bp6Θ*k6[i])
109-
#end
110-
out
89+
cache::Union{DPRKN6ConstantCache, DPRKN6Cache},
90+
idxs::Nothing, T::Type{Val{0}}, differential_vars::Nothing)
91+
@dprkn6pre0
92+
@inbounds @.. broadcast=false out.x[2]=uprev +
93+
dt * Θ *
94+
(duprev +
95+
dt * Θ *
96+
(b1Θ * k1 +
97+
b3Θ * k3 +
98+
b4Θ * k4 + b5Θ * k5 + b6Θ * k6))
99+
@inbounds @.. broadcast=false out.x[1]=duprev +
100+
dt * Θ *
101+
(bp1Θ * k1 + bp3Θ * k3 +
102+
bp4Θ * k4 + bp5Θ * k5 + bp6Θ * k6)
103+
#for i in eachindex(out.x[1])
104+
# out.x[2][i] = uprev[i] + dt*Θ*(duprev[i] + dt*Θ*(b1Θ*k1[i] +
105+
# b3Θ*k3[i] +
106+
# b4Θ*k4[i] + b5Θ*k5[i] + b6Θ*k6[i]))
107+
# out.x[1][i] = duprev[i] + dt*Θ*(bp1Θ*k1[i] + bp3Θ*k3[i] +
108+
# bp4Θ*k4[i] + bp5Θ*k5[i] + bp6Θ*k6[i])
109+
#end
110+
out
111111
end
112112

113113
@muladd function _ode_interpolant!(out, Θ, dt, y₀, y₁, k,
114-
cache::Union{DPRKN6ConstantCache, DPRKN6Cache}, idxs,
115-
T::Type{Val{0}}, differential_vars::Nothing)
116-
@dprkn6pre0
117-
halfsize = length(y₀) ÷ 2
118-
isfirsthalf = idxs .<= halfsize
119-
secondhalf = idxs .> halfsize
120-
firstidxs = idxs[isfirsthalf]
121-
secondidxs_shifted = idxs[secondhalf]
122-
secondidxs = secondidxs_shifted .- halfsize
114+
cache::Union{DPRKN6ConstantCache, DPRKN6Cache}, idxs,
115+
T::Type{Val{0}}, differential_vars::Nothing)
116+
@dprkn6pre0
117+
halfsize = length(y₀) ÷ 2
118+
isfirsthalf = idxs .<= halfsize
119+
secondhalf = idxs .> halfsize
120+
firstidxs = idxs[isfirsthalf]
121+
secondidxs_shifted = idxs[secondhalf]
122+
secondidxs = secondidxs_shifted .- halfsize
123123

124-
@views @.. broadcast=false out[secondhalf]=uprev[secondidxs] +
125-
dt * Θ *
126-
(duprev[secondidxs] +
127-
dt * Θ *
128-
(b1Θ * k1[secondidxs] +
129-
b3Θ * k3[secondidxs] +
130-
b4Θ * k4[secondidxs] +
131-
b5Θ * k5[secondidxs] +
132-
b6Θ * k6[secondidxs]))
133-
@views @.. broadcast=false out[isfirsthalf]=duprev[firstidxs] +
134-
dt * Θ *
135-
(bp1Θ * k1[firstidxs] +
136-
bp3Θ * k3[firstidxs] +
137-
bp4Θ * k4[firstidxs] +
138-
bp5Θ * k5[firstidxs] +
139-
bp6Θ * k6[firstidxs])
140-
out
141-
end
124+
@views @.. broadcast=false out[secondhalf]=uprev[secondidxs] +
125+
dt * Θ *
126+
(duprev[secondidxs] +
127+
dt * Θ *
128+
(b1Θ * k1[secondidxs] +
129+
b3Θ * k3[secondidxs] +
130+
b4Θ * k4[secondidxs] +
131+
b5Θ * k5[secondidxs] +
132+
b6Θ * k6[secondidxs]))
133+
@views @.. broadcast=false out[isfirsthalf]=duprev[firstidxs] +
134+
dt * Θ *
135+
(bp1Θ * k1[firstidxs] +
136+
bp3Θ * k3[firstidxs] +
137+
bp4Θ * k4[firstidxs] +
138+
bp5Θ * k5[firstidxs] +
139+
bp6Θ * k6[firstidxs])
140+
out
141+
end

0 commit comments

Comments
 (0)