← Octo-TIGER / All test problemsExact transport

Streaming front

Unsupported by the stationary FLD backend. A sharp, bright half-domain crosses a nearly dark background. Exact cell averages track both moving edges through the periodic box.

The experiment

Physical setup

A periodic cube contains a one-dimensional square wave along x. Initially, the half with −L/2 ≤ x < 0 has energy density Ehi = 1; the other half has Elo = 10−10. The physical flux is (cE, 0, 0). The profile is uniform in y and z, and translates in the positive x direction at speed c.

The bright and dark levels are constants in the profile. Periodicity supplies both a rising and a falling edge. There is no emission, absorption, or flux damping in the transport test.

The standard runner uses a uniform cubic grid with hydrodynamics and gravity disabled. Its CGS box spans −3 × 10¹⁰ to +3 × 10¹⁰ cm on each axis, with c = 2.99792458 × 10¹⁰ cm/s and default final time 4 s. Opt-in adaptive runs are identified below; N = INX × 2level then describes their configured finest equivalent resolution. Each completed run below lists its recorded parameters.

The comparison

Comparison and interpretation

This problem is available for M1 RK1 only in the current runner. No FLD result is claimed.

The discontinuous wave is an exact nonlinear M1 free-streaming solution. The comparison integrates the translated top-hat over each cell, so a cell crossed by a front receives the appropriate bright fraction instead of a point sample.

a = x − ct − Δx/2,   b = a + Δx
f = [I(b) − I(a)] / Δx
Ē = Elo + (Ehi − Elo) f,   F̄ = (cĒ, 0, 0)

The periodic primitive is I(s) = kL/2 + min(r, L/2), where k = floor[(s + L/2)/L] and r = s + L/2 − kL. This handles any number of box crossings. The implementation clamps the computed fraction to [0, 1] to remove roundoff excursions.

What this test measures

The useful diagnostics are front width, overshoot or undershoot, transport speed, and integrated conservation. Discontinuities reduce convergence order, so a second-order guide on a plot is a comparison slope rather than a pass criterion. The transverse fluxes should remain zero. Exactly zero errors have no logarithmic convergence order and are reported with a dash.

Measured results

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.

Unsupported by the stationary FLD backend; no FLD run is planned for this problem.

Reading the results

Errors, budgets, and movies

Every norm uses the full three-dimensional domain, with cell-volume weighting. Here e = numerical − reference and V is the domain volume:

L1 = Σ |e| ΔV / V,   L2 = √(Σ e² ΔV / V),   L∞ = max |e|
p = ln(errorcoarse / errorfine) / ln(Δxcoarse / Δxfine)

Orders require two completed runs with matching physical time, configuration, units, executable, and origin. An exact zero error has no logarithmic order. The central slice and line profiles are visual diagnostics: the report slice is the cell layer at z = Δx/2, and its line profile is at y = z = Δx/2.

Conservation is assessed using the measured domain integrals and the signed cumulative boundary and source budgets:

A labeled checkpoint continuation uses its checkpoint as t_ref, with counters and fixed normalization starting there. Its reported residuals cover that resumed segment only; original histories remain separate.

R(t) = Q(t) − Q(0) + B(t) − S(t)

B is outward transport and S is the source change. Conservation plots and this page's budget tables show fractions of the initial totals: Q(t)/D, [Q(0) − B(t) + S(t)]/D, and the signed residual R(t)/D. The denominator D = |Q(0)| is fixed for the entire history. It never grows with the current total or accumulated transport/source budgets. A negative initial flux therefore starts at −1, and the plotted fraction retains its sign.

A component whose initial net flux is zero or negligible cannot be divided by its own initial total. It instead uses the fixed scale D = c |E₀|, where E₀ is the initial integrated radiation energy. This fallback is labeled on its panels and in the table. “Negligible” means |Q(0)|/(c |E₀|) ≤ 64ε ≈ 1.421085 × 10−14, with ε the double-precision machine epsilon. This prevents roundoff left by cancellation in a symmetric field from becoming the denominator. For the initially cold Marshak case, the prescribed bath sets D = Ebath V for energy and D = c Ebath V for flux, with Ebath = 4/c. These scales remain fixed even though radiation enters the initially empty domain.

Raw histories and dimensional summary columns remain in physical units: energy integrals in erg, physical-flux integrals in erg cm/s for CGS runs. Dividing a flux integral by c² gives radiation momentum. Fraction-history CSV files are dimensionless except for their time column; summary files record each denominator and its basis. Maximum fractional residuals use the same fixed denominator as the final residual.

For runs labeled RSLA, these budgets check the modified radiation equations. They do not establish conservation of physical gas-plus-radiation energy. With reduced-speed factor α, the closed-system coupled invariants are Egas + Er/α and gas momentum + F/(αc²), with physical c in the closure. Compare multiple α values before interpreting an RSLA result as an approximation to physical-c evolution.

Movies show the numerical Silo states with a fixed color range for each movie. Recorded states are held for their actual simulation-time gaps; intermediate solutions are not interpolated. The 3D option shows the domain's exterior surface. Movies and plots retain their recorded physical units.

Sources & provenance

Where this problem comes from

The suite constructs this periodic half-filled square wave directly in streamingFront and frontIntegral in octotiger/test_problems/radiation/profiles.hpp. It is an exact-advection verification problem; the available source does not attribute this particular setup to a published benchmark.

Radiation method context

M1 RK1 evolves radiation energy and flux moments with the retained first-order radiation update. FLD evolves radiation energy and stationary material thermal energy with a coupled backward-Euler solve; its flux F = −D∇E is reconstructed from energy with the Levermore–Pomraning limiter. The scalar implicit transport solve uses composite-grid multigrid and an iterative linear solver. Both time integrators are first order.

The FLD runner currently supports the stationary Gaussian scattering pulse and Marshak heating test on the CPU at physical light speed. Streaming wave/front, equilibrium sphere, and moving radiation hydrodynamics are unsupported for FLD. Flux diagnostics in FLD are not independently evolved M1 moments and 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.