← Wróć do kalkulatora masy krytycznej

Walidacja modelu obliczeniowego

Model jednogrupy dyfuzji neutronów (lib/CriticalMass.php). Asercje uruchamiane na żywo przez PHP przy każdym wczytaniu tej strony.

18/18 asercji zdanych
Walidacja: ✓ ZALICZONA — wszystkie asercje zdane; model jest wewnętrznie spójny
Obliczono: 2026-07-08 02:29:06 UTC · PHP 8.1.2-1ubuntu2.24 · CriticalMass.php
1. Niezmienniki fizyczne i matematyczne

Te asercje weryfikują, że model odtwarza prawa fizyki, które muszą być prawdziwe niezależnie od danych wejściowych. Błąd którejkolwiek sygnalizuje bug w kodzie.

Stan Asercja Wynik Oczekiwane
k_∞(U-235) niezależne od gęstości
k_∞ = ν·σ_f/σ_a — gęstość N anuluje się w ilorazie Σ_f/Σ_a.
1,9091 1,9091
k_∞(U-235) > 1 — materiał podtrzymuje reakcję łańcuchową
Warunek konieczny stanu krytycznego: bez ucieczki neutronów układ byłby nadkrytyczny.
1.9091 > 1
k_∞(Pu-239) > 1 — materiał podtrzymuje reakcję łańcuchową
Warunek konieczny stanu krytycznego: bez ucieczki neutronów układ byłby nadkrytyczny.
2.4686 > 1
k_∞(U-233) > 1 — materiał podtrzymuje reakcję łańcuchową
Warunek konieczny stanu krytycznego: bez ucieczki neutronów układ byłby nadkrytyczny.
2.0672 > 1
m_crit ∝ 1/√ρ: stosunek m(ρ/ρ₀=1)/m(ρ/ρ₀=4) = 2
D = Ltr/3 = const, Σ_a ∝ ρ → L² ∝ 1/ρ → B² ∝ ρ → R ∝ 1/√ρ → m = ρ·V ∝ 1/√ρ.
2 2
m_crit ∝ 1/√ρ: stosunek m(ρ/ρ₀=1)/m(ρ/ρ₀=9) = 3
Kompresja 9× zmniejsza masę krytyczną dokładnie 3× (√9).
3 3
Reflektor Be zmniejsza masę vs gołe jądro
Reflektor odbija neutrony z powrotem — zmniejsza wymaganą objętość materiału.
11.5 kg < 54.6 kg (gołe)
Reflektor U-238 zmniejsza masę vs gołe jądro
Reflektor odbija neutrony z powrotem — zmniejsza wymaganą objętość materiału.
14.3 kg < 54.6 kg (gołe)
Reflektor grafit zmniejsza masę vs gołe jądro
Reflektor odbija neutrony z powrotem — zmniejsza wymaganą objętość materiału.
20.4 kg < 54.6 kg (gołe)
Reflektor stal zmniejsza masę vs gołe jądro
Reflektor odbija neutrony z powrotem — zmniejsza wymaganą objętość materiału.
29.0 kg < 54.6 kg (gołe)
Kolejność skuteczności reflektorów (k_ref, mniejszy = skuteczniejszy)
k_ref(Be) < k_ref(U-238) < k_ref(D₂O) < k_ref(grafit) < k_ref(stal) < k_ref(brak=1).
0,595 < 0,640 < 0,690 < 0,720 < 0,810 < 1,000 rosnąca kolejność
Kolejność mas dla kształtów (sfera optymalna)
Sfera minimalizuje stosunek S/V → najmniejsza ucieczka neutronów.
54 600,012 g < 64 264,215 g < 67 594,815 g < 114 878,426 g rosnąca kolejność
m_crit(U-233) ≤ m_crit(Pu-239) ≪ m_crit(U-235)
Wg ICSBEP: Thor (U-233)=16,20 kg ≈ Jezebel (Pu-239)=16,65 kg ≪ Godiva (U-235)=54,60 kg.
U-233=16.19 ≤ Pu=16.65 ≪ U-235=54.60 kg U-233 ≤ Pu-239 < U-235
k_∞: Pu-239 > U-233 > U-235
Odzwierciedla wartości ν·σ_f/σ_a dla prędkich neutronów. U-233 ma korzystniejszy σ_f/σ_a niż U-235.
Pu=2.4686 > U-233=2.0672 > U-235=1.9091 Pu > U-233 > U-235
Masa maleje monotonicznie ze wzrostem kompresji (Pu-239)
Skalowanie m ∝ 1/ρ² jest ściśle malejące dla ρ > 0.
18610.1 g > 16645.4 g > 13590.9 g > 11770.0 g > 9610.2 g malejąca kolejność
Czynnik kształtu sfery f = 1 (punkt odniesienia)
Sfera jest geometrycznym minimum — wszystkie inne kształty mają f > 1.
1 1
computeWithThickness(d=0) = gołe jądro (U-235 + Be, d=0)
k_ref(d=0) = k_inf + (1−k_inf)·e⁰ = 1 → masa identyczna jak gołe jądro.
54 600,0125 g 54 600,0125 g
computeWithThickness(d=30 cm) ≈ compute() z nieskończonym reflektorem (U-235+Be)
Dla d ≫ L_char = 8 cm (Be) saturacja jest prawie pełna. Odchylenie < 5 kg.
12062.4 g (d=30 cm) ± 5000 g od 11501.2 g (nieskończony)
2. Porównanie z benchmarkami ICSBEP — ocena dokładności absolutnej

