# Kara Cisim Işıması (blackbody radiation): verification notes Slug: `kara-cisim-isimasi` · file: `simulasyonlar/kara-cisim-isimasi.html` · tabs: Hikâye · Deney · Morötesi felaketi · Fizik · Doğrulama · tests: **25/25 pass** ## 1. Audit of the original (Gemini 2025, `kaynak-eski/kara-cisim.js`) The original's app code is in the last ~12 KB of the bundle. The constants are `wa=6.62607e-34` (h), `ka=2.99792e8` (c), `xa=1.38065e-23` (k), `_a=0.00289777` (b) and `Sa=5.67037e-8` (σ). | # | Finding | Evidence | Verdict / fix | |---|---|---|---| | 1 | **The Planck function is correct**, including the per-nm conversion. | `Ta(nm,T)`: `2hc²/(λ⁵(e^x−1))·1e-9`, with λ = 1e-9·nm. It returns 0 when x > 100. | OK. c is truncated to 2.99792e8 (1.5 ppm low), which doesn't matter visually. The new code uses exact CODATA 2018 values and `expm1`. | | 2 | **The Rayleigh–Jeans function is correct.** | `Aa`: `8.278156496e-15·T/λ⁴·1e-9`, and 2ck = 8.27816e-15. | OK. | | 3 | The Wien constant and σ are correct to the digits given. | `_a=.00289777`, `Sa=5.67037e-8` | OK. The new code computes σ from h, c, k and tests it against CODATA. | | 4 | **The plot auto-scales every frame.** Curves at different temperatures can't be compared, and the T⁴/T⁵ growth is invisible. | `v=Cr().domain([0, 1.2*max(mainData)])` | Fixed. The new graph has a "y eksenini sabitle" (fix the y-axis) option and pinned ghost curves ("İz bırak"), and the guided lesson uses them for the 3000 K → 6000 K question. | | 5 | **The R–J curve is not clipped.** With auto-scaling to Planck's maximum, the R–J path runs far outside the plot into the SVG margins. | No clipPath in the d3 code. | Fixed. The curve is cut where it leaves the frame and annotated "↖ klasik: sonsuza gider". | | 6 | **The y-axis has no units.** It is labelled "Işıma Gücü (Parlaklık)", and tooltip values are bare `toExponential` numbers. | axis label text | Fixed. The axis now reads B_λ in W·m⁻²·sr⁻¹·nm⁻¹ (or B_ν per THz), with a power-of-ten factor. | | 7 | **The peak wavelength's colour is presented as the colour of the radiation.** The "Işınım Türü" (radiation type) field names the colour of λ_max. At 5800 K, λ_max = 499.6 nm, so the Sun's radiation is labelled **"Camgöbeği"** (cyan); at 5772 K it would read "Yeşil" (green). | `r = n<500?"Camgöbeği":…` | Conceptual error. The new page keeps the peak-wavelength name but labels it "Tepenin bölgesi" (region of the peak). It adds a separate "Gözün gördüğü renk" (colour the eye sees) computed from CIE colorimetry, and the text explains why the Sun looks white and why there are no green stars. | | 8 | **The body colour is a curve fit clamped to 1000–40000 K.** At 310 K the body is drawn glowing orange-red, which is the 1000 K colour. | `za(e)` is Tanner Helland's fit to tabulated blackbody colours, with `Ma(e,1e3,4e4)`. The temperature badge and curve stroke use it. | Fixed. Colour is now Planck × CIE 1931 2° CMFs → XYZ → sRGB, with luminance tone-mapping, so 310 K is invisible (dashed IR outline) and the glow starts near the Draper point. | | 9 | "Göreceli Parlaklık … Güneş" (relative brightness vs the Sun) is really exitance per unit area, not brightness or luminosity, and uses 5800 K. | `a = σT⁴/σ·5800⁴` | Relabelled "Güneş'e göre (aynı alan)" (relative to the Sun, same area) and referenced to 5772 K (IAU 2015 B3). The absolute σT⁴ in W/m² is now shown too. | | 10 | **Two presets are wrong.** The Sun is at 5800 K, and "Kaynak Arkı 7000 K" (welding arc) is used as a blackbody. | preset list | Sun → 5772 K. The welding arc is removed: it is a ~10⁴ K line-emitting plasma (Haddad & Farmer, Welding J. 1985), so no blackbody temperature is meaningful. It is replaced by the Draper point, 798 K (Draper 1847). Also added: CMB 2.72548 K, Betelgeuse 3600 K, Spica A 25300 K for the "blue giant". The lamp is relabelled as a 2700 K *colour temperature*; the filament is ≈2800 K. Sirius A 9940 K is kept (Adelman 2004). | | 11 | **The x-range is fixed at 100–3000 nm, but the slider goes down to 300 K.** At 310 K the peak (9.35 µm) is off-plot and the curve auto-scales to its rising tail. That looks like a strong emitter when the radiance is actually ~10⁻⁴ of its peak. | `Ea=100, Na=3e3` | Fixed with range buttons (100–3000 nm, 0–30 µm, log–log 10 nm–10 mm), a note when the peak is off-plot, and auto-ranging when a preset is chosen. | | 12 | **The intro box tells the history backwards.** It says classical physics "tried" R–J, failed, and Planck "solved" the UV catastrophe. | intro text | Historical myth. R–J (with its coefficient) dates from 1905. Planck was driven by the PTR data departing from Wien's law. The term "ultraviolet catastrophe" is Ehrenfest's (1911) (Kragh, *Physics World* Dec 2000; Klein, *Phys. Today* 1966). The new intro box and story say this explicitly. | | 13 | The visible band uses a crude piecewise RGB with gamma 0.8. | `spectrum-gradient` | Replaced with the template's `Q4.wlCss`, which uses the CIE-based approximation. UV and IR are drawn as grey, dashed and labelled. | ## 2. What the new version models **Functions (all SI, CODATA 2018):** - `planckLam(λ,T)` = 2hc²λ⁻⁵/(e^x−1), with x = hc/λkT. It uses `expm1` and cuts off at x > 700. - `planckNu` = 2hν³c⁻²/(e^x−1). - `rjLam` = 2ckT/λ⁴ and `rjNu` = 2ν²kT/c². - `wienLam` = 2hc²λ⁻⁵e^−x and `wienNu`. - Peak roots of n(1−e^−x) = x by Newton's method: x_λ = 4.965114, x_ν = 2.821439, x_log = 3.920690. - σ = 2π⁵k⁴/(15h³c²); M = σT⁴; a = 4σ/c. - `fracShort(λ,T)` is the fraction of power at wavelengths below λ. It uses the exact series (15/π⁴)Σ e^{−nx}/n (x³ + 3x²/n + 6x/n² + 6/n³), with Simpson's rule for x < 0.5. - Cavity: g(ν) = 8πν²/c³, ⟨E⟩/kT = x/(e^x−1), and u(ν) = g⟨E⟩ = (4π/c)B_ν. **Colour:** - XYZ = Σ B_λ·(x̄,ȳ,z̄)·5 nm over 360–830 nm, using the CIE 1931 2° CMFs taken from the colour-science dataset, which reproduces the CIE 1-nm table at 5 nm. - XYZ is converted to linear sRGB (D65), negatives are clipped, the result is normalised to max = 1, and sRGB gamma is applied. - Furnace brightness: log₁₀(Y/Y(700 K)) / log₁₀(Y(2000 K)/Y(700 K)), clipped to [0, 1], raised to the power 0.75. - CCT: nearest point on the Planckian locus in CIE 1960 (u, v), found by golden-section search. **Ranges:** - Deney: T = 2–50000 K on a log slider. - Plot x-ranges: 100–3000 nm, 0–30 µm, 10 nm–10 mm (log), and the corresponding ν ranges in THz. - Morötesi felaketi tab: T = 300–15000 K, and hν/kT = 0.1–10 for the probed mode. - Display box edge is 12 µm (it only sets the mode spacing in the lattice picture). **Features:** - Deney tab: - Furnace cavity drawn in its true colour, plus a prism strip (visible light weighted by B_λ) and UV/visible/IR power shares. - Grey-scale thermal-camera view (8–14 µm band radiance, 295 K room). - Planck plot with optional R–J, Wien 1896 (İleri), peak marker, visible band, and area under the curve with the σT⁴ readout and the fraction inside the plotted range (Lisans). - λ/ν representation with a c/λ_max marker in ν mode (İleri). - Fixed y-axis, ghost traces, and tooltip with Planck/R–J/Wien values. - CIE xy diagram with the Planckian locus, and an M(T) log–log plot (Lisans/İleri). - "Fiziksel analiz" stats, info cards (Planck, Wien, Stefan–Boltzmann, R–J), and the intro box. - Morötesi felaketi tab: - A 2D slice of cavity modes, classical vs quantum, with dot opacity proportional to ⟨E⟩/kT and running sums. - The energy ladder of a selected mode with Boltzmann occupancies, and a Monte Carlo "termal piyango" (thermal lottery): geometric draws in the quantum case, exponential draws in the classical case. - The visual equation g(ν) × ⟨E⟩ = u(ν), with a cutoff integral: the classical total grows as ν_c³, the quantum total tends to aT⁴. - Guided lesson: 9 steps, 5 of them predict-then-reveal. The reveals drive the sim (310 K plus the thermal view; 3000 → 6000 K with a pinned trace and fixed axis; the Sun's peak; R–J on; a frozen mode at hν = 6kT with the lottery running). ## 3. Verification table (all run in the browser on load) | Test | Expected | Model | Source | |---|---|---|---| | Wien root x = hc/λ_max kT | 4.965114231744276 | 4.965114232 | analytic 5 + W₀(−5e⁻⁵) | | b from numeric maximum of B_λ (1000 K) | 2.897771955e-3 m·K | 2.8977720e-3 | CODATA 2018 | | hν_max/kT from numeric maximum of B_ν | 2.821439372 | 2.8214394 | analytic 3 + W₀(−3e⁻³) | | σ from h, c, k | 5.670374419e-8 | same to 1e-9 | CODATA 2018 | | π∫B_λ dλ (Simpson, 10 nm–10 cm) at 5772 K vs σT⁴ | 6.2939e7 W/m² | 6.2939e7 | Stefan–Boltzmann law | | Planck/R–J at λ = 10 cm, 300 K | 1 | 0.99976 (x = 4.8e-4) | long-wavelength limit | | Planck/Wien at 200 nm, 3000 K | 1 | 1 + 3.8e-11 | short-wavelength limit | | Sun peak at 5772 K | 502.0 nm | 502.04 nm | IAU 2015 B3 | | Solar luminosity 4πR²σT⁴ | 3.828e26 W | 3.8280e26 | IAU 2015 B3 nominal | | Solar constant L/4π AU² | 1360.8 W/m² | 1361.2 | Kopp & Lean 2011 (TIM) | | CMB λ_max at 2.72548 K | 1.063 mm | 1.0632 mm | Fixsen 2009 | | CMB ν_max | 160.2 GHz | 160.23 GHz | Fixsen et al. 1996 (FIRAS) | | c/(ν_max λ_max) | 1.759781 | 1.759781 | analytic 4.965/2.821 | | Fraction of power below λ_max | 0.250 | 0.25005 | blackbody fraction tables (Incropera Table 12.2) | | Σnx e^{−nx}/Σe^{−nx} vs x/(e^x−1), x = 1 | 0.5819767 | 0.5819767 | Boltzmann sum, independent of the closed form | | Equipartition limit ⟨E⟩/kT at x = 1e-4 | 1 | 0.99995 | classical limit | | u(ν) = g(ν)⟨E⟩ vs (4π/c)B_ν | identical | rel < 1e-12 | radiometry identity | | Lattice mode count n ≤ 120 vs Weyl πR³/6 − 3πR²/8 | 887 814 | within 0.01 % | Weyl asymptotics | | Classical total ratio U(2ν_c)/U(ν_c) | 8 | 8.000000 | ∫ν²dν ∝ ν_c³ (divergence) | | CIE illuminant A (2856 K) x | 0.44757 | 0.44753 | CIE 015:2018 | | CIE illuminant A (2856 K) y | 0.40745 | 0.40743 | CIE 015:2018 | | CCT of D65 (0.31271, 0.32902) | 6504 K | 6503 K | CIE; D65 = 6500 K × 1.4388/1.4380 | | 1900 K orange (255,132,0), 6500 K ≈ white (255,248,254), 25300 K bluish (165,189,255) | qualitative | pass | sRGB | | 310 K invisible (visible share 5e-21), 798 K first glow | qualitative | pass | Draper 1847 | | Stefan 1879: σT⁴ ratio 1473 K/798 K vs Tyndall's ≈11.7 | 11.7 | 11.61 (0.8 %) | Stefan 1879 (platinum is not black; the agreement is partly fortuitous) | The A-illuminant differences (≈4e-5) come from 5 nm sampling of the CMFs and are within the 2e-4 tolerance. ## 4. Historical claims with sources Verified by a research pass that read the 1900 Verh. DPG volume scan and other sources. - **Kirchhoff.** Presented to the Berlin Academy on 15 Dec 1859 (Monatsber. 1859, 783). The "vollkommen schwarzer Körper" (perfectly black body) and the universal function appear in Ann. Phys. 109 (1860) 275. Secondary: Schirrmacher, HSPS 33 (2003) 299. - **Stefan and Boltzmann.** Stefan, Sitzungsber. Wien 79 (1879) 391, using Tyndall's Pt-wire ratio ≈ 11.7 for 525 → 1200 °C. Boltzmann, Ann. Phys. 22 (1884) 291. - **Wien.** - Displacement law: Sitzungsber. Preuss. Akad. 1893, 55, presented 9 Feb 1893. The name "Verschiebungsgesetz" came later. - Distribution law: Ann. Phys. 58 (1896) 662. - Nobel Prize 1911. - **The cavity as a black body.** - Wien & Lummer, Ann. Phys. 56 (1895) 451. - Lummer & Kurlbaum, Verh. Phys. Ges. Berlin 17 (1898) 106 (electrically heated Pt cylinder). - **Lummer & Pringsheim.** Verh. DPG 1 (1899) 23 and 215. Verh. DPG 2 (1900) 163: spoken 2 Feb 1900, printed about Sept 1900, covering 12–18 µm. - **Rubens & Kurlbaum.** - Reststrahlen at ~24/31.6 µm (fluorite) and 51.2 µm (rock salt), up to ~1500 °C. - Kurlbaum reported at the DPG on 19 Oct 1900, in the same session as Planck. Academy paper presented 25 Oct 1900 (Sitzungsber. 1900, 929). Full version Ann. Phys. 4 (1901) 649. - **The 7 Oct 1900 visit.** Rubens's Sunday visit, Planck finding the formula that evening, and the postcard: Hettner, Naturwiss. 10 (1922) 1033; Kangro 1972; Kuhn 1978. Whether it was "tea" or "dinner" varies between sources, so it is not stated. - **Rubens's overnight check.** Planck's Nobel lecture (2 June 1920) says Rubens compared the formula with his data that night and reported agreement the next morning. - **Planck's 1900 papers.** - Verh. DPG 2 (1900) 202 (19 Oct) and 237 (14 Dec). - Ann. Phys. 4 (1901) 553. - h = 6.55e-27 erg·s and k = 1.346e-16 erg/K, with N_A and e derived from them. - Nobel Prize 1918, awarded in 1919. - **"Act of desperation."** Planck to R. W. Wood, 7 Oct 1931 (AIP, SHQP); English text in Hermann, *The Genesis of Quantum Theory* (1971) pp. 23–24. The Turkish page translates the English wording. The original German phrase was not confirmed, so it is not quoted. - **Rayleigh and Jeans.** - Rayleigh, Phil. Mag. 49 (1900) 539: equipartition gives T/λ⁴, and he added an ad hoc exponential factor. - Rayleigh, Nature 72 (1905) 54: coefficient. - Jeans, Phil. Mag. 10 (1905) 91: factor-8 correction. The exact Nature page for Jeans's note was not confirmed, so only Phil. Mag. is cited. - Einstein also derived the coefficient in 1905 (Pais 1982). - **"Ultraviolettkatastrophe."** Ehrenfest, Ann. Phys. 36 (1911) 91. - **Einstein.** - Ann. Phys. 17 (1905) 132. - Fluctuations: Phys. Z. 10 (1909) 185. - A/B coefficients: Mitt. Phys. Ges. Zürich 18 (1916) 47 and Phys. Z. 18 (1917) 121. - **Draper point.** 525 °C = 798 K (Draper, Phil. Mag. 30 (1847) 345). - **CMB.** 2.72548 ± 0.00057 K (Fixsen, ApJ 707 (2009) 916). FIRAS: Mather et al., ApJ 354 (1990) L37. Mather shared the 2006 Nobel Prize. - **Presets.** - Sun: 5772 K (IAU 2015 B3). - Sirius A: 9940 K (Adelman 2004). - Spica A: 25300 K (Tkachenko et al., MNRAS 458 (2016) 1964). - Betelgeuse: 3600 K (Levesque & Massey 2020). - Skin: ≈306 K, emissivity ≈0.98 (ILO Encyclopaedia). - Lamp: ≈2700 K CCT, filament ≈2800 K (HyperPhysics). - **Colorimetry.** - D65: (0.31271, 0.32902). - Illuminant A: 2856 K Planckian. - Both from CIE 015:2018. ## 5. Known limitations - **Ideal blackbody only.** No emissivity. Stars are shown as Planck curves at T_eff, while real spectra have lines and limb darkening. Tungsten is selective. - **Colour.** - Uses the CIE 1931 2° observer, 5 nm sampling, sRGB gamut clipping, and normalisation to the brightest channel. - No chromatic adaptation, so a 2700 K lamp is shown more orange than it looks in a room. - No scotopic "grey glow" near the Draper point. - Furnace brightness is a logarithmic tone-map, not photometric. - **Mode panel.** A 2D slice, one polarisation, an arbitrary box size, and no zero-point energy. The 3D counting (Weyl) is tested separately. - **Thermal camera.** A schematic band-radiance grey map. It ignores emissivity and reflected radiation. - **Furnace at very high T.** The furnace is drawn at any T. The caption notes that a real furnace would melt above 3695 K (W melting point). ## 6. Core-template changes None of my own. The coordinator's two template fixes (canvas clear in `cv.redraw`; `details > *{box-sizing:border-box}`) are included because the page is spliced from the current `sablon/sablon.html`. The sim-specific draw functions also call `clearRect`, which is now redundant but harmless.