@@ -89,18 +89,6 @@ test_sol = TestSolution(sol);
8989default(legendfontsize=7,framestyle=:box,gridalpha=0.3,gridlinewidth=2.5)
9090```
9191
92- #### Declares a plotting helper function
93-
94- ```julia
95- function plot_settings(wp)
96- times = vcat(map(wp -> wp.times, wp.wps)...)
97- errors = vcat(map(wp -> wp.errors, wp.wps)...)
98- xlimit = 10 .^ (floor(log10(minimum(errors))), ceil(log10(maximum(errors))))
99- ylimit = 10 .^ (floor(log10(minimum(times))), ceil(log10(maximum(times))))
100- return xlimit,ylimit
101- end
102- ```
103-
10492#### Declare pre-conditioners
10593```julia
10694using IncompleteLU, LinearAlgebra
@@ -169,8 +157,7 @@ wp = WorkPrecisionSet([oprob,oprob_sparse,sparsejacprob],abstols,reltols,setups;
169157 saveat=tf/10000.,appxsol=[test_sol,test_sol,test_sol],maxiters=Int(1e9),numruns=10)
170158
171159names = ["lsoda" "CVODE_BDF" "CVODE_BDF (LapackDense)" "CVODE_BDF (GMRES)" "CVODE_BDF (GMRES, iLU)" "CVODE_BDF (KLU, sparse jac)"]
172- xlimit,ylimit = plot_settings(wp)
173- plot(wp;label=names,xlimit=xlimit,ylimit=ylimit)
160+ plot(wp;label=names)
174161```
175162
176163## Work-Precision Diagrams (various Julia solvers)
@@ -193,8 +180,7 @@ wp = WorkPrecisionSet(oprob,abstols,reltols,setups;error_estimate=:l2,
193180 saveat=tf/10000.,appxsol=test_sol,maxiters=Int(1e12),dtmin=1e-18,numruns=10)
194181
195182names = ["TRBDF2" "QNDF" "FBDF" "KenCarp4"]
196- xlimit,ylimit = plot_settings(wp)
197- plot(wp;label=names,xlimit=xlimit,ylimit=ylimit)
183+ plot(wp;label=names)
198184```
199185
200186#### Declare solvers (using GMRES linear solver).
@@ -215,8 +201,7 @@ wp = WorkPrecisionSet(oprob,abstols,reltols,setups;error_estimate=:l2,
215201 saveat=tf/10000.,appxsol=test_sol,maxiters=Int(1e12),dtmin=1e-18,numruns=10)
216202
217203names = ["TRBDF2 (GMRES)" "QNDF (GMRES)" "FBDF (GMRES)" "KenCarp4 (GMRES)"]
218- xlimit,ylimit = plot_settings(wp)
219- plot(wp;label=names,xlimit=xlimit,ylimit=ylimit)
204+ plot(wp;label=names)
220205```
221206
222207#### Declare solvers (using GMRES linear solver, with pre-conditioner).
@@ -237,8 +222,7 @@ wp = WorkPrecisionSet(sparsejacprob,abstols,reltols,setups;error_estimate=:l2,
237222 saveat=tf/10000.,appxsol=test_sol,maxiters=Int(1e12),dtmin=1e-18,numruns=10)
238223
239224names = ["TRBDF2 (GMRES, iLU)" "QNDF (GMRES, iLU)" "FBDF (GMRES, iLU)" "KenCarp4 (GMRES, iLU)"]
240- xlimit,ylimit = plot_settings(wp)
241- plot(wp;label=names,xlimit=xlimit,ylimit=ylimit)
225+ plot(wp;label=names)
242226```
243227
244228#### Declare solvers (using sparse jacobian)
@@ -262,8 +246,7 @@ wp = WorkPrecisionSet(sparsejacprob,abstols,reltols,setups;error_estimate=:l2,
262246 saveat=tf/10000.,appxsol=test_sol,maxiters=Int(1e12),dtmin=1e-18,numruns=10)
263247
264248names = ["TRBDF2 (KLU, sparse jac)" "QNDF (KLU, sparse jac)" "FBDF (KLU, sparse jac)" "KenCarp4 (KLU, sparse jac)"]
265- xlimit,ylimit = plot_settings(wp)
266- plot(wp;label=names,xlimit=xlimit,ylimit=ylimit)
249+ plot(wp;label=names)
267250```
268251
269252## Explicit Work-Precision Diagram
@@ -293,8 +276,7 @@ wp = WorkPrecisionSet(oprob,abstols,reltols,setups;error_estimate=:l2,
293276 saveat=tf/10000.,appxsol=test_sol,maxiters=Int(1e9),numruns=10)
294277
295278names = ["CVODE_Adams" "Tsit5" "BS5" "Vern6" "Vern7" "Vern8" "Vern9"]
296- xlimit,ylimit = plot_settings(wp)
297- plot(wp;label=names,xlimit=xlimit,ylimit=ylimit)
279+ plot(wp;label=names)
298280```
299281
300282## Summary of results
@@ -322,7 +304,6 @@ wp = WorkPrecisionSet([oprob,oprob_sparse,sparsejacprob],abstols,reltols,setups;
322304names = ["CVODE_BDF (GMRES)" "CVODE_BDF (GMRES, iLU)" "QNDF (GMRES, iLU)" "FBDF (GMRES, iLU)" "Tsit5"]
323305colors = [:darkgreen :green :deepskyblue1 :dodgerblue2 :orchid2]
324306markershapes = [:rect :octagon :hexagon :rtriangle :ltriangle]
325- xlimit,ylimit = plot_settings(wp)
326307xlimit = xlimit .* [0.95,1/0.95]; ylimit = ylimit .* [0.95,1/0.95];
327308plot(wp;label=names,left_margin=10Plots.mm,right_margin=10Plots.mm,xlimit=xlimit,ylimit=ylimit,xticks=[1e-9,1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1],yticks=[1e-1,1e0,1e1,1e2],color=colors,markershape=markershapes,legendfontsize=15,tickfontsize=15,guidefontsize=15, legend=:topright, lw=20, la=0.8, markersize=20,markerstrokealpha=1.0, markerstrokewidth=1.5, gridalpha=0.3, gridlinewidth=7.5,size=(1100,1000))
328309```
0 commit comments