← Octo-TIGER / All test problemsCoupled radiation hydrodynamics

Radiating blast wave

A spherical energy release drives a shock and radiation precursor into a radial atmosphere, evolved on a Cartesian mesh.

The experiment

Physical setup

The blast problem evolves an initially localized energy deposition with coupled gas and radiation. Its useful diagnostics include shock position, gas and radiation temperatures, density, and outward radiation flux.

Ensman's original problem is a spherical shell from 1012 to 1013 cm with ρ(r) = 10−6(r/1012 cm)−7 g/cm³. The shell is initially in radiative equilibrium with luminosity 1034 erg/s. An energy of 1047 erg is deposited in the innermost zone, followed by zero inner luminosity and velocity. The opacity uses the electron-scattering coefficient as pure absorption. This stratified spherical setup is distinct from a uniform-medium Cartesian thermal bomb.

Spherical blast on a Cartesian mesh. The initial density, gas and radiation temperatures, radiation flux, and Gaussian energy deposition depend only on radius. The computational box spans ±1013 cm and contains a filled core of radius R0 = 1012 cm. Density is 10−6[max(r,R0)/R0]−7 g/cm³. The 1047 erg gas-energy deposition is a Gaussian of width R0. Exact error-function cell integrals and finite-box normalization preserve its total at every uniform-grid resolution. The initial radiation field uses an LTE diffusion envelope based on luminosity 1034 erg/s and outer E = L/(4πcRout²), with a regularized core. A streaming floor E ≥ (1 + 10−12)|F|/c keeps the approximate atmosphere realizable while preserving its radial flux. The central luminosity is removed when evolution starts. The default duration is 22000 s.

The filled core, Gaussian deposition width, Cartesian grid, M1 closure, streaming floor, and approximate LTE diffusion initialization are deliberate adaptations. They differ from the original hollow shell, innermost Lagrangian-zone deposition, and radiation-transfer relaxation.

These cases enable gas dynamics and radiation coupling on a Cartesian grid; gravity is disabled. Uniform runs are the default; adaptive runs are identified in their recorded setup. Each completed run records its actual configuration, time, units, and executable hash below. The configured finest equivalent cells per side are N = INX × 2level.

The comparison

Comparison and interpretation

No analytic radiative blast profile is supplied. Ensman (1994), Figures 17–22, follows the original numerical solution from energy deposition through radiative breakout and later shell formation.

What the Sedov–Taylor limit can tell us

For an energy-conserving point explosion into a cold, uniform medium with negligible radiative losses, the spherical similarity solution gives

Rshock(t) = ξ(γ) [E0t²/ρ0]1/5,   vshock = 2Rshock/(5t)

This is a useful separate adiabatic benchmark. It is not an analytic solution of the present radiating blast: the finite Gaussian deposition, filled core, steep r−7 envelope, initial radiation field, and escaping luminosity introduce different scales and energy transport. Substituting the envelope exponent into a simple power-law Sedov formula does not provide a valid reference for this truncated atmosphere. Quantitative validation here requires conservation and resolution studies plus an independent radiation-hydrodynamics solution with the same setup.

What this test measures

Track the shock and radiation precursor separately, together with energy exchange and boundary losses. In Ensman's original calculation the precursor breaks out near 5800 s and the luminosity peaks near 9600 s. These times depend on that paper's shell and boundary conditions; they are not pass/fail thresholds for an adapted setup.

Measured results

All resolutions

LevelGridBatch status
232³Ready

These are numerical solutions without a supplied analytic reference. No error norms or convergence orders are inferred from the profiles. Short runs used for implementation checks do not establish the published late-time shock or blast structure.

32³ cells · actual final time 2.200000e+04 s

Central cell layer at z=dx/2; ray at y=z=dx/2.

Numerical Cartesian adaptation. No independent reference profile or quantitative agreement with the original spherical benchmark is established.

M1 RK1 (Euler). Physical-light-speed radiation equations (alpha = 1); c = 29979245800 cm/s.

