V-RAD-01 — in-depth absorption + conduction (sub-surface peak)

Tags: radiation, beer_lambert, convective_bc, coupled

References:

  • Lautenberger dissertation (2007) §3.4.2 + Appendix A
  • exact/indepth_absorption.jl (re-derivation, PDE-residual self-test)

Problem statement

Lautenberger dissertation §3.4.2 + Appendix A: finite slab δ = 1 cm, in-depth source q₀κe^(−κx) with κ = 1000 m⁻¹ (κδ = 10), convective loss at the irradiated face, insulated back. Exact eigenfunction solution re-derived in exact/indepth_absorption.jl (PDE-residual self-tested).

This is the definitive BEER_LAMBERT + conduction + ConvectiveBC coupling case. The existing Beer–Lambert test checks the absorption profile and energy split WITHOUT conduction; the physics marker here is the SUB-SURFACE temperature peak (the peak sits at the front face at t → 0⁺ and migrates toward the insulated back as t → ∞), which only the coupled problem shows.

Configuration pitfalls encoded below:

  • RadiativeFluxBC(flux = q₀, absorptivity = 1.0): the EXPLICIT absorptivity bypasses the Kirchhoff ε_eff rescaling at volumetric injection, so exactly q₀ enters the Beer–Lambert sweep.
  • Under BEER_LAMBERT the incident flux contributes zero to the surface Newton balance (deposited volumetrically); convective loss stays at the surface — exactly the exact solution's BC structure. No RadiativeBC is present, so there is no re-radiation term (the exact model has none).
  • The component absorption kwarg α is a MASS coefficient [m²/kg]: α = κ/ρ = 1.0 m²/kg gives the target κ = 1000 m⁻¹.
  • The transmitted fraction e^(−κδ) ≈ 4.5e-5 of q₀ exits the insulated back in both the exact model and the solver (never deposited): consistent.

k, ρ, c, h, q₀ follow the Gpyro §3.4.1 property set for cross-code comparability of the dissertation figures (report mode).

Quantities of interest (n = 400)

QoIvalueexacterrortolerancewithin tolprovenance
L∞ T-profile error, t=30.0 s0.0028640.0028640.25yesobserved 0.044/0.057/0.065/0.080 K at t=30/60/90/180 s
L∞ T-profile error, t=60.0 s0.0036850.0036850.25yesobserved 0.044/0.057/0.065/0.080 K at t=30/60/90/180 s
L∞ T-profile error, t=90.0 s0.0041930.0041930.25yesobserved 0.044/0.057/0.065/0.080 K at t=30/60/90/180 s
L∞ T-profile error, t=180.0 s0.0051120.0051120.25yesobserved 0.044/0.057/0.065/0.080 K at t=30/60/90/180 s
front-face temperature, t=30.0 s468.6468.60.0050340.25yesconvective-only surface balance under BEER_LAMBERT
front-face temperature, t=60.0 s548.2548.20.004850.25yesconvective-only surface balance under BEER_LAMBERT
front-face temperature, t=90.0 s604.4604.40.0046320.25yesconvective-only surface balance under BEER_LAMBERT
front-face temperature, t=180.0 s717.7717.70.0040510.25yesconvective-only surface balance under BEER_LAMBERT
sub-surface peak value, t=90 s608.9608.90.001530.05yesthe coupled-physics marker no uncoupled test checks
sub-surface peak location, t=90 s0.00031250.0003196.5e-063.75e-05yespeak must sit strictly below the surface
peak strictly interior, t=90 s38800.5yesargmax at a boundary cell would mean no sub-surface peak

V-RAD-01 T_profiles

V-RAD-01 T_profiles_error

V-RAD-01 surface_T_history

V-RAD-01 surface_T_history_error

V-RAD-01 peak_trajectory

V-RAD-01 peak_trajectory_error

V-RAD-01 convergence

Comparison with other codes

The same case was solved with Gpyro 0.8200 at 101 nodes (Δz=0.1 mm); decks, outputs, and run provenance are committed under test/verification/reference/. Each code's error against the same exact solution is drawn below on a log scale, muted gray behind this solver's series — the signed linear-scale panel above shows where the error lives, this one compares magnitudes across codes.

V-RAD-01 T_profiles_vs_codes_error

V-RAD-01 surface_T_history_vs_codes_error

Wall times at every ladder rung against the reference runs. Resolutions and simulated spans differ where noted (details in reference/timings.csv), so cross-code timings are indicative rather than a controlled benchmark; rungs at a matched resolution are directly comparable.

V-RAD-01 solve_time

Solution overlays including the other codes' points: Tprofilesvs_codes, surfaceThistoryvscodes.

Convergence

n_cellshwall (s)L2Linf
250.040.025810.25550.9054
500.020.065320.064560.248
1000.010.13980.016180.06485
2000.0050.44640.004050.01658
4000.00253.2740.0010130.004193

Observed order 1.995 (L2), expected 2.0.

Solver configuration

settingvalue
integratorKenCarp4 (default)
abstol1.0e-12
reltol1.0e-10
radiation_modelBEER_LAMBERT