← Octo-TIGER / All test problemsTelegraph equation

Gaussian pulse

A small Gaussian perturbation evolves in a fixed scattering medium. A Fourier solution of the telegraph equation supplies the reference.

The experiment

Physical setup

The initial state is a smooth Gaussian energy excess of amplitude A and width w over a uniform background Ebg, with zero flux. The Gaussian is periodized on the three-dimensional cube. A prescribed, stationary scattering medium damps flux at rate cχ, while there is no energy source. Gas motion, recoil, and heating are absent from this radiation-only setup.

E(x, 0) = Ebg + A ∑j∈ℤ³ exp[−|x + Lj|² / w²],   F(x, 0) = 0

The standard CGS templates give Ebg = 1 erg/cm³, A = 0.01 erg/cm³, w = 6 × 10⁹ cm, and χ = 1.6666666667 × 10−10 cm−1. The saved settings below take precedence for a particular run.

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. A level has N = INX × 2level cells per side. Each completed run below lists its recorded parameters; template defaults are not substituted for missing metadata.

The comparison

How the reference is computed

The reference solves the telegraph equation. Linearizing the moment equations about an isotropic radiation background gives P = EI/3 and

∂tE + ∇ · F = 0
∂tF + (c²/3) ∇E = −cχ F
∂t²E + cχ ∂tE = (c²/3) ∇²E

For each periodic Fourier wavevector k = 2πj/L, the generator solves the damped oscillator analytically. Define α = cχ/2, λ² = α² − c²|k|²/3, and the mode propagators

Bk(t) = e−αt sinh(λt)/λ
Ak(t) = e−αt cosh(λt) + α Bk(t)
δÊ(k, t) = Ak(t) δÊ(k, 0)
F̂(k, t) = −i(c²/3) k Bk(t) δÊ(k, 0)

Negative λ² uses the equivalent real sine/cosine expressions; λ = 0 uses B = te−αt. The zero mode keeps the mean energy constant. Stable exponential expressions in telegraphMode avoid cancellation and overflow. Flux relaxation and propagation speed c/√3 are retained.

The C++ generator first forms Gaussian cell averages using error-function integrals, with image shifts −4 through +4 on each axis. It transforms these values with FFTW, removes every Nyquist plane on the even grid so odd spectral derivatives remain real, and evolves each retained mode. Both initial and final arrays use this same filter. The inverse transform is divided by N³ once, and the uniform background is added to the energy. The resulting OTRAD001 binary stores all four physical fields at the two times.

What this test measures

The numerical solver evolves nonlinear M1; the telegraph solution is its small-perturbation, isotropic-pressure reference. At finite amplitude, measured error includes a closure-model difference as well as spatial and temporal discretization. Refinement can therefore reach a model-error floor. Initial spectral truncation also depends on resolution. The fixed-medium source step damps flux by Fn+1 = Fn/(1 + cχΔt), so source integration contributes temporal error.

In the periodic domain total energy should remain constant. Flux damping belongs in the signed source budget when assessing flux-integral conservation.

Measured results

All resolutions

LevelGridBatch status
232³Ready
364³Ready
4128³Waiting
Full-volume convergence for energy and all three flux components
Full-volume convergence for energy and all three flux components · PDF

Full-volume norms and orders

GridFieldNormErrorOrderError units
32³erL12.983871e-07—erg/cm³
32³erL23.652412e-07—erg/cm³
32³erLinf9.418889e-07—erg/cm³
32³fxL11.244727e+03—erg/(cm² s)
32³fxL21.315622e+03—erg/(cm² s)
32³fxLinf2.282908e+03—erg/(cm² s)
32³fyL11.244727e+03—erg/(cm² s)
32³fyL21.315622e+03—erg/(cm² s)
32³fyLinf2.282908e+03—erg/(cm² s)
32³fzL11.244727e+03—erg/(cm² s)
32³fzL21.315622e+03—erg/(cm² s)
32³fzLinf2.282908e+03—erg/(cm² s)
64³erL18.208545e-081.861987e+00erg/cm³
64³erL21.002996e-071.864534e+00erg/cm³
64³erLinf2.674582e-071.816243e+00erg/cm³
64³fxL12.923034e+022.090291e+00erg/(cm² s)
64³fxL23.264411e+022.010850e+00erg/(cm² s)
64³fxLinf6.918154e+021.722414e+00erg/(cm² s)
64³fyL12.923034e+022.090291e+00erg/(cm² s)
64³fyL23.264411e+022.010850e+00erg/(cm² s)
64³fyLinf6.918154e+021.722414e+00erg/(cm² s)
64³fzL12.923034e+022.090291e+00erg/(cm² s)
64³fzL23.264411e+022.010850e+00erg/(cm² s)
64³fzLinf6.918154e+021.722414e+00erg/(cm² s)