Recorded setup and run provenance
OriginOcto-TIGER application
DomainCube of side 2.000000e+13 cm; centered at the origin
Resolution32³ cells; finest Δx = 6.250000e+11 cm
Final comparison time2.200000e+04 s
Radiation modelM1
Radiation integrationM1 RK1 (first order in time)
Flux semanticsEvolved M1 flux moment
Radiation backendcpu
Physical light speed2.997925e+10 cm/s
Reduced-speed factor α1.000000e+00
Radiation transport speed2.997925e+10 cm/s
Periodic boundariesoff
Hydrodynamicson
Gravityoff
Implicit radiation sourceon
Uniform gridon
CFL0.4
Timestep cap36.666666666666671 s
Output interval183.33333333333334 s
{
  "background": 0.0,
  "benchmark_time": 22000.0,
  "c": 29979245800.0,
  "case": "radiating_blast",
  "cells": 32,
  "command": [
    "/ddnB/work/dmarce1/octotiger-m1-fld-20261014/campaign/control/launch-solver",
    "/ddnB/work/dmarce1/octotiger-m1-fld-20261014/build/octotiger",
    "--config_file=/ddnB/work/dmarce1/octotiger-m1-fld-20261014/campaign/runs/l2-radiating_blast-m1/radiating_blast/l2/run.ini",
    "--hpx:threads=64"
  ],
  "comparison_signature": {
    "atomic_mass": "1",
    "atomic_number": "1",
    "cfl": "0.4",
    "code_to_cm": "1",
    "code_to_g": "1",
    "code_to_s": "1",
    "correct_am_hydro": "off",
    "disable_analytic": "on",
    "disable_diagnostics": "on",
    "eos": "IDEAL",
    "gravity": "off",
    "hard_dt": "36.666666666666671",
    "hydro": "on",
    "hydro_device_kernel_type": "OFF",
    "hydro_host_kernel_type": "LEGACY",
    "inflow_bc": "off",
    "monopole_device_kernel_type": "OFF",
    "multipole_device_kernel_type": "OFF",
    "n_species": "1",
    "omega": "0",
    "periodic": "off",
    "problem": "RADIATION_BLAST_WAVE",
    "rad_implicit": "on",
    "radiation": "on",
    "radiation_algorithm_version": 1,
    "radiation_integrator": "euler",
    "radiation_model": "m1",
    "radiation_reduced_c_factor": "1",
    "reflect_bc": "off",
    "stop_time": "22000",
    "unigrid": "on",
    "xscale": "10000000000000"
  },
  "config": {
    "atomic_mass": "1",
    "atomic_number": "1",
    "cfl": "0.4",
    "code_to_cm": "1",
    "code_to_g": "1",
    "code_to_s": "1",
    "correct_am_hydro": "off",
    "datadir": "/ddnB/work/dmarce1/octotiger-m1-fld-20261014/campaign/runs/l2-radiating_blast-m1/radiating_blast/l2/",
    "disable_analytic": "on",
    "disable_diagnostics": "on",
    "disable_output": "off",
    "eos": "IDEAL",
    "gravity": "off",
    "hard_dt": "36.666666666666671",
    "hydro": "on",
    "hydro_device_kernel_type": "OFF",
    "hydro_host_kernel_type": "LEGACY",
    "inflow_bc": "off",
    "max_level": "2",
    "min_level": "2",
    "monopole_device_kernel_type": "OFF",
    "multipole_device_kernel_type": "OFF",
    "n_species": "1",
    "odt": "183.33333333333334",
    "omega": "0",
    "periodic": "off",
    "problem": "RADIATION_BLAST_WAVE",
    "rad_implicit": "on",
    "radiation": "on",
    "radiation_backend": "cpu",
    "radiation_integrator": "euler",
    "radiation_model": "m1",
    "radiation_reduced_c_factor": "1",
    "reflect_bc": "off",
    "stop_time": "22000",
    "unigrid": "on",
    "xscale": "10000000000000"
  },
  "conservation": [
    {
      "boundary": 5.567913976933654e+46,
      "boundary_fraction": 1042084.776494971,
      "field": "er",
      "final": 2.121532144599434e+45,
      "final_fraction": 39706.366870799466,
      "history_end_time": 22000.0,
      "history_scope": "full_run",
      "history_start_time": 0.0,
      "initial": 5.343052794285326e+40,
      "initial_fraction": 1.0,
      "integral_units": "erg",
      "max_abs_residual": 6.084722881095501e+31,
      "max_normalized_error": 1.1388101737649738e-09,
      "normalization_basis": "abs(initial_energy)",
      "normalization_scale": 5.343052794285326e+40,
      "normalization_time": 0.0,
      "normalized_error": 9.490084781374782e-10,
      "normalized_residual": -9.490084781374782e-10,
      "raw_change": 2.121478714071491e+45,
      "residual": -5.070602400912918e+31,
      "source": 5.780061848340808e+46,
      "source_fraction": 1081790.1433657713,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    },
    {
      "boundary": -1.0579061072131471e+39,
      "boundary_fraction": -6.60445455142378e-13,
      "field": "fx",
      "final": -1.0964573276167996e+38,
      "final_fraction": -6.845127878973201e-14,
      "history_end_time": 22000.0,
      "history_scope": "full_run",
      "history_start_time": 0.0,
      "initial": -4.147099131606024e+28,
      "initial_fraction": -2.5890131031659318e-23,
      "integral_units": "erg cm/s",
      "max_abs_residual": 6.704868464961969e+39,
      "max_normalized_error": 4.185815617112597e-12,
      "normalization_basis": "c * abs(initial_energy)",
      "normalization_scale": 1.6018069304225663e+51,
      "normalization_time": 0.0,
      "normalized_error": 1.4219087997780002e-12,
      "normalized_residual": -1.4219087997780002e-12,
      "raw_change": -1.0964573272020896e+38,
      "residual": -2.277623369913234e+39,
      "source": 1.1100715299798779e+39,
      "source_fraction": 6.930120658717804e-13,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    },
    {
      "boundary": -7.458242195547947e+40,
      "boundary_fraction": -4.656143043144668e-11,
      "field": "fy",
      "final": 9.377288126513899e+37,
      "final_fraction": 5.854193753575604e-14,
      "history_end_time": 22000.0,
      "history_scope": "full_run",
      "history_start_time": 0.0,
      "initial": -1.1636636369282575e+29,
      "initial_fraction": -7.264693483510375e-23,
      "integral_units": "erg cm/s",
      "max_abs_residual": 6.734554289763906e+39,
      "max_normalized_error": 4.204348328039316e-12,
      "normalization_basis": "c * abs(initial_energy)",
      "normalization_scale": 1.6018069304225663e+51,
      "normalization_time": 0.0,
      "normalized_error": 2.0885013750166634e-12,
      "normalized_residual": -2.0885013750166634e-12,
      "raw_change": 9.377288138150535e+37,
      "residual": -3.345375976698751e+39,
      "source": -7.114327309739921e+40,
      "source_fraction": -4.441438711882161e-11,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    },
    {
      "boundary": -7.360434758375758e+40,
      "boundary_fraction": -4.5950823526740714e-11,
      "field": "fz",
      "final": 2.385237330873729e+38,
      "final_fraction": 1.4890916536642085e-13,
      "history_end_time": 22000.0,
      "history_scope": "full_run",
      "history_start_time": 0.0,
      "initial": -1.7454954553923862e+29,
      "initial_fraction": -1.0897040225265563e-22,
      "integral_units": "erg cm/s",
      "max_abs_residual": 1.0743891807692217e+40,
      "max_normalized_error": 6.7073575495505655e-12,
      "normalization_basis": "c * abs(initial_energy)",
      "normalization_scale": 1.6018069304225663e+51,
      "normalization_time": 0.0,
      "normalized_error": 6.614526762886724e-12,
      "normalized_residual": 6.614526762886724e-12,
      "raw_change": 2.3852373326192246e+38,
      "residual": 1.0595194810257497e+40,
      "source": -8.396101866075316e+40,
      "source_fraction": -5.241644112415205e-11,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    }
  ],
  "dx": 625000000000.0,
  "executable_sha256": "ca38f12e338eed0b7074dbb15c70c089a8d31d1c12aa87f5b044c42824721f0b",
  "inx": 8,
  "length": 20000000000000.0,
  "level": 2,
  "movie_capture": {
    "hard_dt": 36.66666666666667,
    "odt": 183.33333333333334,
    "requested_snapshots": 121,
    "steps_per_output_check": 5
  },
  "origin": "Octo-TIGER application",
  "physical_c": 29979245800.0,
  "radiation_algorithm_version": 1,
  "radiation_backend": "cpu",
  "radiation_equations": "physical-c",
  "radiation_flux_semantics": "evolved_m1_flux",
  "radiation_integrator": "euler",
  "radiation_model": "m1",
  "radiation_reduced_c_factor": 1.0,
  "reference_kind": "numerical-only",
  "status": "complete",
  "time": 22000.0,
  "transport_c": 29979245800.0,
  "units": {
    "chi": "1/cm",
    "energy_density": "erg/cm^3",
    "flux": "erg/(cm^2 s)",
    "length": "cm",
    "luminosity": "erg/s",
    "mass": "g",
    "source": "erg/(cm^3 s)",
    "system": "CGS",
    "time": "s"
  },
  "validation_scope": "Numerical Cartesian adaptation. No independent reference profile or quantitative agreement with the original spherical benchmark is established."
}
Numerical gas temperature, radiation temperature, and density. Central cell layer at z=dx/2; ray at y=z=dx/2.
Numerical gas temperature, radiation temperature, and density. Central cell layer at z=dx/2; ray at y=z=dx/2. · PDF
Numerical profiles; no reference curves are supplied. Central cell layer at z=dx/2; ray at y=z=dx/2.
Numerical profiles; no reference curves are supplied. Central cell layer at z=dx/2; ray at y=z=dx/2. · PDF

