Skip to content

Commit

Permalink
Merge pull request #338 from trixi-framework/reorder-callbacks
Browse files Browse the repository at this point in the history
Reorder callbacks
  • Loading branch information
sloede authored Nov 17, 2020
2 parents a68ee40 + afa267b commit 3873781
Show file tree
Hide file tree
Showing 75 changed files with 835 additions and 707 deletions.
33 changes: 17 additions & 16 deletions examples/1d/elixir_advection_amr.jl
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,20 @@ ode = semidiscretize(semi, tspan)

summary_callback = SummaryCallback()

analysis_interval = 100
analysis_callback = AnalysisCallback(semi, interval=analysis_interval,
extra_analysis_integrals=(entropy,))

alive_callback = AliveCallback(analysis_interval=analysis_interval)

save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

amr_controller = ControllerThreeLevel(semi, IndicatorMax(semi, variable=first),
base_level=4,
med_level=5, med_threshold=0.1,
Expand All @@ -42,23 +56,10 @@ amr_callback = AMRCallback(semi, amr_controller,

stepsize_callback = StepsizeCallback(cfl=1.6)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

analysis_interval = 100
alive_callback = AliveCallback(analysis_interval=analysis_interval)
analysis_callback = AnalysisCallback(semi, interval=analysis_interval,
extra_analysis_integrals=(entropy,))

# TODO: Taal decide, first AMR or save solution etc.
callbacks = CallbackSet(summary_callback, amr_callback, stepsize_callback,
callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
save_restart, save_solution,
analysis_callback, alive_callback);
amr_callback, stepsize_callback)


###############################################################################
Expand Down
33 changes: 17 additions & 16 deletions examples/1d/elixir_advection_amr_nonperiodic.jl
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,20 @@ ode = semidiscretize(semi, tspan)

summary_callback = SummaryCallback()

analysis_interval = 100
analysis_callback = AnalysisCallback(semi, interval=analysis_interval,
extra_analysis_integrals=(entropy,))

alive_callback = AliveCallback(analysis_interval=analysis_interval)

save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

amr_controller = ControllerThreeLevel(semi, IndicatorMax(semi, variable=first),
base_level=4,
med_level=5, med_threshold=0.1,
Expand All @@ -48,23 +62,10 @@ amr_callback = AMRCallback(semi, amr_controller,

stepsize_callback = StepsizeCallback(cfl=1.6)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

analysis_interval = 100
alive_callback = AliveCallback(analysis_interval=analysis_interval)
analysis_callback = AnalysisCallback(semi, interval=analysis_interval,
extra_analysis_integrals=(entropy,))

# TODO: Taal decide, first AMR or save solution etc.
callbacks = CallbackSet(summary_callback, amr_callback, stepsize_callback,
callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
save_restart, save_solution,
analysis_callback, alive_callback);
amr_callback, stepsize_callback);


###############################################################################
Expand Down
12 changes: 6 additions & 6 deletions examples/1d/elixir_advection_basic.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ using Trixi
advectionvelocity = 1.0
equations = LinearScalarAdvectionEquation1D(advectionvelocity)

# Create DG solver with polynomial degree = 3 and Lax-Friedrichs flux as surface flux
# Create DG solver with polynomial degree = 3 and (local) Lax-Friedrichs/Rusanov flux as surface flux
solver = DGSEM(3, flux_lax_friedrichs)

coordinates_min = -1 # minimum coordinate
Expand All @@ -33,18 +33,18 @@ ode = semidiscretize(semi, (0.0, 1.0));
# and resets the timers
summary_callback = SummaryCallback()

# The StepsizeCallback handles the re-calculcation of the maximum Δt after each time step
stepsize_callback = StepsizeCallback(cfl=1.6)
# The AnalysisCallback allows to analyse the solution in regular intervals and prints the results
analysis_callback = AnalysisCallback(semi, interval=100)

# The SaveSolutionCallback allows to save the solution to a file in regular intervals
save_solution = SaveSolutionCallback(interval=100,
solution_variables=:primitive)

# The AnalysisCallback allows to analyse the solution in regular intervals and prints the results
analysis_callback = AnalysisCallback(semi, interval=100)
# The StepsizeCallback handles the re-calculcation of the maximum Δt after each time step
stepsize_callback = StepsizeCallback(cfl=1.6)

# Create a CallbackSet to collect all callbacks such that they can be passed to the ODE solver
callbacks = CallbackSet(summary_callback, stepsize_callback, save_solution, analysis_callback)
callbacks = CallbackSet(summary_callback, analysis_callback, save_solution, stepsize_callback)


###############################################################################
Expand Down
33 changes: 17 additions & 16 deletions examples/1d/elixir_advection_extended.jl
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ initial_condition = initial_condition_convergence_test
# fully periodic domains. Here, however, it is included to allow easy override during testing
boundary_conditions = boundary_condition_periodic

# Create DG solver with polynomial degree = 3 and Lax-Friedrichs flux as surface flux
# Create DG solver with polynomial degree = 3 and (local) Lax-Friedrichs/Rusanov flux as surface flux
surface_flux = flux_lax_friedrichs
polydeg = 3
solver = DGSEM(polydeg, surface_flux)
Expand Down Expand Up @@ -47,31 +47,32 @@ ode = semidiscretize(semi, tspan);
# and resets the timers
summary_callback = SummaryCallback()

# The StepsizeCallback handles the re-calculcation of the maximum Δt after each time step
stepsize_callback = StepsizeCallback(cfl=1.6)
# The AnalysisCallback allows to analyse the solution in regular intervals and prints the results
analysis_interval = 100
analysis_callback = AnalysisCallback(semi, interval=analysis_interval,
extra_analysis_integrals=(entropy, energy_total))

# The SaveSolutionCallback allows to save the solution to a file in regular intervals
save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)
# The AliveCallback prints short status information in regular intervals
alive_callback = AliveCallback(analysis_interval=analysis_interval)

# The SaveRestartCallback allows to save a file from which a Trixi simulation can be restarted
save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

# The AliveCallback prints short status information in regular intervals
analysis_interval = 100
alive_callback = AliveCallback(analysis_interval=analysis_interval)
# The SaveSolutionCallback allows to save the solution to a file in regular intervals
save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

# The AnalysisCallback allows to analyse the solution in regular intervals and prints the results
analysis_callback = AnalysisCallback(semi, interval=analysis_interval,
extra_analysis_integrals=(entropy, energy_total))
# The StepsizeCallback handles the re-calculcation of the maximum Δt after each time step
stepsize_callback = StepsizeCallback(cfl=1.6)

# Create a CallbackSet to collect all callbacks such that they can be passed to the ODE solver
callbacks = CallbackSet(summary_callback, stepsize_callback,
callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
save_restart, save_solution,
analysis_callback, alive_callback)
stepsize_callback)


