@@ -5,17 +5,40 @@ using Test
55 prob = ODEProblemLibrary. prob_ode_linear
66 prob2D = ODEProblemLibrary. prob_ode_2Dlinear
77
8- inferred1 = [BS3 (), Tsit5 (), RK4 (), Vern6 ()]
9- for alg in inferred1
10- @inferred init (prob, alg)
11- @inferred init (prob2D, alg)
8+ @testset " non-stiff" begin
9+ inferred1 = [BS3 (), Tsit5 (), RK4 (), Vern6 ()]
10+ for alg in inferred1
11+ @inferred init (prob, alg)
12+ @inferred init (prob2D, alg)
13+ end
1214 end
1315
14- # ForwardDiff is not fully inferable
15- autodiff = ADTypes. AutoFiniteDiff ()
16- inferred2 = [SDIRK2 (; autodiff), TRBDF2 (; autodiff), KenCarp4 (; autodiff), Rosenbrock23 (; autodiff), Rodas4 (; autodiff)]
17- for alg in inferred2
18- @inferred init (prob, alg)
19- @inferred init (prob2D, alg)
16+ @testset " stiff default" begin
17+ # Stiff solvers are not fully inferable for the 2D problem with the default args
18+ inferred2 = [SDIRK2 (), TRBDF2 (), KenCarp4 (), Rosenbrock23 (), Rodas4 ()]
19+ for alg in inferred2
20+ @inferred init (prob, alg)
21+ @test_broken @inferred init (prob2D, alg)
22+ end
23+ end
24+
25+ @testset " stiff fixed chunksize" begin
26+ # When choosing a fixed chunksize it works
27+ autodiff = ADTypes. AutoForwardDiff (; chunksize= 10 )
28+ inferred3 = [SDIRK2 (; autodiff), TRBDF2 (; autodiff), KenCarp4 (; autodiff), Rosenbrock23 (; autodiff), Rodas4 (; autodiff)]
29+ for alg in inferred3
30+ @inferred init (prob, alg)
31+ @inferred init (prob2D, alg)
32+ end
33+ end
34+
35+ @testset " stiff finite diff" begin
36+ # FiniteDiff works
37+ autodiff = ADTypes. AutoFiniteDiff ()
38+ inferred4 = [SDIRK2 (; autodiff), TRBDF2 (; autodiff), KenCarp4 (; autodiff), Rosenbrock23 (; autodiff), Rodas4 (; autodiff)]
39+ for alg in inferred4
40+ @inferred init (prob, alg)
41+ @inferred init (prob2D, alg)
42+ end
2043 end
2144end
0 commit comments