Skip to content
Snippets Groups Projects

Add a finite volume method for ScalarEq

Merged Florian Atteneder requested to merge fa/fv into main
17 files
+ 270
84
Compare changes
  • Side-by-side
  • Inline
Files
17
+ 7
7
function make_callback(env, P::Project, bdryconds::BoundaryConditions)
cbfn_equation(u, t) = callback_equation(u, t, env, P, isperiodic(bdryconds), P.equation, env.mesh)
function make_callback(env, P::Project, isperiodic::Bool)
cbfn_equation(u, t) = callback_equation(u, t, env, P, isperiodic, P.equation, env.mesh)
cb_equation = FunctionCallback(cbfn_equation,
CallbackTiming(every_iteration=1,every_dt=0))
cbfn_tci(u, t) = callback_tci(u, t, env, P, isperiodic(bdryconds), P.tci, env.mesh)
cbfn_tci(u, t) = callback_tci(u, t, env, P, isperiodic, P.tci, env.mesh)
cb_tci = FunctionCallback(cbfn_tci,
CallbackTiming(every_iteration=1, every_dt=0))
cbfn_hrsc(u, t) = callback_hrsc(u, t, env, P, isperiodic(bdryconds), P.hrsc, env.mesh)
cbfn_hrsc(u, t) = callback_hrsc(u, t, env, P, isperiodic, P.hrsc, env.mesh)
cb_hrsc = FunctionCallback(cbfn_hrsc,
CallbackTiming(every_iteration=1,every_dt=0))
callbackset = CallbackSet(cb_equation, cb_tci, cb_hrsc)
@@ -206,8 +206,8 @@ end
function callback_tci(state_u, state_t, env, P, isperiodic,
tci::Union{TCI.Diffusion, TCI.Minmod, TCI.Threshold,
TCI.ModalDecayAverage, TCI.ModalDecayHighest}, mesh)
@unpack cache, mesh = env
@unpack u = get_dynamic_variables(cache)
@unpack flag = get_cell_variables(cache)
@unpack cache, mesh = env
@unpack u = get_dynamic_variables(cache)
@unpack flag = get_cell_variables(cache)
TCI.compute_indicator!(flag, u, tci)
end
Loading