32³ cells / level 2

Recorded setup and run provenance
OriginOcto-TIGER application
DomainCube of side 6.000000e+10 cm; centered at the origin
Resolution32³ cells; level 2; Δx = 1.875000e+09 cm
Final comparison time4.000000e+00 s
Light speed2.997925e+10 cm/s
Periodic boundarieson
Hydrodynamicsoff
Gravityoff
Implicit radiation sourceon
Uniform gridon
CFL0.4
Timestep cap0.013333333333333332 s
Output interval0.066666666666666666 s
Background energy density1 erg/cm³
Scattering coefficient χ1.6666666666666666e-10 cm⁻¹
Gaussian width w6000000000 cm
Pulse amplitude A0.01 erg/cm³
{
  "background": 1.0,
  "c": 29979245800.0,
  "case": "gaussian_pulse",
  "cells": 32,
  "command": [
    "/home/dmarce1/octotiger-build/build/octotiger/release/octotiger",
    "--config_file=/home/dmarce1/octotiger-build/radiation_results/results/live-20260918-225231-293735/gaussian_pulse/l2/run.ini",
    "--hpx:threads=32"
  ],
  "comparison_signature": {
    "atomic_mass": "1",
    "atomic_number": "1",
    "cfl": "0.4",
    "code_to_cm": "1",
    "code_to_g": "1",
    "code_to_s": "1",
    "disable_analytic": "off",
    "disable_diagnostics": "on",
    "gravity": "off",
    "hard_dt": "0.013333333333333332",
    "hydro": "off",
    "hydro_device_kernel_type": "OFF",
    "hydro_host_kernel_type": "LEGACY",
    "monopole_device_kernel_type": "OFF",
    "multipole_device_kernel_type": "OFF",
    "n_species": "1",
    "omega": "0",
    "periodic": "on",
    "problem": "RADIATION_GAUSSIAN_PULSE",
    "rad_implicit": "on",
    "rad_test_amplitude": "0.01",
    "rad_test_background": "1",
    "rad_test_chi": "1.6666666666666666e-10",
    "rad_test_luminosity": "2.6981321220000001e+29",
    "rad_test_width": "6000000000",
    "radiation": "on",
    "stop_step": "100000",
    "stop_time": "4",
    "unigrid": "on",
    "xscale": "30000000000"
  },
  "config": {
    "atomic_mass": "1",
    "atomic_number": "1",
    "cfl": "0.4",
    "code_to_cm": "1",
    "code_to_g": "1",
    "code_to_s": "1",
    "datadir": "/home/dmarce1/octotiger-build/radiation_results/results/live-20260918-225231-293735/gaussian_pulse/l2/",
    "disable_analytic": "off",
    "disable_diagnostics": "on",
    "disable_output": "off",
    "gravity": "off",
    "hard_dt": "0.013333333333333332",
    "hydro": "off",
    "hydro_device_kernel_type": "OFF",
    "hydro_host_kernel_type": "LEGACY",
    "max_level": "2",
    "min_level": "2",
    "monopole_device_kernel_type": "OFF",
    "multipole_device_kernel_type": "OFF",
    "n_species": "1",
    "odt": "0.066666666666666666",
    "omega": "0",
    "periodic": "on",
    "problem": "RADIATION_GAUSSIAN_PULSE",
    "rad_implicit": "on",
    "rad_reference": "/home/dmarce1/octotiger-build/radiation_results/results/live-20260918-225231-293735/gaussian_pulse/l2/reference.bin",
    "rad_test_amplitude": "0.01",
    "rad_test_background": "1",
    "rad_test_chi": "1.6666666666666666e-10",
    "rad_test_luminosity": "2.6981321220000001e+29",
    "rad_test_width": "6000000000",
    "radiation": "on",
    "stop_step": "100000",
    "stop_time": "4",
    "unigrid": "on",
    "xscale": "30000000000"
  },
  "conservation": [
    {
      "boundary": 0.0,
      "boundary_fraction": 0.0,
      "field": "er",
      "final": 2.1601202758847313e+32,
      "final_fraction": 0.9999999999999998,
      "initial": 2.1601202758847317e+32,
      "initial_fraction": 1.0,
      "integral_units": "erg",
      "max_abs_residual": 3.602879701896397e+16,
      "max_normalized_error": 1.6679069874573287e-16,
      "normalization_basis": "abs(initial_energy)",
      "normalization_scale": 2.1601202758847317e+32,
      "normalized_error": 1.6679069874573287e-16,
      "normalized_residual": -1.6679069874573287e-16,
      "raw_change": -3.602879701896397e+16,
      "residual": -3.602879701896397e+16,
      "source": 0.0,
      "source_fraction": 0.0,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    },
    {
      "boundary": 0.0,
      "boundary_fraction": 0.0,
      "field": "fx",
      "final": 4.467570830351532e+18,
      "final_fraction": 6.898788175808905e-25,
      "initial": 0.0,
      "initial_fraction": 0.0,
      "integral_units": "erg cm/s",
      "max_abs_residual": 7.210893507367996e+20,
      "max_normalized_error": 1.1135005745780917e-22,
      "normalization_basis": "c * abs(initial_energy)",
      "normalization_scale": 6.475877670831218e+42,
      "normalized_error": 8.97579631752976e-23,
      "normalized_residual": 8.97579631752976e-23,
      "raw_change": 4.467570830351532e+18,
      "residual": 5.8126158950620044e+20,
      "source": -5.767940186758489e+20,
      "source_fraction": -8.906808435771671e-23,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    },
    {
      "boundary": 0.0,
      "boundary_fraction": 0.0,
      "field": "fy",
      "final": -7.205759403792794e+16,
      "final_fraction": -1.1127077702917589e-26,
      "initial": 0.0,
      "initial_fraction": 0.0,
      "integral_units": "erg cm/s",
      "max_abs_residual": 7.479488189144372e+20,
      "max_normalized_error": 1.154976756715717e-22,
      "normalization_basis": "c * abs(initial_energy)",
      "normalization_scale": 6.475877670831218e+42,
      "normalized_error": 3.3607947316949714e-23,
      "normalized_residual": -3.3607947316949714e-23,
      "raw_change": -7.205759403792794e+16,
      "residual": -2.176409555923066e+20,
      "source": 2.1756889799826866e+20,
      "source_fraction": 3.3596820239246797e-23,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    },
    {
      "boundary": 0.0,
      "boundary_fraction": 0.0,
      "field": "fz",
      "final": 2.3851063626554147e+19,
      "final_fraction": 3.683062719665722e-24,
      "initial": 0.0,
      "initial_fraction": 0.0,
      "integral_units": "erg cm/s",
      "max_abs_residual": 1.2784188118231532e+21,
      "max_normalized_error": 1.9741243995102527e-22,
      "normalization_basis": "c * abs(initial_energy)",
      "normalization_scale": 6.475877670831218e+42,
      "normalized_error": 1.4171585250907128e-22,
      "normalized_residual": -1.4171585250907128e-22,
      "raw_change": 2.3851063626554147e+19,
      "residual": -9.177345248663049e+20,
      "source": 9.415855884928591e+20,
      "source_fraction": 1.45398915228737e-22,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    }
  ],
  "dx": 1875000000.0,
  "executable_sha256": "698ae293307532d5aedaf86a49381319eb1a911b3ef40a33cc91e74c2e089de8",
  "inx": 8,
  "length": 60000000000.0,
  "level": 2,
  "movie_capture": {
    "hard_dt": 0.013333333333333332,
    "odt": 0.06666666666666667,
    "requested_snapshots": 61,
    "steps_per_output_check": 5
  },
  "norms": {
    "er": {
      "L1": 2.983871e-07,
      "L2": 3.652412e-07,
      "Linf": 9.418889e-07
    },
    "fx": {
      "L1": 1244.727,
      "L2": 1315.622,
      "Linf": 2282.908
    },
    "fy": {
      "L1": 1244.727,
      "L2": 1315.622,
      "Linf": 2282.908
    },
    "fz": {
      "L1": 1244.727,
      "L2": 1315.622,
      "Linf": 2282.908
    }
  },
  "origin": "Octo-TIGER application",
  "reference_sha256": "12e2eb0a3533d2357d8d21b3945c84cc2289dcf1e4680185aacba02a7d517f33",
  "status": "complete",
  "time": 4.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"
  }
}

