Skip to content

Commit af0b69c

Browse files
improved convergence plots/tests
1 parent dece492 commit af0b69c

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/convergence.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ function test_convergence(dts::AbstractArray,prob::Union{AbstractRODEProblem,Abs
4242
# Final
4343
m_final = recursive_mean([s[end] for s in solutions],1)
4444
m_final_analytic = recursive_mean([s.u_analytic[end] for s in solutions],1)
45-
additional_errors[:weak_final] = recursive_mean.(vecvecapply((x)->abs.(x),m_final - m_final_analytic))
45+
res = m_final - m_final_analytic
46+
additional_errors[:weak_final] = [norm(x) for x in res]
4647
if timeseries_errors
4748
l2_tmp = Vector{eltype(solutions[1][1])}(size(solutions,2))
4849
max_tmp = Vector{eltype(solutions[1][1])}(size(solutions,2))

src/plotrecipes.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
@recipe function f(sim::ConvergenceSimulation)
2-
if ndims(collect(values(sim.errors))[1])>1 #Monte Carlo
3-
vals = [typeof(x)<:AbstractVector ? x : mean(x,1)' for x in values(sim.errors)]
2+
if any((x)->ndims(x)>1,values(sim.errors)) #Monte Carlo
3+
vals = [typeof(x)<:AbstractVector ? x : vec(mean(x,1)) for x in values(sim.errors)]
44
else #Deterministic
55
vals = [x for x in values(sim.errors)]
66
end
77
seriestype --> :path
88
label --> reshape([string(key) for key in keys(sim.errors)],1,length(keys(sim.errors)))
99
xguide --> "Convergence Axis"
1010
yguide --> "Error"
11+
linewidth --> 3
1112
xscale --> :log10
1213
yscale --> :log10
1314
sim.convergence_axis, vals
@@ -24,7 +25,7 @@ end
2425
@recipe function f(wp::WorkPrecision)
2526
seriestype --> :path
2627
label --> wp.name
27-
lw --> 3
28+
linewidth --> 3
2829
yguide --> "Time (s)"
2930
xguide --> "Error"
3031
xscale --> :log10
@@ -35,7 +36,7 @@ end
3536
@recipe function f(wp_set::WorkPrecisionSet)
3637
seriestype --> :path
3738
label --> reshape(wp_set.names,1,length(wp_set))
38-
lw --> 3
39+
linewidth --> 3
3940
yguide --> "Time (s)"
4041
xguide --> "Error"
4142
xscale --> :log10

0 commit comments

Comments
 (0)