Kontekst metodologiczny: Model jest skalibrowany z gołych sfer ICSBEP (Godiva, Jezebel, Thor) → błąd 0% dla tych konfiguracji. Dla sfer z reflektorem model lekko niedoszacowuje (−3% do −12%), ponieważ parametry reflektora (kref) są przybliżeniem dla grubości ≥ 10 cm.

Skala oceny: ✓ ≤5% — doskonały; ✓ ≤20% — dobry; ⚠ ≤30% — do przyjęcia; ✗ >30% — niedopuszczalny. Dla wyników >30% konieczny jest model Monte Carlo (OpenMC, MCNP) lub korekta geometrii.

Eksperyment Model [kg] Ref. ICSBEP [kg] Błąd Ocena
U-235 goła sfera (Godiva)
δ = ±0,05 kg. HEU 93,7% U-235, Los Alamos 1951.
ICSBEP HEU-MET-FAST-001
54,60 54,60 +0% ✓ doskonały (≤5%)
Pu-239 goła sfera (Jezebel)
δ = ±0,05 kg. δ-Pu z 4,5 at% Ga, LASL 1954.
ICSBEP PU-MET-FAST-001
16,65 16,65 -0% ✓ doskonały (≤5%)
U-233 goła sfera (Thor)
δ = ±0,07 kg. Metal U-233, LASL 1960.
ICSBEP U233-MET-FAST-001
16,19 16,20 -0% ✓ doskonały (≤5%)
U-235 z tamprem U-238 (Flattop-25)
HEU rdzeń + gruba powłoka nat-U. LASL 1957.
ICSBEP HEU-MET-FAST-028
14,31 14,74 -3% ✓ doskonały (≤5%)
Pu-239 z tamprem U-238 (Flattop-Pu)
δ-Pu rdzeń + gruba powłoka nat-U. LASL 1956.
ICSBEP PU-MET-FAST-006
4,36 4,93 -11% ✓ dobry (≤20%)
Little Boy (HEU działowy)
Złożona konfiguracja: sfera-docelowa + walec-pocisk, H/D≈1,5. Efektywny czynnik kształtu ≈ walec optymalny (H=D). Hiroszima 1945.
DOE/NV OpenNet 1994; Sublette §8.1
64,26 64,00 +0% ✓ doskonały (≤5%)
Fat Man (Pu implozja, ρ/ρ₀=1 w picie)
~6,2 kg Pu z tamprem U-238; kompresja do ≈2× podczas detonacji. Nagasaki 1945.
DOE/NV OpenNet 1994; Sublette §8.2
4,36 6,20 -30% ⚠ do przyjęcia (≤30%)

