Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
223 commits
Select commit Hold shift + click to select a range
f355e1b
Make volume integral computation adaptive
DanielDoehring Jul 20, 2025
552d717
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Jul 21, 2025
3ca63fc
towards 2d
DanielDoehring Jul 21, 2025
147e896
simplify
DanielDoehring Jul 21, 2025
2eec5d8
towards 2d
DanielDoehring Jul 21, 2025
8e9949b
try
DanielDoehring Jul 21, 2025
d823ff5
non cons does not work with weak form
DanielDoehring Jul 21, 2025
7bc660a
example
DanielDoehring Jul 21, 2025
fc0347a
whiteapce
DanielDoehring Jul 21, 2025
724335a
vis
DanielDoehring Jul 22, 2025
3166699
Compute first mean, then entropy (much cheaper)
DanielDoehring Aug 10, 2025
c0b1f0b
move u mean
DanielDoehring Aug 10, 2025
9876f85
benchmark
DanielDoehring Aug 10, 2025
dde3c81
Merge branch 'VolumeIntegralAdaptive' of github.com:DanielDoehring/Tr…
DanielDoehring Aug 11, 2025
6ec9287
comment
DanielDoehring Aug 11, 2025
a96827b
work
DanielDoehring Aug 11, 2025
004adba
u_mean
DanielDoehring Aug 31, 2025
7409fdb
rm
DanielDoehring Aug 31, 2025
0bec762
fmt
DanielDoehring Aug 31, 2025
e7ae7a2
shorten
DanielDoehring Aug 31, 2025
32e4c75
work
DanielDoehring Oct 13, 2025
0a38976
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Oct 13, 2025
1375fa7
shorten
DanielDoehring Oct 13, 2025
64c123a
shorten
DanielDoehring Oct 13, 2025
0dac510
move
DanielDoehring Oct 13, 2025
58db43b
bt
DanielDoehring Oct 13, 2025
5f885d6
examples
DanielDoehring Oct 13, 2025
224b84d
restz
DanielDoehring Oct 13, 2025
eaefcc1
todo
DanielDoehring Oct 13, 2025
e27d62a
rename
DanielDoehring Oct 13, 2025
ab8cb7f
test
DanielDoehring Oct 13, 2025
a755aa6
fmt
DanielDoehring Oct 13, 2025
7535812
rm amr cap
DanielDoehring Oct 13, 2025
7533ad0
covergae
DanielDoehring Oct 13, 2025
624113c
SAVE Sol
DanielDoehring Oct 13, 2025
a618ec5
ex
DanielDoehring Oct 13, 2025
56ac3ef
test vals
DanielDoehring Oct 13, 2025
a5fb02b
Update test/test_tree_1d_euler.jl
DanielDoehring Oct 13, 2025
26dc558
Update test/test_tree_1d_euler.jl
DanielDoehring Oct 14, 2025
80d6754
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Oct 14, 2025
ebb2e21
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Oct 15, 2025
257480f
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Oct 17, 2025
2c35e7f
rm int
DanielDoehring Oct 20, 2025
6b324f7
Update src/solvers/dgsem/calc_volume_integral.jl
DanielDoehring Oct 20, 2025
80b91ca
rev
DanielDoehring Oct 20, 2025
dd741d7
rev
DanielDoehring Oct 20, 2025
48cad6b
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Nov 17, 2025
5ebe81f
better indicator
DanielDoehring Nov 17, 2025
e3b6e37
prototype
DanielDoehring Nov 17, 2025
da268d3
ft
DanielDoehring Nov 18, 2025
5df5340
fmt
DanielDoehring Nov 18, 2025
38ab686
rm
DanielDoehring Nov 18, 2025
b94c156
3d test
DanielDoehring Nov 19, 2025
2f22b19
cont
DanielDoehring Nov 19, 2025
eae242d
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Nov 26, 2025
a100e9f
rename
DanielDoehring Nov 26, 2025
cfd4a39
more examples
DanielDoehring Nov 27, 2025
e55da26
cont
DanielDoehring Nov 28, 2025
84ababa
Update src/solvers/dgsem/dgsem.jl
DanielDoehring Nov 29, 2025
68e7ac5
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Dec 1, 2025
75ca8e0
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Dec 6, 2025
ca84e57
Update src/solvers/dgsem_tree/indicators.jl
DanielDoehring Dec 7, 2025
9011796
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Dec 13, 2025
e046615
3d non std
DanielDoehring Dec 13, 2025
1b6bb01
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Dec 16, 2025
34e53ab
alive cb
DanielDoehring Dec 16, 2025
0c4d712
incr
DanielDoehring Dec 16, 2025
ecced9c
clean up
DanielDoehring Dec 16, 2025
dd82e11
shorten
DanielDoehring Dec 16, 2025
93e863e
tests
DanielDoehring Dec 16, 2025
b30f30d
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Dec 20, 2025
aa29627
WF & SC
DanielDoehring Dec 20, 2025
59ea821
ac
DanielDoehring Dec 20, 2025
cb3ba22
12.5
DanielDoehring Dec 20, 2025
22408a3
restruct
DanielDoehring Dec 20, 2025
db543c6
fix
DanielDoehring Dec 20, 2025
59665f1
test more print
DanielDoehring Dec 20, 2025
a2aafc2
Update src/solvers/dgsem_tree/indicators.jl
DanielDoehring Dec 21, 2025
c518f87
Update src/solvers/dgsem_tree/indicators.jl
DanielDoehring Dec 21, 2025
1f0a657
Update src/solvers/dgsem_tree/indicators.jl
DanielDoehring Dec 21, 2025
f84b246
safety check
DanielDoehring Dec 21, 2025
bf0da64
Update src/solvers/dgsem_tree/indicators.jl
DanielDoehring Dec 21, 2025
d3f24e4
Update src/solvers/dg.jl
DanielDoehring Dec 21, 2025
92d3e3b
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Dec 22, 2025
3014939
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Dec 23, 2025
67f60f5
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Jan 1, 2026
0dff5da
change
DanielDoehring Jan 3, 2026
6311cfa
Merge branch 'VolumeIntegralAdaptive' of github.com:DanielDoehring/Tr…
DanielDoehring Jan 3, 2026
871b1b0
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Jan 3, 2026
d2bc478
change
DanielDoehring Jan 4, 2026
1390907
jacobian
DanielDoehring Jan 5, 2026
2ffe01d
use negative matrix
DanielDoehring Jan 5, 2026
aec137b
investigate
DanielDoehring Jan 5, 2026
7ee24ba
hllc
DanielDoehring Jan 5, 2026
d7a7d71
jac business
DanielDoehring Jan 6, 2026
f8acba2
move indicator
DanielDoehring Jan 6, 2026
bc92ae8
more indicators
DanielDoehring Jan 6, 2026
67b7cf2
docstrings, test
DanielDoehring Jan 6, 2026
197deed
experiment threshold adjustment
DanielDoehring Jan 7, 2026
f63653a
try clever update of target entropy decay
DanielDoehring Jan 7, 2026
7ab06e9
rm example
DanielDoehring Jan 7, 2026
2f77491
storage-computation tradeoff
DanielDoehring Jan 7, 2026
d2b64c4
store entropy
DanielDoehring Jan 7, 2026
c6a43bc
3d sedov blast
DanielDoehring Jan 7, 2026
7270d74
all reference
DanielDoehring Jan 8, 2026
3d2bcb8
update
DanielDoehring Jan 8, 2026
e87e00d
Merge branch 'VolumeIntegralAdaptive' of github.com:DanielDoehring/Tr…
DanielDoehring Jan 8, 2026
cd82ac1
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Jan 8, 2026
f6fd807
Adaptive & RRG
DanielDoehring Jan 8, 2026
b704d88
update target decay
DanielDoehring Jan 8, 2026
9ca53ac
idea
DanielDoehring Jan 8, 2026
4b19950
try update again
DanielDoehring Jan 8, 2026
0188262
float
DanielDoehring Jan 9, 2026
04cab37
params
DanielDoehring Jan 9, 2026
0ec2c60
naca0012 NSF separation
DanielDoehring Jan 9, 2026
e103142
use sd7003 for separation example
DanielDoehring Jan 12, 2026
f863332
restart
DanielDoehring Jan 12, 2026
5c07b56
fi xorder cbs
DanielDoehring Jan 12, 2026
db0f140
rm save sol
DanielDoehring Jan 12, 2026
5e99fcb
restart
DanielDoehring Jan 14, 2026
9a53da1
add
DanielDoehring Jan 14, 2026
4c4bc81
run longer non-ref
DanielDoehring Jan 14, 2026
d3dc47b
rev
DanielDoehring Jan 14, 2026
f171029
check with AMR 3
DanielDoehring Jan 15, 2026
5d60788
remove `calc_entropy_delta`: Trade computations for storage
DanielDoehring Jan 16, 2026
5d173a2
rm update
DanielDoehring Jan 16, 2026
ab1e404
2 lvl indicator
DanielDoehring Jan 16, 2026
a83ac24
change
DanielDoehring Jan 16, 2026
c61ceb3
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Jan 16, 2026
95598b5
toml
DanielDoehring Jan 16, 2026
22e84d5
rm
DanielDoehring Jan 16, 2026
fd9e6af
conclude sd7003 sim
DanielDoehring Jan 16, 2026
3bbab7d
Merge branch 'main' into VolumeIntegralAdaptive
DanielDoehring Jan 19, 2026
a16e541
compare runtimes
DanielDoehring Jan 19, 2026
10e42f4
rename
DanielDoehring Jan 20, 2026
6801e20
reduce to entropy diffusion
DanielDoehring Jan 20, 2026
dbde5bb
linear stab
DanielDoehring Jan 20, 2026
28f3641
reference
DanielDoehring Jan 20, 2026
dd862b3
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Jan 20, 2026
17c3d71
fix
DanielDoehring Jan 20, 2026
8f7ca33
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Jan 20, 2026
b69e989
test vals
DanielDoehring Jan 20, 2026
7a708f2
switch to RAE2822
DanielDoehring Jan 23, 2026
d10ad3d
turn on amr
DanielDoehring Jan 23, 2026
ac8a189
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Jan 23, 2026
87ba59a
params as in High Order CFD
DanielDoehring Jan 24, 2026
181ffc0
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Jan 24, 2026
49dca76
switch to shock fitted mesh from wrkshop
DanielDoehring Jan 25, 2026
45e1441
Update src/callbacks_step/analysis_dg2d.jl
DanielDoehring Jan 25, 2026
b8d8182
comments
DanielDoehring Jan 25, 2026
cb7cee1
Update src/solvers/dgsem/calc_volume_integral.jl
DanielDoehring Jan 25, 2026
66a9882
safe guarding
DanielDoehring Jan 25, 2026
d93c196
comment
DanielDoehring Jan 25, 2026
11e059c
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Jan 25, 2026
9aee330
cfl
DanielDoehring Jan 25, 2026
a5be4a5
rename
DanielDoehring Jan 25, 2026
d3d9fc3
try different timeints
DanielDoehring Jan 26, 2026
f1d6165
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Jan 26, 2026
1c7d05b
comm
DanielDoehring Jan 27, 2026
4ff6f21
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Jan 27, 2026
f5fe962
run first with p1
DanielDoehring Jan 27, 2026
824019d
preapre timings
DanielDoehring Jan 30, 2026
a3c6758
FD control run
DanielDoehring Jan 31, 2026
4bb8585
record lift drag
DanielDoehring Jan 31, 2026
0e1575c
make more similar to Jessse PR
DanielDoehring Feb 2, 2026
adac3e4
move comment
DanielDoehring Feb 2, 2026
50e6a72
fix
DanielDoehring Feb 2, 2026
a09c446
fix
DanielDoehring Feb 2, 2026
f5cfa65
adapt
DanielDoehring Feb 2, 2026
01164f7
comments
DanielDoehring Feb 2, 2026
5082964
consistent
DanielDoehring Feb 2, 2026
e2bf83c
take entropy potentials into account
DanielDoehring Feb 2, 2026
6a82590
adapt to jesse info
DanielDoehring Feb 3, 2026
cd36868
docstrings
DanielDoehring Feb 3, 2026
89d0784
fix
DanielDoehring Feb 3, 2026
6eec5b2
Merge branch 'VolumeIntegralAdaptive_Start' into VolumeIntegralAdaptive
DanielDoehring Feb 3, 2026
9ea3cb2
export
DanielDoehring Feb 3, 2026
21b9f1f
rename
DanielDoehring Feb 3, 2026
ea241f3
adapt
DanielDoehring Feb 3, 2026
42d5fd0
fix
DanielDoehring Feb 3, 2026
f777c74
fix
DanielDoehring Feb 3, 2026
0cb771c
add
DanielDoehring Feb 3, 2026
06518b7
fix
DanielDoehring Feb 3, 2026
47010fb
fix
DanielDoehring Feb 3, 2026
ee9b4b1
comment
DanielDoehring Feb 3, 2026
42bf6a9
comment
DanielDoehring Feb 3, 2026
5f60665
HG and RRG
DanielDoehring Feb 3, 2026
fd2e0cd
entropy pot CEE 3D
DanielDoehring Feb 3, 2026
821c85d
Merge branch 'main' into VolumeIntegralAdaptive
JoshuaLampert Feb 4, 2026
c0c6e23
Merge branch 'main' into VolumeIntegralAdaptive_Start
JoshuaLampert Feb 4, 2026
2537158
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Feb 4, 2026
3dac3f6
Try 3D TGV
DanielDoehring Feb 4, 2026
33b3f30
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Feb 4, 2026
f021569
Update src/solvers/dgsem/indicators.jl
DanielDoehring Feb 4, 2026
d01c58b
retrieve
DanielDoehring Feb 4, 2026
656e0bc
Merge branch 'VolumeIntegralAdaptive_Start' of github.com:DanielDoehr…
DanielDoehring Feb 4, 2026
560df63
exchange
DanielDoehring Feb 4, 2026
4565dbb
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Feb 4, 2026
53de65d
fix
DanielDoehring Feb 5, 2026
4d2095a
try burgers
DanielDoehring Feb 5, 2026
8d843ee
tgv still not running
DanielDoehring Feb 5, 2026
f88c813
plot burgers
DanielDoehring Feb 5, 2026
80f5d1e
one docstring
DanielDoehring Feb 5, 2026
9198118
mod sod
DanielDoehring Feb 5, 2026
f60b19e
ws
DanielDoehring Feb 5, 2026
03f639d
kpp
DanielDoehring Feb 5, 2026
a31aa85
Merge branch 'VolumeIntegralAdaptive' of github.com:DanielDoehring/Tr…
DanielDoehring Feb 5, 2026
807f6ef
revisit
DanielDoehring Feb 5, 2026
407f621
sigma 4
DanielDoehring Feb 5, 2026
ef9c29a
remove adaptive sedov 2d
DanielDoehring Feb 5, 2026
cae5e93
2 component shock bubble amr
DanielDoehring Feb 5, 2026
552bdaa
todo baroclinic
DanielDoehring Feb 5, 2026
ac3650a
comments
DanielDoehring Feb 5, 2026
121a2eb
comments
DanielDoehring Feb 6, 2026
4c73871
Update src/equations/compressible_euler_2d.jl
DanielDoehring Feb 6, 2026
6d798d1
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Feb 6, 2026
43c4a1a
add
DanielDoehring Feb 6, 2026
f669112
shock bubble seems not to work
DanielDoehring Feb 6, 2026
8f987dc
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Feb 6, 2026
63f0b34
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Feb 6, 2026
33b78fb
Merge branch 'main' into VolumeIntegralAdaptive_Start
DanielDoehring Feb 6, 2026
7809af8
Merge branch 'VolumeIntegralAdaptive_Start' of github.com:DanielDoehr…
DanielDoehring Feb 6, 2026
92403dd
Merge branch 'VolumeIntegralAdaptive_Start' into VolumeIntegralAdaptive
DanielDoehring Feb 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,11 @@ for human readability.
## Changes in the v0.13 lifecycle