Final fields and profiles

Gaussian energy is shown as E − Ebg on a logarithmic scale. Values at or below 7.218479e-11 use the display floor, including zero and negative excesses. Raw values, signed errors, and error norms are unchanged.

Numerical, reference, and signed-error energy slices at z = Δx/2
Numerical, reference, and signed-error energy slices at z = Δx/2 · PDF
Numerical/reference line profiles and signed errors for all four radiation fields
Numerical/reference line profiles and signed errors for all four radiation fields · PDF
All three flux maps
fx: numerical, reference, and signed-error slice
fx: numerical, reference, and signed-error slice · PDF
fy: numerical, reference, and signed-error slice
fy: numerical, reference, and signed-error slice · PDF
fz: numerical, reference, and signed-error slice
fz: numerical, reference, and signed-error slice · PDF

Movies

er · slice normal to z · 61 recorded snapshots · 2.000000e+01 s playback. Logarithmic energy excess E − Ebg; display floor 9.081074e-09 erg/cm^3. Values at or below the floor use the lowest color.. MP4 · Movie metadata

Conservation

All values below are dimensionless fractions of the fixed initial scale.

FieldScaleQ(0)/scaleQ(t)/scaleBoundary B/scaleSource S/scaleResidual R/scaleMaximum |R|/scale
er|Q(0)|1.000000e+001.000000e+000.000000e+000.000000e+00-1.667907e-161.667907e-16
fxc |E₀| (zero/negligible initial flux)0.000000e+006.898788e-250.000000e+00-8.906808e-238.975796e-231.113501e-22
fyc |E₀| (zero/negligible initial flux)0.000000e+00-1.112708e-260.000000e+003.359682e-23-3.360795e-231.154977e-22
fzc |E₀| (zero/negligible initial flux)0.000000e+003.683063e-240.000000e+001.453989e-22-1.417159e-221.974124e-22
Integrated radiation budgets and their transport/source-corrected residuals
Integrated radiation budgets and their transport/source-corrected residuals · PDF

