@@ -152,8 +152,8 @@ setups = [
152152 Dict(:alg => ETDRK2(), :dts => 1e-4 * multipliers),
153153]
154154labels = hcat(
155- "CNAB2 (dense linsolve )",
156- "CNAB2 (Krylov linsolve )",
155+ "CNAB2 (dense)",
156+ "CNAB2 (Krylov)",
157157 "ETDRK2 (caching)",
158158)
159159@time wp = WorkPrecisionSet(prob, abstols, reltols, setups;
@@ -167,27 +167,31 @@ plot(wp, label=labels, markershape=:auto, title="Between Families, High Toleranc
167167
168168#### Implicit-Explicit Methods
169169
170-
171- Krylov linear solvers.
170+ Dense and Krylov linear solvers.
172171```julia
173- abstols = 0.1 .^ (7:13 )
174- reltols = 0.1 .^ (4:10 )
172+ abstols = 0.1 .^ (8:12 )
173+ reltols = 0.1 .^ (5:9 )
175174setups = [
176- # KenCarp methods take forever with adaptive timestepping for some reason
177- # Dict(:alg => KenCarp3(linsolve=KrylovJL_GMRES())),
178- # Dict(:alg => KenCarp4(linsolve=KrylovJL_GMRES())),
179- # Dict(:alg => KenCarp5(linsolve=KrylovJL_GMRES())),
175+ Dict(:alg => KenCarp3()),
176+ Dict(:alg => KenCarp4()),
177+ Dict(:alg => KenCarp5()),
178+ Dict(:alg => KenCarp3(linsolve=KrylovJL_GMRES())),
179+ Dict(:alg => KenCarp4(linsolve=KrylovJL_GMRES())),
180+ Dict(:alg => KenCarp5(linsolve=KrylovJL_GMRES())),
180181 Dict(:alg => ARKODE(Sundials.Implicit(), order=3, linear_solver=:GMRES)),
181182 Dict(:alg => ARKODE(Sundials.Implicit(), order=4, linear_solver=:GMRES)),
182183 Dict(:alg => ARKODE(Sundials.Implicit(), order=5, linear_solver=:GMRES)),
183184]
184185labels = hcat(
185- # "KenCarp3",
186- # "KenCarp4",
187- # "KenCarp5",
188- "ARKODE3",
189- "ARKODE4",
190- "ARKODE5",
186+ "KenCarp3 (dense)",
187+ "KenCarp4 (dense)",
188+ "KenCarp5 (dense)",
189+ "KenCarp3 (Krylov)",
190+ "KenCarp4 (Krylov)",
191+ "KenCarp5 (Krylov)",
192+ "ARKODE3 (Krylov)",
193+ "ARKODE4 (Krylov)",
194+ "ARKODE5 (Krylov)",
191195)
192196@time wp = WorkPrecisionSet(prob, abstols, reltols, setups;
193197 print_names=true, names=labels, numruns=5, error_estimate=:l2,
@@ -230,7 +234,11 @@ setups = [
230234 Dict(:alg => ETDRK3(), :dts => 1e-2 * multipliers),
231235 Dict(:alg => ETDRK4(), :dts => 1e-2 * multipliers),
232236]
233- labels = hcat("ARKODE (Krylov linsolve)", "ETDRK3 ()", "ETDRK4 ()")
237+ labels = hcat(
238+ "ARKODE5 (Krylov)",
239+ "ETDRK3 (caching)",
240+ "ETDRK4 (caching)"
241+ )
234242@time wp = WorkPrecisionSet(prob, abstols, reltols, setups;
235243 print_names=true, names=labels, numruns=5, error_estimate=:l2,
236244 save_everystep=false, appxsol=test_sol, maxiters=Int(1e5));
0 commit comments