Path: blob/main/examples/dgmulti_3d/elixir_euler_weakform_periodic.jl
5586 views
using OrdinaryDiffEqLowStorageRK1using Trixi23dg = DGMulti(polydeg = 3, element_type = Tet(), approximation_type = Polynomial(),4surface_integral = SurfaceIntegralWeakForm(flux_hll),5volume_integral = VolumeIntegralWeakForm())67equations = CompressibleEulerEquations3D(1.4)8initial_condition = initial_condition_convergence_test9source_terms = source_terms_convergence_test1011cells_per_dimension = (4, 4, 4)12mesh = DGMultiMesh(dg, cells_per_dimension, periodicity = true)1314semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, dg;15source_terms = source_terms,16boundary_conditions = boundary_condition_periodic)1718tspan = (0.0, 0.1)19ode = semidiscretize(semi, tspan)2021summary_callback = SummaryCallback()22alive_callback = AliveCallback(alive_interval = 10)23analysis_interval = 10024analysis_callback = AnalysisCallback(semi, interval = analysis_interval, uEltype = real(dg))25save_solution = SaveSolutionCallback(interval = analysis_interval,26solution_variables = cons2prim)27callbacks = CallbackSet(summary_callback, alive_callback, analysis_callback, save_solution)2829###############################################################################30# run the simulation3132sol = solve(ode, CarpenterKennedy2N54(williamson_condition = false);33dt = 0.5 * estimate_dt(mesh, dg), ode_default_options()...,34callback = callbacks);353637