@@ -147,7 +147,7 @@ function algebraicmultigrid_jacobi(W, p = nothing)
147147 return Pl, LinearAlgebra.I
148148end
149149
150- Ns = 2 .^ (2:4) # TODO: make 7
150+ Ns = 2 .^ (2:7)
151151
152152solvers_scaling_jacobian_free = [
153153 (; pkg = :nonlinearsolve, name = "Newton Krylov", alg = NewtonRaphson(; linsolve = KrylovJL_GMRES())),
@@ -173,7 +173,7 @@ solvers_scaling_jacobian_free = [
173173]
174174
175175gc_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))
177177
178178for (j, solver) in enumerate(solvers_scaling_jacobian_free)
179179 alg = solver.alg
@@ -233,6 +233,10 @@ fig = begin
233233 HEIGHT = round(Int, WIDTH * ASPECT_RATIO)
234234 STROKEWIDTH = 2.5
235235
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+
236240 cycle = Cycle([:marker], covary = true)
237241 colors = cgrad(:tableau_20, length(solvers_scaling_jacobian_free); categorical = true)
238242 theme = Theme(Lines = (cycle = cycle,), Scatter = (cycle = cycle,))
@@ -249,7 +253,7 @@ fig = begin
249253 fig = Figure(; size = (WIDTH, HEIGHT))
250254
251255 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,
253257 xticklabelsize = 20, yticklabelsize = 20, xtickwidth = STROKEWIDTH,
254258 ytickwidth = STROKEWIDTH, spinewidth = STROKEWIDTH)
255259
0 commit comments