###############################################################################
Expand Down
15 changes: 9 additions & 6 deletions examples/1d/elixir_euler_blast_wave.jl
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,23 @@ ode = semidiscretize(semi, tspan)

summary_callback = SummaryCallback()

stepsize_callback = StepsizeCallback(cfl=0.5)
analysis_interval = 100

analysis_callback = AnalysisCallback(semi, interval=analysis_interval)

alive_callback = AliveCallback(analysis_interval=analysis_interval)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

analysis_interval = 100
alive_callback = AliveCallback(analysis_interval=analysis_interval)
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)
stepsize_callback = StepsizeCallback(cfl=0.5)

callbacks = CallbackSet(summary_callback, stepsize_callback,
callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
save_solution,
analysis_callback, alive_callback)
stepsize_callback)


###############################################################################
Expand Down
22 changes: 12 additions & 10 deletions examples/1d/elixir_euler_density_wave.jl
Original file line number Diff line number Diff line change
Expand Up @@ -29,24 +29,26 @@ ode = semidiscretize(semi, tspan)

summary_callback = SummaryCallback()

stepsize_callback = StepsizeCallback(cfl=0.8)
analysis_interval = 2000
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)

alive_callback = AliveCallback(analysis_interval=analysis_interval)


save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

analysis_interval = 2000
alive_callback = AliveCallback(analysis_interval=analysis_interval)
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)
stepsize_callback = StepsizeCallback(cfl=0.8)

