Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
trixi-framework
GitHub Repository: trixi-framework/Trixi.jl
Path: blob/main/examples/tree_1d_dgsem/elixir_advection_gauss_legendre.jl
5586 views
1
using OrdinaryDiffEqLowStorageRK
2
using Trixi
3
4
###############################################################################
5
# semidiscretization of the linear advection equation
6
7
advection_velocity = 1.0
8
equations = LinearScalarAdvectionEquation1D(advection_velocity)
9
10
solver = DGSEM(polydeg = 3,
11
basis_type = GaussLegendreBasis,
12
surface_flux = flux_godunov)
13
14
coordinates_min = -1.0
15
coordinates_max = 1.0
16
17
mesh = TreeMesh(coordinates_min, coordinates_max,
18
initial_refinement_level = 4,
19
n_cells_max = 30_000, periodicity = true)
20
21
semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition_convergence_test,
22
solver;
23
boundary_conditions = boundary_condition_periodic)
24
25
###############################################################################
26
# ODE solvers, callbacks etc.
27
28
ode = semidiscretize(semi, (0.0, 1.0))
29
30
summary_callback = SummaryCallback()
31
32
analysis_callback = AnalysisCallback(semi, interval = 100)
33
34
stepsize_callback = StepsizeCallback(cfl = 0.8)
35
36
callbacks = CallbackSet(summary_callback, analysis_callback,
37
stepsize_callback)
38
39
###############################################################################
40
# run the simulation
41
42
sol = solve(ode, CarpenterKennedy2N54(williamson_condition = false); dt = 1.0,
43
ode_default_options()..., callback = callbacks);
44
45