Hydrodynamics

Aether.Hydro.HydroStateType
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 combinations

  • w0::Any: primitive variables (ρ, v1, v2, v3, e); reconstruction reads this

  • F1::Any: x1 face fluxes, one cell longer in x1

  • F2::Any: x2 face fluxes, one cell longer in x2

  • F3::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)
source
Aether.Hydro.RiemannSolvers.HLLCType
struct HLLC <: Aether.Hydro.RiemannSolvers.RiemannSolver
HLLC()

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.

source
Aether.Hydro.RiemannSolvers.LHLLCType
struct LHLLC <: Aether.Hydro.RiemannSolvers.RiemannSolver
LHLLC()

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.

source