Data and reproducibility

64³ cells / level 3

Recorded setup and run provenance
OriginOcto-TIGER application
DomainCube of side 6.000000e+10 cm; centered at the origin
Resolution64³ cells; level 3; Δx = 9.375000e+08 cm
Final comparison time4.000000e+00 s
Light speed2.997925e+10 cm/s
Periodic boundarieson
Hydrodynamicsoff
Gravityoff
Implicit radiation sourceon
Uniform gridon
CFL0.4
Timestep cap0.013333333333333332 s
Output interval0.066666666666666666 s
Background energy density1 erg/cm³
Scattering coefficient χ1.6666666666666666e-10 cm⁻¹
Gaussian width w6000000000 cm
Pulse amplitude A0.01 erg/cm³
{
  "background": 1.0,
  "c": 29979245800.0,
  "case": "gaussian_pulse",
  "cells": 64,
  "command": [
    "/home/dmarce1/octotiger-build/build/octotiger/release/octotiger",
    "--config_file=/home/dmarce1/octotiger-build/radiation_results/results/live-20260918-225231-293735/gaussian_pulse/l3/run.ini",
    "--hpx:threads=32"
  ],
  "comparison_signature": {
    "atomic_mass": "1",
    "atomic_number": "1",
    "cfl": "0.4",
    "code_to_cm": "1",
    "code_to_g": "1",
    "code_to_s": "1",
    "disable_analytic": "off",
    "disable_diagnostics": "on",
    "gravity": "off",
    "hard_dt": "0.013333333333333332",
    "hydro": "off",
    "hydro_device_kernel_type": "OFF",
    "hydro_host_kernel_type": "LEGACY",
    "monopole_device_kernel_type": "OFF",
    "multipole_device_kernel_type": "OFF",
    "n_species": "1",
    "omega": "0",
    "periodic": "on",
    "problem": "RADIATION_GAUSSIAN_PULSE",
    "rad_implicit": "on",
    "rad_test_amplitude": "0.01",
    "rad_test_background": "1",
    "rad_test_chi": "1.6666666666666666e-10",
    "rad_test_luminosity": "2.6981321220000001e+29",
    "rad_test_width": "6000000000",
    "radiation": "on",
    "stop_step": "100000",
    "stop_time": "4",
    "unigrid": "on",
    "xscale": "30000000000"
  },
  "config": {
    "atomic_mass": "1",
    "atomic_number": "1",
    "cfl": "0.4",
    "code_to_cm": "1",
    "code_to_g": "1",
    "code_to_s": "1",
    "datadir": "/home/dmarce1/octotiger-build/radiation_results/results/live-20260918-225231-293735/gaussian_pulse/l3/",
    "disable_analytic": "off",
    "disable_diagnostics": "on",
    "disable_output": "off",
    "gravity": "off",
    "hard_dt": "0.013333333333333332",
    "hydro": "off",
    "hydro_device_kernel_type": "OFF",
    "hydro_host_kernel_type": "LEGACY",
    "max_level": "3",
    "min_level": "3",
    "monopole_device_kernel_type": "OFF",
    "multipole_device_kernel_type": "OFF",
    "n_species": "1",
    "odt": "0.066666666666666666",
    "omega": "0",
    "periodic": "on",
    "problem": "RADIATION_GAUSSIAN_PULSE",
    "rad_implicit": "on",
    "rad_reference": "/home/dmarce1/octotiger-build/radiation_results/results/live-20260918-225231-293735/gaussian_pulse/l3/reference.bin",
    "rad_test_amplitude": "0.01",
    "rad_test_background": "1",
    "rad_test_chi": "1.6666666666666666e-10",
    "rad_test_luminosity": "2.6981321220000001e+29",
    "rad_test_width": "6000000000",
    "radiation": "on",
    "stop_step": "100000",
    "stop_time": "4",
    "unigrid": "on",
    "xscale": "30000000000"
  },
  "conservation": [
    {
      "boundary": 0.0,
      "boundary_fraction": 0.0,
      "field": "er",
      "final": 2.1601202758847317e+32,
      "final_fraction": 1.0,
      "initial": 2.1601202758847317e+32,
      "initial_fraction": 1.0,
      "integral_units": "erg",
      "max_abs_residual": 3.602879701896397e+16,
      "max_normalized_error": 1.6679069874573287e-16,
      "normalization_basis": "abs(initial_energy)",
      "normalization_scale": 2.1601202758847317e+32,
      "normalized_error": 0.0,
      "normalized_residual": 0.0,
      "raw_change": 0.0,
      "residual": 0.0,
      "source": 0.0,
      "source_fraction": 0.0,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    },
    {
      "boundary": 0.0,
      "boundary_fraction": 0.0,
      "field": "fx",
      "final": -2.0176126330619822e+18,
      "final_fraction": -3.115581756816925e-25,
      "initial": 0.0,
      "initial_fraction": 0.0,
      "integral_units": "erg cm/s",
      "max_abs_residual": 7.866279843141087e+20,
      "max_normalized_error": 1.2147048234979095e-22,
      "normalization_basis": "c * abs(initial_energy)",
      "normalization_scale": 6.475877670831218e+42,
      "normalized_error": 1.2681043648365674e-23,
      "normalized_residual": -1.2681043648365674e-23,
      "raw_change": -2.0176126330619822e+18,
      "residual": -8.212088740528731e+19,
      "source": 8.010327477222533e+19,
      "source_fraction": 1.2369485472683981e-23,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    },
    {
      "boundary": 0.0,
      "boundary_fraction": 0.0,
      "field": "fy",
      "final": -4.0352252661239644e+18,
      "final_fraction": -6.23116351363385e-25,
      "initial": 0.0,
      "initial_fraction": 0.0,
      "integral_units": "erg cm/s",
      "max_abs_residual": 3.197105375470315e+20,
      "max_normalized_error": 4.936945288313248e-23,
      "normalization_basis": "c * abs(initial_energy)",
      "normalization_scale": 6.475877670831218e+42,
      "normalized_error": 1.2195277162397678e-23,
      "normalized_residual": -1.2195277162397678e-23,
      "raw_change": -4.0352252661239644e+18,
      "residual": -7.897512306556902e+19,
      "source": 7.493989779944505e+19,
      "source_fraction": 1.1572160811034293e-23,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    },
    {
      "boundary": 0.0,
      "boundary_fraction": 0.0,
      "field": "fz",
      "final": -2.233785415175766e+18,
      "final_fraction": -3.4493940879044524e-25,
      "initial": 0.0,
      "initial_fraction": 0.0,
      "integral_units": "erg cm/s",
      "max_abs_residual": 7.07936588025064e+20,
      "max_normalized_error": 1.093190180558485e-22,
      "normalization_basis": "c * abs(initial_energy)",
      "normalization_scale": 6.475877670831218e+42,
      "normalized_error": 4.3035016179568424e-23,
      "normalized_residual": 4.3035016179568424e-23,
      "raw_change": -2.233785415175766e+18,
      "residual": 2.7868950034112735e+20,
      "source": -2.809232857563031e+20,
      "source_fraction": -4.337995558835887e-23,
      "zero_initial_flux_relative_tolerance": 1.4210854715202004e-14
    }
  ],
  "dx": 937500000.0,
  "executable_sha256": "698ae293307532d5aedaf86a49381319eb1a911b3ef40a33cc91e74c2e089de8",
  "inx": 8,
  "length": 60000000000.0,
  "level": 3,
  "movie_capture": {
    "hard_dt": 0.013333333333333332,
    "odt": 0.06666666666666667,
    "requested_snapshots": 61,
    "steps_per_output_check": 5
  },
  "norms": {
    "er": {
      "L1": 8.208545e-08,
      "L2": 1.002996e-07,
      "Linf": 2.674582e-07
    },
    "fx": {
      "L1": 292.3034,
      "L2": 326.4411,
      "Linf": 691.8154
    },
    "fy": {
      "L1": 292.3034,
      "L2": 326.4411,
      "Linf": 691.8154
    },
    "fz": {
      "L1": 292.3034,
      "L2": 326.4411,
      "Linf": 691.8154
    }
  },
  "origin": "Octo-TIGER application",
  "reference_sha256": "4b22054a540006fee4e57d29c18c2c3cf530df2b338cdfcde6f4e7002f4c5414",
  "status": "complete",
  "time": 4.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"
  }
}