#### Added
- Initial 3D support for subcell limiting with `P4estMesh` was added ([#2582], [#2647], [#2688], [#2722]).
- Initial 3D support for subcell limiting with `P4estMesh` was added ([#2582] and [#2647]).
In the new version, IDP positivity limiting for conservative variables (using
the keyword `positivity_variables_cons` in `SubcellLimiterIDP()`) and nonlinear
variables (using `positivity_variables_nonlinear`) is supported.
`BoundsCheckCallback` is not supported in 3D yet.
- Optimized 2D and 3D kernels for nonconservative fluxes with `P4estMesh` were added ([#2653], [#2663]).
The optimized kernel can be enabled via the trait `Trixi.combine_conservative_and_nonconservative_fluxes(flux, equations)`.
When the trait is set to `Trixi.True()`, a single method has to be defined, that computes and returns the tuple
Expand Down
2 changes: 1 addition & 1 deletion benchmark/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ Trixi = "a7f1ee26-1774-49b1-8366-f1abc58fbfcb"
BenchmarkTools = "0.5, 0.7, 1.0"
OrdinaryDiffEq = "5.65, 6"
PkgBenchmark = "0.2.10"
Trixi = "0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13, 0.14"
Trixi = "0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13"
4 changes: 2 additions & 2 deletions docs/literate/src/files/adding_nonconservative_equation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,9 @@ end
# The implementation of nonconservative terms uses a single "nonconservative flux"
# function `flux_nonconservative`. It will basically be applied in a loop of the
# form
# ````julia
# ```julia
# du_m(D, u) = sum(D[m, l] * flux_nonconservative(u[m], u[l], 1, equations)) # orientation 1: x
# ````
# ```
# where `D` is the derivative matrix and `u` contains the nodal solution values.

# Now, we can run a simple simulation using a DGSEM discretization.
Expand Down
4 changes: 2 additions & 2 deletions docs/literate/src/files/first_steps/changing_trixi.jl
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@
# julia --project=.
# ```
# - Now run the following commands to install all relevant packages:
# ````julia
# ```julia
# using Pkg; Pkg.develop(PackageSpec(path="..")) # Tell Julia to use the local Trixi.jl clone
# Pkg.add(["OrdinaryDiffEqLowStorageRK", "OrdinaryDiffEqSSPRK", "Plots"]) # Install additional packages
# ````
# ```

# Now you already installed Trixi.jl from your local clone. Note that if you installed Trixi.jl
# this way, you always have to start Julia with the `--project` flag set to your `run` directory,
Expand Down
12 changes: 6 additions & 6 deletions docs/literate/src/files/first_steps/create_first_setup.jl
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ solver = DGSEM(polydeg = 3)
# initial conditions for [`LinearScalarAdvectionEquation2D`](@ref) can be found in
# [`src/equations/linear_scalar_advection_2d.jl`](https://github.com/trixi-framework/Trixi.jl/blob/main/src/equations/linear_scalar_advection_2d.jl).
# If you want to use, for example, a Gaussian pulse, it can be used as follows:
# ````julia
# ```julia
# initial_conditions = initial_condition_gauss
# ````
# ```
# But to show you how an arbitrary initial condition can be implemented in a way suitable for
# Trixi.jl, we define our own initial conditions.
# ```math
Expand Down Expand Up @@ -215,9 +215,9 @@ using Plots

# As was shown in the [Getting started](@ref getting_started) section, you can plot all
# variables from the system of equations by executing the following.
# ````julia
# ```julia
# plot(sol)
# ````
# ```
# Alternatively, you can configure the plot more precisely. Trixi.jl provides a special data type,
# [`PlotData2D`](@ref), to extract the visualization data from the solution.

Expand Down Expand Up @@ -250,10 +250,10 @@ plot!(getmesh(pd))
# [ParaView](https://www.paraview.org) or [VisIt](https://visit.llnl.gov) to plot the solution.

# If you haven't added Trixi2Vtk.jl to your project yet, you can add it as follows.
# ````julia
# ```julia
# import Pkg
# Pkg.add(["Trixi2Vtk"])
# ````
# ```
# Now we load the Trixi2Vtk.jl package and convert the file `out/solution_000000032.h5` with
# the final solution using the [`trixi2vtk`](@ref) function saving the resulting file in the
# `out` folder.
Expand Down
24 changes: 12 additions & 12 deletions docs/literate/src/files/first_steps/getting_started.jl
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@
# - Execute the following commands to install all mentioned packages. Please note that the
# installation process involves downloading and precompiling the source code, which may take
# some time depending on your machine.
# ````julia
# ```julia
# import Pkg
# Pkg.add(["OrdinaryDiffEqLowStorageRK", "OrdinaryDiffEqSSPRK", "Plots", "Trixi"])
# ````
# ```
# - On Windows, the firewall may request permission to install packages.

# Besides Trixi.jl you have now installed additional packages:
Expand Down Expand Up @@ -136,10 +136,10 @@

# Start Julia in a terminal and execute the following code:

# ````julia
# ```julia
# using Trixi, OrdinaryDiffEq
# trixi_include(joinpath(examples_dir(), "tree_2d_dgsem", "elixir_euler_ec.jl"))
# ````
# ```
using Trixi, OrdinaryDiffEqLowStorageRK #hide #md
trixi_include(@__MODULE__, joinpath(examples_dir(), "tree_2d_dgsem", "elixir_euler_ec.jl")); #hide #md

Expand Down Expand Up @@ -190,14 +190,14 @@ get_examples()

# - Open the downloaded file `elixir_euler_ec.jl` with a text editor.
# - Go to the line with the following code:
# ````julia
# ```julia
# initial_condition = initial_condition_weak_blast_wave
# ````
# ```
# Here, [`initial_condition_weak_blast_wave`](@ref) is used as the initial condition.
# - Comment out the line using the `#` symbol:
# ````julia
# ```julia
# # initial_condition = initial_condition_weak_blast_wave
# ````
# ```
# - Now you can create your own initial conditions. Add the following code after the
# commented line:

Expand All @@ -214,12 +214,12 @@ nothing; #hide #md

# - Execute the following code one more time, but instead of `path/to/file` paste the path to the
# `elixir_euler_ec.jl` file that you just edited.
# ````julia
# ```julia
# using Trixi
# trixi_include(path/to/file);
# using Plots
# plot(sol)
# ````
# ```
# Then you will obtain a new solution from running the simulation with a different initial
# condition.

Expand All @@ -233,14 +233,14 @@ p4 = plot(pd["p"], clim = (10, 30)) #hide #md
plot(p1, p2, p3, p4) #hide #md

# To get exactly the same picture execute the following.
# ````julia
# ```julia
# pd = PlotData2D(sol)
# p1 = plot(pd["rho"])
# p2 = plot(pd["v1"], clim=(0.05, 0.15))
# p3 = plot(pd["v2"], clim=(0.15, 0.25))
# p4 = plot(pd["p"], clim=(10, 30))
# plot(p1, p2, p3, p4)
# ````
# ```

# Feel free to make further changes to the initial condition to observe different solutions.

Expand Down
20 changes: 10 additions & 10 deletions docs/literate/src/files/hohqmesh_tutorial.jl
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
# [HOHQMesh.jl](https://github.com/trixi-framework/HOHQMesh.jl).
# This package provides a Julia wrapper for the HOHQMesh generator that allows users to easily create mesh
# files without the need to build HOHQMesh from source. To install the HOHQMesh package execute
# ````julia
# ```julia
# import Pkg; Pkg.add("HOHQMesh")
# ````
# ```
# Now we are ready to generate an unstructured quadrilateral mesh that can be used by Trixi.jl.

# ## Running and visualizing an unstructured simulation
Expand Down Expand Up @@ -289,12 +289,12 @@ output = generate_mesh(control_file);
# To construct the unstructured quadrilateral mesh from the HOHQMesh file we point to the appropriate location
# with the variable `mesh_file` and then feed this into the constructor for the [`UnstructuredMesh2D`](@ref) type in Trixi.jl

# ````julia
# ```julia
# # create the unstructured mesh from your mesh file
# using Trixi
# mesh_file = joinpath("out", "ice_cream_straight_sides.mesh")
# mesh = UnstructuredMesh2D(mesh_file);
# ````
# ```

# The complete elixir file for this simulation example is given below.

Expand Down Expand Up @@ -523,25 +523,25 @@ mesh = UnstructuredMesh2D(mesh_file);
# As described above, the first block of the HOHQMesh control file contains the parameter
# `mesh file format`. If you set `mesh file format = ABAQUS` instead of `ISM-V2`,
# HOHQMesh.jl's function `generate_mesh` creates an Abaqus mesh file `.inp`.
# ````julia
# ```julia
# using HOHQMesh
# control_file = joinpath("out", "ice_cream_straight_sides.control")
# output = generate_mesh(control_file);
# ````
# ```

# Now, you can create a `P4estMesh` from your mesh file. It is described in detail in the
# [P4est-based mesh](https://trixi-framework.github.io/TrixiDocumentation/stable/meshes/p4est_mesh/#P4est-based-mesh)
# part of the Trixi.jl docs.
# ````julia
# ```julia
# using Trixi
# mesh_file = joinpath("out", "ice_cream_straight_sides.inp")
# mesh = P4estMesh{2}(mesh_file)
# ````
# ```

# Since `P4estMesh` supports AMR, we just have to extend the setup from the first example by the
# standard AMR procedure. For more information about AMR in Trixi.jl, see the [matching tutorial](@ref adaptive_mesh_refinement).

# ````julia
# ```julia
# amr_indicator = IndicatorLöhner(semi, variable=density)

# amr_controller = ControllerThreeLevel(semi, amr_indicator,
Expand All @@ -555,7 +555,7 @@ mesh = UnstructuredMesh2D(mesh_file);
# adapt_initial_condition_only_refine=true)

# callbacks = CallbackSet(..., amr_callback)
# ````
# ```

# We can then post-process the solution file at the final time on the new mesh with `Trixi2Vtk` and visualize
# with ParaView, see the appropriate [visualization section](https://trixi-framework.github.io/TrixiDocumentation/stable/visualization/#Trixi2Vtk)
Expand Down
8 changes: 4 additions & 4 deletions docs/literate/src/files/non_periodic_boundaries.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

# # Dirichlet boundary condition
# First, let's look at the Dirichlet boundary condition [`BoundaryConditionDirichlet`](@ref).
# ````julia
# ```julia
# BoundaryConditionDirichlet(boundary_value_function)
# ````
# ```
# In Trixi.jl, this creates a Dirichlet boundary condition where the function `boundary_value_function`
# is used to set the values at the boundary. It can be used to create a boundary condition that sets
# exact boundary values by passing the exact solution of the equation.
Expand All @@ -21,9 +21,9 @@

# The passed boundary value function is called with the same arguments as an initial condition
# function, i.e.
# ````julia
# ```julia
# boundary_value_function(x, t, equations)
# ````
# ```
# where `x` specifies the spatial coordinates, `t` is the current time, and `equations` is the
# corresponding system of equations.

Expand Down
12 changes: 6 additions & 6 deletions docs/literate/src/files/p4est_from_gmsh.jl
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ trixi_include(joinpath(examples_dir(), "p4est_2d_dgsem",
"elixir_euler_NACA6412airfoil_mach2.jl"), tspan = (0.0, 0.5))

# Conveniently, we use the Plots package to have a first look at the results:
# ````julia
# ```julia
# using Plots
# pd = PlotData2D(sol)
# plot(pd["rho"])
# plot!(getmesh(pd))
# ````
# ```

# ## Creating a mesh using `gmsh`

Expand Down Expand Up @@ -403,14 +403,14 @@ trixi_include(joinpath(examples_dir(), "p4est_2d_dgsem",
# This is followed by the nodesets encoded via `*NSET` which are used to assign boundary conditions in Trixi.jl.
# Trixi.jl parses the `.inp` file and assigns the edges (in 2D, surfaces in 3D) of elements to the corresponding boundary condition based on
# the supplied `boundary_symbols` that have to be supplied to the `P4estMesh` constructor:
# ````julia
# ```julia
# # boundary symbols
# boundary_symbols = [:PhysicalLine1, :PhysicalLine2, :PhysicalLine3, :PhysicalLine4]
# mesh = P4estMesh{2}(mesh_file, polydeg = polydeg, boundary_symbols = boundary_symbols)
# ````
# ```
# The same boundary symbols have then also be supplied to the semidiscretization alongside the
# corresponding physical boundary conditions:
# ````julia
# ```julia
# # Supersonic inflow boundary condition.
# # Calculate the boundary flux entirely from the external solution state, i.e., set
# # external solution state values for everything entering the domain.
Expand Down Expand Up @@ -441,7 +441,7 @@ trixi_include(joinpath(examples_dir(), "p4est_2d_dgsem",
#
# semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
# boundary_conditions = boundary_conditions)
# ````
# ```
# Note that you **have to** supply the `boundary_symbols` keyword to the `P4estMesh` constructor
# to select the boundaries from the available nodesets in the `.inp` file.
# If the `boundary_symbols` keyword is not supplied, all boundaries will be assigned to the default set `:all`.
Expand Down
21 changes: 4 additions & 17 deletions docs/literate/src/files/shock_capturing.jl
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,9 @@
# [Hennemann et al. (2021)](https://doi.org/10.1016/j.jcp.2020.109935). In
# [Rueda-Ramírez et al. (2021)](https://doi.org/10.1016/j.jcp.2021.110580) you find the extension to
# the systems with non-conservative terms, such as the compressible magnetohydrodynamics (MHD) equations.
# Furthermore, the latter paper introduces also second-order subcell finite volume stabilization.

# The strategy for a shock-capturing method presented by Hennemann et al. is based on a hybrid blending
# of a high-order DG method with a low-order variant. The low-order subcell first order finite volume (FV) method is created
# of a high-order DG method with a low-order variant. The low-order subcell finite volume (FV) method is created
# directly with the Legendre-Gauss-Lobatto (LGL) nodes already used for the high-order DGSEM.
# Then, the final method is a convex combination with regulating indicator $\alpha$ of these two methods.

Expand All @@ -36,19 +35,7 @@
# volume_flux_fv=volume_flux_fv)
# ````

# The volume integral employing second-order FV stabilization is constructed similarly:
# ````julia
# volume_integral = VolumeIntegralShockCapturingRRG(basis, indicator_sc;
# volume_flux_dg=flux_central,
# volume_flux_fv=flux_lax_friedrichs,
# slope_limiter=minmod)
# ````
# In addition to the parameters of the HG method, the DG `basis` **must** be supplied here.
# The `slope_limiter` keyword argument is optional and defaults to `minmod`.
# A list of supported slope limiters can be found in the reference of [`VolumeIntegralShockCapturingRRG`](@ref).

# We now focus on a choice of the shock capturing indicator `indicator_sc`, which can be used for both
# the first-order and the second-order FV stabilization.
# We now focus on a choice of the shock capturing indicator `indicator_sc`.
# A possible indicator is $\alpha_{HG}$ presented by Hennemann et al. (p.10), which depends on the
# current approximation with modal coefficients $\{m_j\}_{j=0}^N$ of a given `variable`.

Expand Down Expand Up @@ -268,9 +255,9 @@ plot(sol)
# The default value for the corresponding parameter $c=$ `exp_entropy_decrease_max` is set to $-10^{-13}$, i.e., slightly less than zero to
# avoid spurious limiter actions for cells in which the entropy remains effectively constant.
# Other values can be specified by setting the `exp_entropy_decrease_max` keyword in the constructor of the limiter:
# ````julia
# ```julia
# stage_limiter! = EntropyBoundedLimiter(exp_entropy_decrease_max=-1e-9)
# ````
# ```
# Smaller values (larger in absolute value) for `exp_entropy_decrease_max` relax the entropy increase requirement and are thus less diffusive.
# On the other hand, for larger values (smaller in absolute value) of `exp_entropy_decrease_max` the limiter acts more often and the solution becomes more diffusive.
#
Expand Down
8 changes: 4 additions & 4 deletions docs/literate/src/files/structured_mesh_mapping.jl
Original file line number Diff line number Diff line change
Expand Up @@ -186,13 +186,13 @@ plot!(getmesh(pd))
# Moreover, the plot shows the mesh structure resulting from our transformation mapping.

# Of course, you can also use other mappings as for instance shifts by $(x, y)$
# ````julia
# ```julia
# mapping(xi, eta) = SVector(xi + x, eta + y)
# ````
# ```
# or rotations with a rotation matrix $T$
# ````julia
# ```julia
# mapping(xi, eta) = T * SVector(xi, eta).
# ````
# ```

# For more curved mesh mappings, please have a look at some
# [elixirs for `StructuredMesh`](https://github.com/trixi-framework/Trixi.jl/tree/main/examples).
Expand Down
Loading
Loading