Path: blob/main/examples/tree_3d_dgsem/elixir_advection_er.jl
2055 views
using Trixi12###############################################################################3# semidiscretization of the linear advection equation45advection_velocity = (1.0, 1.0, 1.0)6equations = LinearScalarAdvectionEquation3D(advection_velocity)78solver = DGSEM(polydeg = 2, surface_flux = flux_central,9volume_integral = VolumeIntegralFluxDifferencing(flux_central)) # Entropy-conservative setup1011coordinates_min = (-1.0, -1.0, -1.0)12coordinates_max = (1.0, 1.0, 1.0)13# Create a uniformly refined mesh with periodic boundaries14mesh = TreeMesh(coordinates_min, coordinates_max,15initial_refinement_level = 3,16n_cells_max = 30_000)1718semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition_convergence_test,19solver)2021###############################################################################22# ODE solvers, callbacks etc.2324ode = semidiscretize(semi, (0.0, 1.0))2526summary_callback = SummaryCallback()2728analysis_interval = 129analysis_callback = AnalysisCallback(semi, interval = analysis_interval,30analysis_errors = Symbol[], # Switch off error computation31# Note: `entropy` defaults to mathematical entropy32analysis_integrals = (entropy,),33analysis_filename = "entropy_ER.dat",34save_analysis = true)3536stepsize_callback = StepsizeCallback(cfl = 1.0)3738callbacks = CallbackSet(summary_callback, analysis_callback,39stepsize_callback)4041###############################################################################42# run the simulation4344relaxation_solver = Trixi.RelaxationSolverNewton(max_iterations = 3,45root_tol = eps(Float64),46gamma_tol = eps(Float64))47ode_alg = Trixi.RelaxationRalston3(relaxation_solver = relaxation_solver)4849sol = Trixi.solve(ode, ode_alg,50dt = 42.0, save_everystep = false, callback = callbacks);515253