@@ -147,7 +147,7 @@ function algebraicmultigrid_jacobi(W, p = nothing)
147
147
return Pl, LinearAlgebra.I
148
148
end
149
149
150
- Ns = 2 .^ (2:4) # TODO: make 7
150
+ Ns = 2 .^ (2:7)
151
151
152
152
solvers_scaling_jacobian_free = [
153
153
(; pkg = :nonlinearsolve, name = "Newton Krylov", alg = NewtonRaphson(; linsolve = KrylovJL_GMRES())),
@@ -173,7 +173,7 @@ solvers_scaling_jacobian_free = [
173
173
]
174
174
175
175
gc_disabled = false
176
- runtimes_scaling = zeros( length(solvers_scaling_jacobian_free), length(Ns)) .- 1
176
+ runtimes_scaling = fill(-1.0, length(solvers_scaling_jacobian_free), length(Ns))
177
177
178
178
for (j, solver) in enumerate(solvers_scaling_jacobian_free)
179
179
alg = solver.alg
@@ -233,6 +233,10 @@ fig = begin
233
233
HEIGHT = round(Int, WIDTH * ASPECT_RATIO)
234
234
STROKEWIDTH = 2.5
235
235
236
+ successful_solvers = map(x -> any(isfinite, x), eachrow(runtimes_scaling))
237
+ solvers_scaling_jacobian_free = solvers_scaling_jacobian_free[successful_solvers]
238
+ runtimes_scaling = runtimes_scaling[successful_solvers, :]
239
+
236
240
cycle = Cycle([:marker], covary = true)
237
241
colors = cgrad(:tableau_20, length(solvers_scaling_jacobian_free); categorical = true)
238
242
theme = Theme(Lines = (cycle = cycle,), Scatter = (cycle = cycle,))
@@ -249,7 +253,7 @@ fig = begin
249
253
fig = Figure(; size = (WIDTH, HEIGHT))
250
254
251
255
ax = Axis(fig[1, 1:2], ylabel = L"Time ($s$)", xlabel = L"Problem Size ($N$)",
252
- xscale = log10 , yscale = log10 , xlabelsize = 22, ylabelsize = 22,
256
+ xscale = log2 , yscale = log2 , xlabelsize = 22, ylabelsize = 22,
253
257
xticklabelsize = 20, yticklabelsize = 20, xtickwidth = STROKEWIDTH,
254
258
ytickwidth = STROKEWIDTH, spinewidth = STROKEWIDTH)
255
259
0 commit comments