Skip to content

Commit 5cd430b

Browse files
committed
add tests
1 parent 1659eec commit 5cd430b

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

libs/Theseus/test/runtests.jl

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,15 @@ end
9595
end # Rosenbrock methods
9696

9797
@testset "IMEX methods" begin
98+
@testset "H222" begin
99+
alg = Theseus.H222()
100+
order = 2
101+
dts = 2.0 .^ (-2:-1:-6)
102+
errors = compute_errors(ode_split, u_ana, alg, dts)
103+
eoc = compute_eoc(dts, errors)
104+
@test isapprox(eoc, order; atol = 0.1)
105+
end
106+
98107
@testset "SSP2222" begin
99108
alg = Theseus.SSP2222()
100109
order = 2
@@ -144,6 +153,15 @@ end
144153
# but it is documented to be third-order.
145154
end
146155

156+
@testset "HT222" begin
157+
alg = Theseus.HT222()
158+
order = 2
159+
dts = 2.0 .^ (-2:-1:-6)
160+
errors = compute_errors(ode_split, u_ana, alg, dts)
161+
eoc = compute_eoc(dts, errors)
162+
@test isapprox(eoc, order; atol = 0.1)
163+
end
164+
147165
@testset "ARS111" begin
148166
alg = Theseus.ARS111()
149167
order = 1
@@ -164,6 +182,15 @@ end
164182
@test isapprox(eoc, order; atol = 0.1)
165183
end
166184

185+
@testset "ARS233" begin
186+
alg = Theseus.ARS233()
187+
order = 3 + 1 # Gaussian quadrature
188+
dts = 2.0 .^ (-2:-1:-6)
189+
errors = compute_errors(ode_split, u_ana, alg, dts)
190+
eoc = compute_eoc(dts, errors)
191+
@test isapprox(eoc, order; atol = 0.1)
192+
end
193+
167194
@testset "ARS443" begin
168195
alg = Theseus.ARS443()
169196
order = 3
@@ -256,6 +283,18 @@ end
256283
end # Rosenbrock methods
257284

258285
@testset "IMEX methods" begin
286+
@testset "H222" begin
287+
alg = Theseus.H222()
288+
order = 2
289+
dts = 2.0 .^ (-2:-1:-6)
290+
errors = compute_errors(
291+
ode_split, u_ana, alg, dts;
292+
newton_tol_abs = 1.0e-8
293+
)
294+
eoc = compute_eoc(dts, errors)
295+
@test isapprox(eoc, order; atol = 0.1)
296+
end
297+
259298
@testset "SSP2222" begin
260299
alg = Theseus.SSP2222()
261300
order = 2
@@ -318,6 +357,18 @@ end
318357
@test isapprox(eoc, order; atol = 0.1)
319358
end
320359

360+
@testset "HT222" begin
361+
alg = Theseus.HT222()
362+
order = 2
363+
dts = 2.0 .^ (-2:-1:-6)
364+
errors = compute_errors(
365+
ode_split, u_ana, alg, dts;
366+
newton_tol_abs = 1.0e-8
367+
)
368+
eoc = compute_eoc(dts, errors)
369+
@test isapprox(eoc, order; atol = 0.1)
370+
end
371+
321372
@testset "ARS111" begin
322373
alg = Theseus.ARS111()
323374
order = 1
@@ -344,6 +395,19 @@ end
344395
@test isapprox(eoc, order; atol = 0.1)
345396
end
346397

398+
@testset "ARS233" begin
399+
alg = Theseus.ARS233()
400+
order = 3
401+
dts = 2.0 .^ (-2:-1:-6)
402+
errors = compute_errors(
403+
ode_split, u_ana, alg, dts;
404+
newton_tol_abs = 1.0e-8,
405+
newton_tol_rel = 1.0e-8
406+
)
407+
eoc = compute_eoc(dts, errors)
408+
@test isapprox(eoc, order; atol = 0.1)
409+
end
410+
347411
@testset "ARS443" begin
348412
alg = Theseus.ARS443()
349413
order = 3

0 commit comments

Comments
 (0)