✓ Wszystkie błędy w oczekiwanym zakresie dla skalibrowanego modelu 1-grupowego.

ICSBEP = International Criticality Safety Benchmark Evaluation Project (OECD/NEA). Little Boy / Fat Man wg DOE/NV OpenNet (1994, odtajnione). Flattop-25, Flattop-Pu — eksperymenty LASL. Fat Man: model daje masę krytyczną pit-u (4,4 kg), podczas gdy ref 6,2 kg to masa fizyczna pitu (margines).

3. Co ta walidacja sprawdza, a czego nie

✓ Sprawdzane przez te asercje

  • Poprawność równań dyfuzji neutronów
  • Prawa skalowania m ∝ 1/√ρ i R ∝ 1/√ρ
  • Relacje monotoniczne (reflektor, kompresja, kształt)
  • Kolejność materiałów według k_∞
  • Spójność metod compute(), computeWithThickness()
  • Brak błędów logicznych PHP (niezdefiniowane zmienne itp.)

⚠ Poza zakresem tej walidacji

  • Dokładność absolutna mas (wymaga Monte Carlo)
  • Efekty wielogrupowe i spektrum neutronów
  • Geometrie inne niż sfera/walec/sześcian
  • Efekty termiczne i dynamiczne (eksplozja)
  • Dane jądrowe poza tabelem MATERIALS

Pełny zestaw testów (w tym testy regresji i renderowania) dostępny jest jako skrypty CLI w katalogu public/kalkulatory/tests/ (dostęp tylko przez terminal, zablokowany dla HTTP). Uruchamianie: php public/kalkulatory/tests/run.php.

Dane źródłowe i granice precyzji

Kalkulatory broni i skutków wybuchu

Zakres wdrożenia dla tej grupy jest audytowy, nie operacyjny. Dopuszczalne zmiany to kontrola jednostek, jawne założenia, publiczne historyczne punkty odniesienia, ograniczanie liczby cyfr znaczących i sekcje „Audyt modelu”.

Nie są dodawane dane projektowe, parametry wykonawcze ani tryby zwiększające praktyczną użyteczność konstrukcyjną. Wyniki tej grupy należy traktować jako rząd wielkości albo porównanie scenariuszy; nadmiarowe cyfry znaczące nie oznaczają realnej dokładności modelu.

Audyt wdrożony: panele źródłowe i notatki modelowe mają wzmacniać opis założeń, jednostek, zakresu ważności i nieoperacyjnego charakteru narzędzi, zamiast rozwijać funkcje projektowe.

Audyt modelu: Masa krytyczna

Kalkulator szacuje masę krytyczną przez jednogrupową dyfuzję neutronów, geometrię i uproszczone reflektory, a wynik kalibruje tabelą publicznych benchmarków dla gołej sfery.

Najważniejsze uproszczenia

  • Jednogrupowa dyfuzja ma duży błąd dydaktyczny dla szybkich układów.
  • Reflektor jest redukcją empiryczną, nie modelem transportu neutronów.
  • Benchmark obejmuje tylko gołą sferę przy normalnej gęstości; nie waliduje konfiguracji z reflektorem ani kompresją.

Co można liczyć dokładniej

  • Dodać zależność od gęstości, fazy materiału i składu izotopowego.
  • Dodać reflektor jako grubość i materiał, ale bez trybu optymalizacji konstrukcyjnej.
  • Dodać szerszy zestaw benchmarków dla konfiguracji nieoperacyjnych i dydaktycznych.
  • Obecne trzy benchmarki są małą tabelą w CriticalMass.php.