Files
beta_shape_pnpi/notebooks/testing.ipynb
T
unzhakov 0c5c53688d MVP Correction Implemented
Add implementation for the basic set of spectrum components:

Primary
-------
- Phase Space
- Fermi Function

Corrections
-----------

- Atomic:
  - Screening
  - Atomic exchange
- E/M and finite size:
  - Finite nucleus size and charge distribution
  - Radiative
2026-04-10 15:32:47 +03:00

146 KiB

In [1]:
import numpy as np
import matplotlib.pyplot as plt

from beta_spectrum.components.fermi import FermiFunction
from beta_spectrum.components.phase_space import PhaseSpace
from beta_spectrum.components.finite_size import FiniteSizeL0
from beta_spectrum.components.finite_size import ChargeDistributionU
from beta_spectrum.components.screening import ScreeningCorrection
from beta_spectrum.components.exchange import ExchangeCorrection
from beta_spectrum.components.radiative import RadiativeCorrection

from beta_spectrum.utils import W_to_T
In [2]:
W0 = 1.574
Z = 44
A = 99

W = np.linspace(1.001, W0, 1000)

F = FermiFunction(Z, A)
Ph = PhaseSpace(W0=W0, m_nu=0)

L0 = FiniteSizeL0(Z, A)
U = ChargeDistributionU(Z, A)

S = ScreeningCorrection(F)
X = ExchangeCorrection(Z)

R = RadiativeCorrection(W0)
R_no_resum = RadiativeCorrection(W0, use_endpoint_resummation=False)
In [3]:
plt.plot(W, F(W))
plt.plot(W, Ph(W))
plt.yscale("log")
plt.show()
In [4]:
plt.plot(W, L0(W))
Out [4]:
[<matplotlib.lines.Line2D at 0x7f9eafcea660>]
In [5]:
plt.plot(W, U(W) - 1)
Out [5]:
[<matplotlib.lines.Line2D at 0x7f9eafcbbcb0>]
In [6]:
plt.plot(W, S(W))
plt.plot(W, X(W))
Out [6]:
[<matplotlib.lines.Line2D at 0x7f9eafa69010>]
In [7]:
plt.plot(W, R(W))
plt.plot(W, R_no_resum(W))
Out [7]:
[<matplotlib.lines.Line2D at 0x7f9eafaf5a90>]
In [8]:
plt.plot(W, Ph(W)*F(W)*L0(W)*U(W)*S(W)*X(W)*R(W))
plt.plot(W, Ph(W)*F(W)*L0(W)*U(W)*S(W)*X(W)*R_no_resum(W))
plt.plot(W, Ph(W)*F(W))
# plt.yscale("log")
# plt.xlim(1.0005,)
Out [8]:
[<matplotlib.lines.Line2D at 0x7f9eafb63230>]
In [ ]: