Figures and videos

Figures appear beside their feature explanations in Equations and materials, Sources and boundaries and DG discretization. When a matching video is available, it replaces the figure. Use the player controls to play, pause or seek.

Reproducing the visuals

Each scenario owns its settings and layout in utils/visualize/, with the same filename as its simulation elixir. Videos use GLMakie, 241 frames at 30 fps, fixed color scales and left-aligned updating titles. Still figures use CairoMakie and can show several snapshot times.

From the repository root:

julia --project=utils/visualize -e 'using Pkg; Pkg.instantiate()'
julia --threads=1 --project=utils/visualize utils/visualize/make_all.jl --video

Omit --video for all still figures, or run an individual script from this table. PNGs go to docs/figures/, MP4s to docs/videos/.

ScenarioScript under utils/visualize/
Cavityelixir_maxwell_3d_cavity.jl
Fresnelelixir_maxwell_3d_fresnel.jl
TF/SFelixir_maxwell_3d_tfsf.jl
Dipoleelixir_maxwell_3d_dipole.jl
PMLelixir_maxwell_3d_pml.jl
Dielectric sphereelixir_maxwell_3d_dielectric_sphere.jl
PEC sphereelixir_maxwell_3d_pec_sphere.jl
Periodic waveelixir_maxwell_3d_periodic.jl
Dielectric TF/SF scatteringelixir_maxwell_3d_mie.jl
Adaptive dipolep4est_3d_dgsem/elixir_maxwell_3d_dipole.jl

Building and publishing explains local documentation builds and CI rendering.

Full 3D adaptive mesh in ParaView

The GLMakie dipole slice has an analytical probe comparison. For inspection of refinement throughout the three-dimensional volume, use utils/paraview/dipole_p4est.py after the README's HDF5-to-VTK conversion. Its clipped mesh can be rotated and animated interactively; this is the scenario where ParaView adds information beyond the native slice videos.