Hydrodynamics
Aether.Hydro.HydroState — Type
struct HydroState{A5}HydroState(mesh, eos, stepper)
HydroState(mesh, eos)Hydrodynamic conserved, primitive, and face-flux arrays on every mesh block. The element type follows the mesh, and the two conserved registers support the low-storage SSP-RK schemes.
u0::Any: conserved variables(ρ, ρv1, ρv2, ρv3, E), layout(i, j, k, v, m)u1::Any: second conserved register for the SSP-RK stage combinationsw0::Any: primitive variables(ρ, v1, v2, v3, e); reconstruction reads thisF1::Any: x1 face fluxes, one cell longer in x1F2::Any: x2 face fluxes, one cell longer in x2F3::Any: x3 face fluxes, one cell longer in x3
using Aether
mesh = Mesh(CPU(); size = (8, 8, 8), extent = (1, 1, 1), cells_per_block = (4, 8, 8))
eos = IdealHydro(5/3, 1e-12, 1e-10)
HydroState(mesh, eos)
# output
HydroState{Float64}(8 × 12 × 12 cells, 5 variables, 2 blocks)Aether.Hydro.RiemannSolvers.Rusanov — Type
struct Rusanov <: Aether.Hydro.RiemannSolvers.RiemannSolverRusanov()The Rusanov (local Lax–Friedrichs) solver — maximally diffusive, for debugging.
Aether.Hydro.RiemannSolvers.HLLE — Type
struct HLLE <: Aether.Hydro.RiemannSolvers.RiemannSolverHLLE()The HLL solver with Davis wavespeed bounds (Einfeldt 1988; Toro §10.3).
Aether.Hydro.RiemannSolvers.HLLC — Type
struct HLLC <: Aether.Hydro.RiemannSolvers.RiemannSolverHLLC()The HLL solver with the contact wave restored (Toro §10.4; Batten et al. 1997). Resolves isolated contact discontinuities exactly. Defined for IdealHydro only; the missing isothermal method is deliberate.
Aether.Hydro.RiemannSolvers.LHLLC — Type
struct LHLLC <: Aether.Hydro.RiemannSolvers.RiemannSolverLHLLC()The low-dissipation HLLC solver (Minoshima & Miyoshi 2021, §4): HLLC with a carbuncle-cure factor θ on the contact-speed pressure jump and a Mach-number-scaled low-dissipation factor φ on the contact pressure. More robust against the numerical shock instability at strong grid-aligned shocks, and less dissipative for nearly incompressible flow, at negligible extra cost. Reduces to HLLC when θ = φ = 1 (ordinary or supersonic shocks); its riemann_flux methods take the two extra velocity-difference arguments (dvn, dvt) the flux kernel samples for θ. Defined for IdealHydro only, inheriting HLLC's deliberate isothermal gap.