Saved-state movie

Radiating Blast · L2 · M1 RK1

121 stored states; 121 shown. Physical time: 0–22000 s. Playback: 60 s.

Zero-order hold; no solution interpolation. Playback holds each saved numerical state over its time interval and includes endpoint holds.

All 121 snapshot times

Snapshot times: 0, 183.333333, 366.666667, 550, 916.666667, 1100, 1283.33333, 1466.66667, 1650, 1833.33333, 2016.66667, 2200, 2383.33333, 2566.66667, 2750, 2933.33333, 3116.66667, 3300, 3483.33333, 3666.66667, 3850, 4033.33333, 4216.66667, 4400, 4583.33333, 4766.66667, 4950, 5133.33333, 5316.66667, 5500, 5683.33333, 5866.66667, 6050, 6233.33333, 6416.66667, 6600, 6783.33333, 6966.66667, 7150, 7333.33333, 7516.66667, 7700, 7883.33333, 8066.66667, 8250, 8433.33333, 8616.66667, 8800, 8983.33333, 9166.66667, 9350, 9533.33333, 9716.66667, 9900, 10083.3333, 10266.6667, 10450, 10633.3333, 10816.6667, 11000, 11183.3333, 11366.6667, 11550, 11733.3333, 11916.6667, 12100, 12283.3333, 12466.6667, 12650, 12833.3333, 13016.6667, 13200, 13383.3333, 13566.6667, 13750, 13933.3333, 14116.6667, 14300, 14483.3333, 14666.6667, 14850, 15033.3333, 15216.6667, 15400, 15583.3333, 15766.6667, 15950, 16133.3333, 16316.6667, 16500, 16683.3333, 16866.6667, 17050, 17233.3333, 17416.6667, 17600, 17783.3333, 17966.6667, 18150, 18333.3333, 18516.6667, 18700, 18883.3333, 19066.6667, 19250, 19433.3333, 19616.6667, 19800, 19983.3333, 20166.6667, 20350, 20533.3333, 20716.6667, 20900, 21083.3333, 21266.6667, 21450, 21633.3333, 21816.6667, 21890, 22000 s.

