Files
beta_shape_pnpi/docs
unzhakov ed3fd5dc9d feat(radiative): implement O(Z*alpha^2) correction and improve numerical stability
- Add Z (nuclear charge) and A (mass number) parameters to RadiativeCorrection
- Implement O(Z*alpha^2) finite nuclear size correction per Sirlin 1987:
  - Energy-dependent part: ln(m_p) - (5/12)*ln(2W) + 43/18
  - Nuclear-structure-dependent part: Delta_F(Z,A) from modified Gaussian model
- Add small-beta Taylor expansion for numerical stability at threshold (beta < 1e-6)
- Extract _safe_beta() and _safe_tanh_inv_beta_over_beta() helper methods
- Remove unused log_wright_bessel import
- Add 14 new tests: Z-dependence, numerical stability, A parameter coverage
- Update docs/06-radiative-corrections.md with new API usage examples

All 70 tests pass. 14 new tests in 3 new test classes.
2026-04-30 07:18:02 +03:00
..
2026-04-29 22:38:25 +03:00
2026-04-29 22:35:56 +03:00

title, date, tags, status
title date tags status
Beta Spectrum Wiki 2026-04-26
vault/overview
active

Beta Spectrum Calculator — Knowledge Base

This Obsidian vault serves as the scientific reference and development workspace for the beta-spectrum calculator project (beta_shape_pnpi).

Purpose

Organize the physics theory behind allowed beta decay spectrum calculations into structured, interconnected notes that directly inform the implementation of correction components in the codebase.

Source Material

Reference Type Location
Hayen et al., RevModPhys 90, 015008 (2017) Review article pdf_source/Hayen2017.pdf / Hayen2017_summary

Notes Structure

All notes are flat in this directory, linked via wikilinks.

Core Theory

Correction Components (mapped to calculator modules)

# Note Calculator Module Status
1 01-fermi-function components/fermi.py ✓ implemented
2 03-finite-size components/finite_size.py ✓ implemented
3 04-screening-correction components/screening.py ✓ implemented
4 05-exchange-correction components/exchange.py ✓ implemented
5 06-radiative-corrections components/radiative.py ✓ implemented
6 07-recoil-effects components/recoil.py ✗ not yet implemented

Nuclear Structure & Atomic Effects

References

  • refs/hayen2017 — Metadata and key equations from Hayen et al. (2017)

Calculator Architecture

SpectrumComponent (ABC, base.py)
 ├── PhaseSpace              → phase_space.py
 ├── FermiFunction           → fermi.py
 ├── FiniteSizeL0            → finite_size.py
 ├── ChargeDistributionU     → finite_size.py
 ├── ScreeningCorrection     → screening.py
 ├── ExchangeCorrection      → exchange.py
 └── RadiativeCorrection     → radiative.py

BetaSpectrum (spectrum.py) — multiplicative composition + from_config()
BetaSpectrumAnalyzer (spectrum.py) — plotting, CSV export

Key Variables and Units

  • W — total electron energy in units of m_e c^2 (natural units, m_e = 1)
  • T or E_{\text{kin}} — kinetic energy (keV or MeV)
  • W_0 — endpoint total energy
  • Z_{\text{parent}}, Z_{\text{daughter}} — atomic numbers
  • \alpha \approx 1/137.036 — fine structure constant
  • \gamma = \sqrt{1 - (\alpha Z)^2}

Conversion: W = 1 + T / m_e c^2, with m_e c^2 = 510.998950 keV.