Final fields and profiles

Gaussian energy is shown as E − Ebg on a logarithmic scale. Values at or below 7.226658e-11 use the display floor, including zero and negative excesses. Raw values, signed errors, and error norms are unchanged.

Numerical, reference, and signed-error energy slices at z = Δx/2
Numerical, reference, and signed-error energy slices at z = Δx/2 · PDF
Numerical/reference line profiles and signed errors for all four radiation fields
Numerical/reference line profiles and signed errors for all four radiation fields · PDF
All three flux maps
fx: numerical, reference, and signed-error slice
fx: numerical, reference, and signed-error slice · PDF
fy: numerical, reference, and signed-error slice
fy: numerical, reference, and signed-error slice · PDF
fz: numerical, reference, and signed-error slice
fz: numerical, reference, and signed-error slice · PDF

Movies

er · slice normal to z · 61 recorded snapshots · 2.000000e+01 s playback. Logarithmic energy excess E − Ebg; display floor 9.759590e-09 erg/cm^3. Values at or below the floor use the lowest color.. MP4 · Movie metadata

Conservation

All values below are dimensionless fractions of the fixed initial scale.

FieldScaleQ(0)/scaleQ(t)/scaleBoundary B/scaleSource S/scaleResidual R/scaleMaximum |R|/scale
er|Q(0)|1.000000e+001.000000e+000.000000e+000.000000e+000.000000e+001.667907e-16
fxc |E₀| (zero/negligible initial flux)0.000000e+00-3.115582e-250.000000e+001.236949e-23-1.268104e-231.214705e-22
fyc |E₀| (zero/negligible initial flux)0.000000e+00-6.231164e-250.000000e+001.157216e-23-1.219528e-234.936945e-23
fzc |E₀| (zero/negligible initial flux)0.000000e+00-3.449394e-250.000000e+00-4.337996e-234.303502e-231.093190e-22
Integrated radiation budgets and their transport/source-corrected residuals
Integrated radiation budgets and their transport/source-corrected residuals · PDF

Data and reproducibility

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:

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. A nonzero initial radiation energy is required.

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.

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 derives its reference from the linearized two-moment equations above. The implementation is telegraphMode in profiles.hpp, the ReferenceData reader/writer in reference.hpp, and radiation_results/cpp/gen_radiation_reference.cpp. The generator was recovered from the September 13 source patch and adapted to the September 17 interfaces while retaining its Fourier construction.

Frigo & Johnson (2005), “The Design and Implementation of FFTW3”, describes the transform library. The Gaussian and its telegraph reference are the suite's construction; FFTW supplies the discrete transforms.

Radiation method context

Skinner & Ostriker (2013), “A Two-moment Radiation Hydrodynamics Module in Athena Using a Time-explicit Godunov Method,” ApJS 206, 21, provides context for the two-moment M1 system and source integration. The suite's fixed-medium damping uses the algebra of their equations (42b)–(43) with θ = 1 and prescribed χ. Their paper neglects scattering; the suite reuses that damping formula for its prescribed scattering medium.

The solver's M1 implementation also cites Hanawa & Audit (2014), “Reformulation of the M1 model of radiative transfer,” JQSRT 145, 9–16. These references describe the numerical/physical framework; the exact test definitions are the source functions identified above.

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.