Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
trixi-framework
GitHub Repository: trixi-framework/Trixi.jl
Path: blob/main/examples/dgmulti_2d/elixir_euler_fdsbp_periodic.jl
2055 views
1
using OrdinaryDiffEqLowStorageRK
2
using Trixi
3
4
dg = DGMulti(element_type = Quad(),
5
approximation_type = periodic_derivative_operator(derivative_order = 1,
6
accuracy_order = 4,
7
xmin = 0.0, xmax = 1.0,
8
N = 50),
9
surface_flux = flux_hll,
10
volume_integral = VolumeIntegralWeakForm())
11
12
equations = CompressibleEulerEquations2D(1.4)
13
initial_condition = initial_condition_convergence_test
14
source_terms = source_terms_convergence_test
15
16
mesh = DGMultiMesh(dg, coordinates_min = (-1.0, -1.0),
17
coordinates_max = (1.0, 1.0))
18
19
semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, dg,
20
source_terms = source_terms)
21
22
tspan = (0.0, 0.4)
23
ode = semidiscretize(semi, tspan)
24
25
summary_callback = SummaryCallback()
26
alive_callback = AliveCallback(alive_interval = 10)
27
analysis_interval = 100
28
analysis_callback = AnalysisCallback(semi, interval = analysis_interval, uEltype = real(dg))
29
stepsize_callback = StepsizeCallback(cfl = 1.0)
30
callbacks = CallbackSet(summary_callback, alive_callback, stepsize_callback,
31
analysis_callback)
32
33
###############################################################################
34
# run the simulation
35
36
sol = solve(ode, CarpenterKennedy2N54(williamson_condition = false);
37
dt = 0.5 * estimate_dt(mesh, dg),
38
ode_default_options()...,
39
callback = callbacks);
40
41