callbacks = CallbackSet(summary_callback, stepsize_callback,
callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
save_restart, save_solution,
analysis_callback, alive_callback)

stepsize_callback)

###############################################################################
# run the simulation
Expand Down
20 changes: 11 additions & 9 deletions examples/1d/elixir_euler_ec.jl
Original file line number Diff line number Diff line change
Expand Up @@ -30,23 +30,25 @@ ode = semidiscretize(semi, tspan)

summary_callback = SummaryCallback()

stepsize_callback = StepsizeCallback(cfl=0.8)
analysis_interval = 100
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)

alive_callback = AliveCallback(analysis_interval=analysis_interval)

save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

analysis_interval = 100
alive_callback = AliveCallback(analysis_interval=analysis_interval)
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)
stepsize_callback = StepsizeCallback(cfl=0.8)

callbacks = CallbackSet(summary_callback, stepsize_callback,
callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
save_restart, save_solution,
analysis_callback, alive_callback)
stepsize_callback)


###############################################################################
Expand Down
20 changes: 11 additions & 9 deletions examples/1d/elixir_euler_nonperiodic.jl
Original file line number Diff line number Diff line change
Expand Up @@ -42,23 +42,25 @@ ode = semidiscretize(semi, tspan)

summary_callback = SummaryCallback()

stepsize_callback = StepsizeCallback(cfl=0.8)
analysis_interval = 100
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)

alive_callback = AliveCallback(analysis_interval=analysis_interval)

save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

save_restart = SaveRestartCallback(interval=100,
save_final_restart=true)

analysis_interval = 100
alive_callback = AliveCallback(analysis_interval=analysis_interval)
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)
stepsize_callback = StepsizeCallback(cfl=0.8)

callbacks = CallbackSet(summary_callback, stepsize_callback,
callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
save_restart, save_solution,
analysis_callback, alive_callback)
stepsize_callback)


###############################################################################
Expand Down
30 changes: 17 additions & 13 deletions examples/1d/elixir_euler_sedov_blast_wave.jl
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,19 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
tspan = (0.0, 12.5)
ode = semidiscretize(semi, tspan)


summary_callback = SummaryCallback()

analysis_interval = 1000
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)

alive_callback = AliveCallback(analysis_interval=analysis_interval)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

amr_indicator = IndicatorHennemannGassner(semi,
alpha_max=0.5,
alpha_min=0.001,
Expand All @@ -52,21 +65,12 @@ amr_callback = AMRCallback(semi, amr_controller,
adapt_initial_condition=true,
adapt_initial_condition_only_refine=true)

summary_callback = SummaryCallback()

stepsize_callback = StepsizeCallback(cfl=0.5)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

analysis_interval = 1000
alive_callback = AliveCallback(analysis_interval=analysis_interval)
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)

callbacks = CallbackSet(summary_callback, amr_callback, stepsize_callback, save_solution,
analysis_callback, alive_callback)
callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
save_solution,
amr_callback, stepsize_callback)


###############################################################################
Expand Down
14 changes: 8 additions & 6 deletions examples/1d/elixir_euler_shockcapturing.jl
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,22 @@ ode = semidiscretize(semi, tspan)

summary_callback = SummaryCallback()

stepsize_callback = StepsizeCallback(cfl=0.8)
analysis_interval = 100
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)

alive_callback = AliveCallback(analysis_interval=analysis_interval)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
save_final_solution=true,
solution_variables=:primitive)

analysis_interval = 100
alive_callback = AliveCallback(analysis_interval=analysis_interval)
analysis_callback = AnalysisCallback(semi, interval=analysis_interval)
stepsize_callback = StepsizeCallback(cfl=0.8)

callbacks = CallbackSet(summary_callback, stepsize_callback,
callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
save_solution,
analysis_callback, alive_callback)
stepsize_callback)


###############################################################################
Expand Down
Loading

0 comments on commit 3873781

Please sign in to comment.