Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
trixi-framework
GitHub Repository: trixi-framework/Trixi.jl
Path: blob/main/benchmark/elixir_3d_euler_source_terms_structured.jl
2055 views
1
2
using OrdinaryDiffEqLowOrderRK
3
using Trixi
4
5
###############################################################################
6
# semidiscretization of the compressible Euler equations
7
8
equations = CompressibleEulerEquations3D(1.4)
9
10
initial_condition = initial_condition_convergence_test
11
12
solver = DGSEM(polydeg = 3, surface_flux = flux_lax_friedrichs)
13
14
coordinates_min = (0.0, 0.0, 0.0)
15
coordinates_max = (2.0, 2.0, 2.0)
16
cells_per_dimension = (4, 4, 4)
17
mesh = StructuredMesh(cells_per_dimension, coordinates_min, coordinates_max)
18
19
semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
20
source_terms = source_terms_convergence_test)
21
22
###############################################################################
23
# ODE solvers, callbacks etc.
24
25
tspan = (0.0, 5.0)
26
ode = semidiscretize(semi, tspan)
27
28
summary_callback = SummaryCallback()
29
30
analysis_interval = 100
31
analysis_callback = AnalysisCallback(semi, interval = analysis_interval)
32
33
alive_callback = AliveCallback(analysis_interval = analysis_interval)
34
35
callbacks = CallbackSet(summary_callback, analysis_callback, alive_callback)
36
37
###############################################################################
38
# run the simulation
39
40
sol = solve(ode, BS3();
41
ode_default_options()..., callback = callbacks);
42
summary_callback() # print the timer summary
43
44