Path: blob/main/examples/tree_2d_fdsbp/elixir_euler_convergence.jl
2055 views
# !!! warning "Experimental implementation (upwind SBP)"1# This is an experimental feature and may change in future releases.23using OrdinaryDiffEqSSPRK4using Trixi56###############################################################################7# semidiscretization of the compressible Euler equations89equations = CompressibleEulerEquations2D(1.4)1011initial_condition = initial_condition_convergence_test12source_terms = source_terms_convergence_test1314D_upw = upwind_operators(SummationByPartsOperators.Mattsson2017,15derivative_order = 1,16accuracy_order = 4,17xmin = -1.0, xmax = 1.0,18N = 16)19flux_splitting = splitting_steger_warming20solver = FDSBP(D_upw,21surface_integral = SurfaceIntegralUpwind(flux_splitting),22volume_integral = VolumeIntegralUpwind(flux_splitting))2324coordinates_min = (-1.0, -1.0)25coordinates_max = (1.0, 1.0)26mesh = TreeMesh(coordinates_min, coordinates_max,27initial_refinement_level = 3,28n_cells_max = 30_000,29periodicity = true)3031semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,32source_terms = source_terms_convergence_test)3334###############################################################################35# ODE solvers, callbacks etc.3637tspan = (0.0, 2.0)38ode = semidiscretize(semi, tspan)3940summary_callback = SummaryCallback()4142analysis_interval = 100043analysis_callback = AnalysisCallback(semi, interval = analysis_interval,44extra_analysis_integrals = (energy_total,))4546alive_callback = AliveCallback(analysis_interval = analysis_interval)4748save_solution = SaveSolutionCallback(interval = 1000,49save_initial_solution = true,50save_final_solution = true,51solution_variables = cons2prim)5253callbacks = CallbackSet(summary_callback,54analysis_callback,55save_solution,56alive_callback)5758###############################################################################59# run the simulation6061sol = solve(ode, SSPRK43(); abstol = 1.0e-9, reltol = 1.0e-9,62ode_default_options()..., callback = callbacks)636465