Path: blob/main/examples/tree_2d_fdsbp/elixir_euler_convergence.jl
5586 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,33boundary_conditions = boundary_condition_periodic)3435###############################################################################36# ODE solvers, callbacks etc.3738tspan = (0.0, 2.0)39ode = semidiscretize(semi, tspan)4041summary_callback = SummaryCallback()4243analysis_interval = 100044analysis_callback = AnalysisCallback(semi, interval = analysis_interval,45extra_analysis_integrals = (energy_total,))4647alive_callback = AliveCallback(analysis_interval = analysis_interval)4849save_solution = SaveSolutionCallback(interval = 1000,50save_initial_solution = true,51save_final_solution = true,52solution_variables = cons2prim)5354callbacks = CallbackSet(summary_callback,55analysis_callback,56save_solution,57alive_callback)5859###############################################################################60# run the simulation6162sol = solve(ode, SSPRK43(); abstol = 1.0e-9, reltol = 1.0e-9,63ode_default_options()..., callback = callbacks)646566