Physical setup
The cube spans −1 to +1 in normalized units, with c = 1, Planck and Rosseland extinction 100, and equal radiation/material energy capacities. Initially E = 0 and material energy is 10−20. The material density and velocity remain fixed while its thermal energy evolves.
The left boundary supplies an incoming hemisphere flux of 1 through the FLD Robin condition cE/2 + D ∂E/∂n = 2. The right boundary is vacuum, cE/2 + D ∂E/∂n = 0; transverse faces reflect. M1 uses a moment boundary construction, so the two discrete boundary operators are not identical.
This case uses normalized units with c = 1, opacity 100, and equal material/radiation energy capacities. Hydrodynamics and gravity are disabled. The default cube spans −1 to +1, and the default final time is 1. Adaptive runs retain their actual leaf spacing in exported data.
Comparison and interpretation
Analytic diffusion-limit reference; not an exact solution of nonlinear FLD. The Su–Olson solution supplies radiation energy, material energy, and the flux derived from its energy gradient for a semi-infinite linear diffusion problem:
ξ = √3χ(x+1), τ = χt, Eref = 4u(ξ,τ), eref = 4v(ξ,τ)
Fx,ref = −(4/√3)∂u/∂ξ, Fy,ref = Fz,ref = 0
Here c = 1, χ = 100, and the equal-capacity parameter is ε = 1. The left Marshak condition is u − (2/√3)∂u/∂ξ = 1. Integral representations evaluate the analytic solution numerically. Exported reference values are sampled at cell centers; numerical fields are cell averages, adding a sampling difference.
The FLD calculation instead has a nonlinear flux limiter and a finite domain with a vacuum boundary on the right. These differences matter near the early front and when radiation reaches that boundary. Slice discrepancy norms therefore combine model, boundary, quadrature, sampling, and discretization differences; they are not an exact-FLD convergence test.
What this test measures
Inspect radiation and material heating, penetration depth, nonnegative energies, the derived flux bound, and energy change after accounting for boundary transport and material exchange. Finite-domain and limiter effects matter when interpreting model differences. Short paired runs exercise the implementation and reporting pipeline; they do not establish late-time benchmark accuracy.
All resolutions
No completed run is available for this problem in this batch. Its description is available above; results will appear here as runs finish.
Momentum plots are omitted for this fixed-material problem. The prescribed medium acts as an external momentum reservoir, so radiation momentum exchange does not imply that a compensating gas momentum was evolved.
Reading FLD diagnostics
Gaussian, sphere, and Marshak profiles include analytic linear diffusion-limit references; Marshak also includes material energy. Those references omit the nonlinear limiter, and Marshak assumes a semi-infinite domain. Slice discrepancies combine these model differences with discretization and reference-evaluation errors. Thin positive-opacity wave/front cases instead have numerical-only profiles and exact periodic energy-integral checks. Numerical flux is derived as F = −D∇E and satisfies |F| ≤ cE; it is not an evolved M1 momentum variable.
The radiation energy ledger checks R = E(t) − E(t_ref) + B − S, with outward boundary energy B and radiation sources S, including material exchange and any prescribed emitter. Its fixed normalization is initial radiation energy, or bath energy times domain volume for cold Marshak heating. Coupled gas-plus-radiation errors per accepted implicit step are recorded separately in the solver diagnostics.
Nonlinear residuals, substeps, and retries are measured solver diagnostics. The short pilot checks the implementation and reporting pipeline; comparison of models is distinct from an accuracy benchmark or speedup at matched error.
Where this problem comes from
Su & Olson (1996), “Benchmark results for the non-equilibrium Marshak diffusion problem,” JQSRT 56, 337–351, gives the nonequilibrium diffusion benchmark. The local reference is implemented in src/test_problems/marshak/marshak.cpp; the run records source hashes for reproducibility.
Levermore & Pomraning (1981), “A flux-limited diffusion theory,” ApJ 248, 321–334, derives flux-limited diffusion and its classical diffusion limit. Saved reference metadata records whether an analytic profile is supplied and distinguishes its equations from the nonlinear limiter evolved by this solver.
Radiation method context
M1 RK1 evolves radiation energy and flux moments with the retained first-order radiation update. FLD uses backward-Euler radiation diffusion/material exchange with the Levermore–Pomraning limiter. Moving cases add first-order conservative gas transport and radiation force/work; their reconstructed lab-frame flux includes (E I+P) v as well as −D∇E. The scalar implicit transport solve uses composite-grid multigrid and an iterative linear solver. Both time integrators are first order.
The suite includes Gaussian scattering, Marshak heating, a Gaussian emitter, explicit thin positive-opacity wave/front comparisons, and moving-gas shock/blast problems on CPU at physical light speed. A configured case does not establish that a solve converged; only validated completed runs appear as results. Flux diagnostics in FLD have no separate M1 momentum conservation test. A difference between paired M1 and FLD solutions is a model comparison, not an analytic error. ADER2 has been removed from the current solver; historical result files retain their original provenance.
Skinner & Ostriker (2013) and Hanawa & Audit (2014) provide context for the M1 equations. The implementation and saved executable/source hashes identify the actual numerical methods used in this batch.
Reproducing this batch
Descriptions document the reviewed source implementation. Older or edited solver versions can use different profile constants or averaging rules; these are not all encoded in run.ini. Use the run metadata, executable hash, and saved batch source hashes to identify the implementation behind a result. A source path or descriptive formula alone is not proof of the executable's contents.