Arrows show the independently evolved M1 radiation flux. Arrows have equal length and show direction only.

Movies show saved numerical states; no applicable analytic reference is recorded.

Central z=0+ radiation energy slice with faint cell mesh and equal-length flux direction arrows. Arrows show the independently evolved M1 radiation flux. Gray density contours and a matching density/velocity panel. Fixed color limits; actual stored Silo times held without solution interpolation. Movies show saved numerical states; no applicable analytic reference is recorded. The maps show the full simulation domain without cropping. One intermediate movie sample is supplied by a verified two-step continuation of a saved final-interval checkpoint. The original 22,000 s final state and full-run conservation ledgers remain authoritative.

Download MP4 · Rendering and timing metadata · Full run report

All campaign movies

Data and reproducibility

Reading the numerical profiles

Gas and radiation temperatures are distinct diagnostics; the radiation temperature is defined by E = arTr4. The central ray lies at y = z = Δx/2 and is offset from the exact origin by half a cell in each transverse direction. The two-dimensional plane is z = Δx/2.

Check positivity, the recorded-frame radiation flux envelope, conservation with the appropriate boundary budget, thermal equilibration, shock speed and precursor structure, and sensitivity to resolution and timestep. A finite, positive short run is an implementation check, not evidence that a subcritical or supercritical state has developed. Comparisons to published figures also require matching geometry, opacities, boundaries, and physical time.

Sources & provenance

Where this problem comes from

Ensman (1994), ApJ 424, 275, §5.3, pp. 286–290, Figures 17–22; original paper PDF. Published profiles are numerical evidence, not an analytic reference. The local runs retain their actual numerical parameters and elapsed physical time.

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.