From 9a94d8cfde887144ba1fa8ecb503ffe5c8483fa2 Mon Sep 17 00:00:00 2001 From: Florian Atteneder <florian.atteneder@uni-jena.de> Date: Fri, 13 Sep 2024 16:40:10 +0000 Subject: [PATCH] dg1d: use separate CallbackTimings for separate callbacks (https://git.tpi.uni-jena.de/dg/dg1d.jl/-/merge_requests/226) Our CallbackTimings ensure that only forward progress is made. When the same timing is shared by multiple callbacks, e.g. one for 0d and one for 1d output, then firing for 0d prevents firing for 1d. --- src/main.jl | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main.jl b/src/main.jl index 8ae0bbfc..dd2e7391 100644 --- a/src/main.jl +++ b/src/main.jl @@ -276,22 +276,24 @@ function setup_callbacks(env, project, bdryconds, prms, outputdir) mesh = env.mesh # Add some 'global' callbacks - savecb_timing = CallbackTiming(every_dt=prms["Output"]["every_dt"], - every_iteration=prms["Output"]["every_iteration"]) + savecb_timing_0d = CallbackTiming(every_dt=prms["Output"]["every_dt"], + every_iteration=prms["Output"]["every_iteration"]) vars0d = prms["Output"]["variables0d"] savecb_0d = SaveCallback(Symbol.(vars0d), mesh.cache, mesh, joinpath(outputdir, "output0d"), - savecb_timing; + savecb_timing_0d; format0d=prms["Output"]["format0d"]) + savecb_timing_1d = deepcopy(savecb_timing_0d) vars1d = prms["Output"]["variables1d"] savecb_1d = SaveCallback(Symbol.(vars1d), mesh.cache, mesh, joinpath(outputdir, "output1d"), - savecb_timing; + savecb_timing_1d; format1d=prms["Output"]["format1d"]) + savecb_timing_2d = deepcopy(savecb_timing_0d) vars2d = prms["Output"]["variables2d"] savecb_2d = SaveCallback(Symbol.(vars2d), mesh.cache, mesh, joinpath(outputdir, "output2d"), - savecb_timing; + savecb_timing_2d; format2d=prms["Output"]["format2d"]) savecbs = [ cb for cb in (savecb_0d, savecb_1d, savecb_2d) if !isnothing(cb) ] -- GitLab