1
0
Fork 0
mirror of https://gitlab.rlp.net/mobitar/ReCo.jl.git synced 2024-11-08 22:21:08 +00:00

Fix debug memory leaks

This commit is contained in:
MoBit 2021-11-15 22:48:31 +01:00
parent 7bade826e0
commit 18a2f7267a

View file

@ -15,7 +15,7 @@ function animate(sol::Solution, args, name_part::String; framerate::Int64=10)
Colorbar( Colorbar(
fig[1, 2]; fig[1, 2];
limits=(0, 2), limits=(0, 2),
colormap=ColorSchemes.rainbow, colormap=ColorSchemes.cyclic_mrybm_35_75_c68_n256_s25,
label=L"\frac{\varphi}{\pi}", label=L"\frac{\varphi}{\pi}",
) )
@ -26,14 +26,14 @@ function animate(sol::Solution, args, name_part::String; framerate::Int64=10)
colors = Observable(Vector{RGBAf}(undef, args.N)) colors = Observable(Vector{RGBAf}(undef, args.N))
if args.debug if args.debug
segments_x = zeros(2 * args.N) segments_x = Observable(zeros(2 * args.N))
segments_y = zeros(2 * args.N) segments_y = Observable(zeros(2 * args.N))
interaction_circles = Vector{Circle}(undef, args.N) interaction_circles = Observable(Vector{Circle}(undef, args.N))
skin_circles = Vector{Circle}(undef, args.N) skin_circles = Observable(Vector{Circle}(undef, args.N))
interaction_colors = Vector{RGBAf}(undef, args.N) interaction_colors = Observable(Vector{RGBAf}(undef, args.N))
skin_colors = Vector{RGBAf}(undef, args.N) skin_colors = Observable(Vector{RGBAf}(undef, args.N))
end end
@showprogress 0.5 for frame in 1:(args.n_frames) @showprogress 0.5 for frame in 1:(args.n_frames)
@ -48,24 +48,24 @@ function animate(sol::Solution, args, name_part::String; framerate::Int64=10)
colors[][i] = RGBAf(color) colors[][i] = RGBAf(color)
if args.debug if args.debug
interaction_circles[i] = Circle( interaction_circles[][i] = Circle(
Point2(sol.center[i, frame]), args.interaction_r Point2(sol.center[i, frame]), args.interaction_r
) )
skin_circles[i] = Circle(Point2(sol.center[i, frame]), args.skin_r) skin_circles[][i] = Circle(Point2(sol.center[i, frame]), args.skin_r)
interaction_colors[i] = RGBAf(color, 0.12) interaction_colors[][i] = RGBAf(color, 0.12)
skin_colors[i] = RGBAf(color, 0.06) skin_colors[][i] = RGBAf(color, 0.06)
end end
end end
if frame > 1 if frame > 1
if args.debug if args.debug
@simd for i in 1:(args.N) @simd for i in 1:(args.N)
segments_x[2 * i - 1] = sol.center[i, frame - 1][1] segments_x[][2 * i - 1] = sol.center[i, frame - 1][1]
segments_x[2 * i] = sol.center[i, frame][1] segments_x[][2 * i] = sol.center[i, frame][1]
segments_y[2 * i - 1] = sol.center[i, frame - 1][2] segments_y[][2 * i - 1] = sol.center[i, frame - 1][2]
segments_y[2 * i] = sol.center[i, frame][2] segments_y[][2 * i] = sol.center[i, frame][2]
end end
if frame == 2 if frame == 2
@ -86,6 +86,17 @@ function animate(sol::Solution, args, name_part::String; framerate::Int64=10)
notify(circles) notify(circles)
notify(colors) notify(colors)
if args.debug
notify(interaction_circles)
notify(interaction_colors)
notify(skin_circles)
notify(skin_colors)
notify(segments_x)
notify(segments_y)
end
ax.title = "t = $(round(sol.t[frame], digits=3))" ax.title = "t = $(round(sol.t[frame], digits=3))"
recordframe!(io) recordframe!(io)