Theory & Method
Neutron Life Cycle Simulator · AntraSIM-0110 · version 1.0.0 · build 2026-09-24. This document describes the model as implemented in the application ; the numbers and tables that depend on the model (verification results, regression values, parameter defaults, expected exercise results) were generated at build time from the same core code that the application runs.
How to read this document. Each topic follows the progression Intuition → Physical mechanism → Mathematical formulation → Engineering interpretation → Assumptions and limitations . Section 12 contains laboratory exercises with expected results; each exercise has a Load set-up button that configures the simulator exactly as described.
Model status. Software-verified (Section 7) against independent bookkeeping, closed-form branching-process moments, an independent Bessel-zero calculation and hand calculations of the shutdown margin. Not validated against plant or lattice-code data: every factor and every reactivity component is an illustrative input classified as assumption or estimate — not verified (Sections 8 and 10). Principle simulator for training; not safety-grade and not a Technical-Specification calculation.
1. Physical Background
Intuition A reactor core is a population of neutrons that is renewed generation by generation. Every neutron born in fission ends its life in one of a few ways: it leaks out of the core, it is captured in a resonance of U-238 while slowing down, it is absorbed in something that is not fuel, or it is absorbed in fuel — and only in fuel can it cause a fission that gives birth to the next generation. The ratio between the population of one generation and the previous one is the effective multiplication factor keff . If it is exactly one the population is constant (critical); if it is larger the population grows, if smaller it decays.
Physical mechanism
fission neutrons → fast fission (ε) → fast leakage (PFNL ) → resonance capture (p) → thermal leakage (PTNL ) → thermal absorption in fuel (f) → neutrons per absorption (η) = next generation
The shutdown margin (SDM) answers a different but related question: by how much would the core be subcritical if every control rod were inserted except the one with the highest worth, and the core were in its most reactive condition (cold, xenon-free)? It is assembled from reactivity contributions rather than from a full core calculation.
Engineering interpretation The life-cycle picture explains why a control rod (extra absorption, lower f), a change in moderator density or temperature (all factors move) or a change in core size (leakage) change reactivity, and it explains why xenon and burnup change shutdown margin. Assumptions and limitations One neutron group per stage with fixed factors; the factors do not respond to temperature, void or xenon (Section 9).
2. Assessment of the Source Material and Learning Objectives
The learning objectives come from NUREG-1021, BWR catalog, Reactor Theory, section 292002 (Neutron life cycle and multiplication) [1], consulted at excerpt level. No earlier model was the source, so there are no source-model findings.
Objective (paraphrased) Support in AntraSIM-0110
Describe the neutron life cycle and the six factors Life-cycle waterfall, per-1000-neutron balance, factor inputs.
Define keff , reactivity, criticality, sub- and supercritical keff , ρ in pcm, generation plot with the deterministic curve N0 kg and stochastic runs.
Effect of leakage and core size Geometry mode: PFNL and PTNL from the buckling of a bare cylinder.
Calculate shutdown margin and its change with plant parameters SDM from reactivity components; temperature, xenon and exposure inputs; SDM-versus-temperature plot.
Neutron lifetime, delayed-neutron effect on the time behaviour Not modelled (generations, not seconds); see the point-kinetics simulators of the family and AntraSIM-0130.
Feedback dependence of the factors Not modelled here (factors are inputs); see AntraSIM-0140.
Table 2.1 — Coverage of the objectives. Audit finding A-1: the factor values are illustrative inputs, not lattice-code results; this is stated wherever they are shown.
3. Governing Equations
Intuition The chance of surviving each stage of the cycle multiplies, so the multiplication factor is a product.
Mathematical formulation
k ∞ = η f p ε , k e f f = k ∞ P F N L P T N L , ρ = k e f f − 1 k e f f
with η [–] the neutrons produced per thermal neutron absorbed in fuel, f [–] the fraction of thermal absorptions that occur in fuel, p [–] the resonance escape probability, ε [–] the fast fission factor, PFNL and PTNL [–] the fast and thermal non-leakage probabilities and ρ the reactivity (1 pcm = 10⁻⁵). In geometry mode the non-leakage probabilities follow from one-group diffusion theory for a bare cylinder with extrapolated radius R and height H:
B 2 = ( 2.405 R ) 2 + ( π H ) 2 , P F N L = e − B 2 τ , P T N L = 1 1 + L 2 B 2
with B² [cm⁻²] the geometric buckling, τ [cm²] the Fermi age and L² [cm²] the thermal diffusion area. Starting from N0 neutrons, the deterministic population is Ng = N0 keff g . In the stochastic version each generation is a Poisson draw with mean keff Ng−1 (a Galton–Watson branching process), whose mean and variance after n generations are
E [ N n ] = N 0 k n , V a r [ N n ] = N 0 k n k n − 1 k − 1 ( k ≠ 1 ) , V a r [ N n ] = N 0 n ( k = 1 )
and the probability that all N0 lines have died out by generation n is qn N0 with qm+1 = exp(k(qm − 1)), q0 = 0. The shutdown margin is the negative of the net reactivity of the reference core after stated changes:
S D M = − [ ρ A R O − W a l l + W l a s t + α T ( T − 20 ∘ C ) − ϕ X e W X e + Δ ρ e x p ]
with ρARO [pcm] the reactivity with all rods out (cold, xenon-free, reference exposure), Wall the total rod worth, Wlast the incremental worth of the strongest rod when it is the last one withdrawn, αT [pcm/K] the average temperature coefficient, φXe the fraction of equilibrium xenon of worth WXe , and Δρexp the shift of the k-excess with exposure. Engineering interpretation Because the core is most reactive cold and xenon-free, the margin there is the smallest and is the one that is checked. Assumptions and limitations Reactivity contributions are added linearly; rod interference is captured only through Wlast .
4. Inputs and Operating Conditions
Six factors; leakage from direct probabilities or from geometry (R, H, τ, L²); the number of fission neutrons in the balance; N0 , number of generations, number of stochastic runs and seed; and the shutdown-margin components (ρARO , Wall , Wlast , αT , temperature, xenon worth and fraction, exposure shift, required margin). Fields that are not in use (for example PFNL in geometry mode) are greyed out but stay in the configuration and the IC. Percent-type quantities are fractions; reactivity is in pcm. Events with a sign convention: every reactivity component is stated as an increment added to the preceding total, and a zero component changes nothing. There is no time-dependent operating input.
Input Configuration (IC) and CSV The Input Configuration (IC) is a JSON file (format “AntraSIM-input-configuration”, schemaVersion 1 ) that stores the complete canonical configuration; every key carries its unit. Loading is all-or-nothing: the file is parsed, identified (format, schema, application id), compared structurally with the reference configuration (same keys, same types, admissible array lengths), range-checked, and only then committed. Older schemas would be migrated by an explicit registered migration or rejected with a message; a migration hook is exercised by the verification suite. Restore defaults returns every input, table and exercise-dependent setting to the reference configuration. CSV exports carry metadata lines (#), the complete IC as one # line and ASCII-only column names.
5. Calculated Quantities
k∞ , keff , ρ; the critical value of f with the other factors fixed; the neutron balance per stated number of fission neutrons; the effect of each factor relative to the reference case (all other factors at reference); populations per generation; SDM and margin. For the default case k∞ = 1.01618, keff = 0.999953 (ρ = -4.665 pcm), and one generation of 1000 neutrons ends with 999.95 neutrons.
Table 5.1 — Neutron balance of the default case (generated from the code).
Stage Factor Neutrons before Neutrons after Change Fast fission 1.06 1000 1060 +60 Fast leakage 0.986 1060 1045.16 −14.84 Resonance capture 0.76 1045.16 794.322 −250.8 Thermal leakage 0.998 794.322 792.733 −1.589 Non-fuel absorption 0.742 792.733 588.208 −204.5 Fission neutron production 1.7 588.208 999.953 +411.7
Table 5.2 — Leakage from geometry for four core sizes (τ = 45 cm², L² = 5 cm²; generated from the code).
Core (R × H, extrapolated) B² [cm⁻²] PFNL PTNL keff 100 cm × 200 cm 0.0008251 0.96355 0.99589 0.97512 170 cm × 300 cm 0.0003098 0.98616 0.99845 1.0006 250 cm × 400 cm 0.0001542 0.99308 0.99923 1.0084 500 cm × 800 cm 0.00003855 0.99827 0.99981 1.0142
6. Numerical Method
All life-cycle quantities are closed-form products; no iteration is used. The Poisson sampler uses Knuth’s multiplication method for means below 30 and a rounded normal approximation above; the generator is the seeded mulberry32 of the family core, so runs reproduce bit for bit. Runs use seeds s, s+1, … The SDM-versus-temperature curve is evaluated on a 5 K grid. The default case takes 0 ms, so all results are recomputed after every valid input change.
7. Verification and Numerical Accuracy
Verification shows that the equations are solved correctly; it is not validation. The suite runs in the application and in Node with the same code. During development one test failed because of a sign error in the test’s own hand calculation of the temperature term (αT is negative, so the margin increases with temperature); the model was correct and the test was corrected, and the regression values were stored after the first run.
Table 7.1 — Release verification suite (15 of 15 passed; generated from an actual run).
ID Test Criterion Result Measured T1 Neutron bookkeeping over one generation reproduces k_eff = η f p ε P_FNL P_TNL (independent multiplication) relative difference ≤ 1e-12 PASS 2.22e-16 T2 Neutron conservation: births + fast-fission gain − all losses + η·(fuel absorption) = next generation; fission + capture = fuel absorption closure ≤ 1e-12 PASS 0 T3 First zero of J₀ used in the cylinder buckling vs. independent bisection on the power series of J₀ |Δ| ≤ 1e-12 PASS 0 ; B² 4.1494e-4 T4 Non-leakage probabilities: → 1 for a large core, decrease monotonically for a smaller core; P_FNL = exp(−B²τ), P_TNL = 1/(1 + L²B²) large core > 0.98; small core lower; formulas exact PASS large 0.9983/0.9998 ; small 0.8898/0.9872 T5 Poisson sampler (Knuth below 30, normal approximation above): mean and variance for λ = 3, 50, 1000 mean within 4 σ, variance within 5 % PASS max 1.59 σ T6 Poisson branching process: mean N₀kⁿ and variance N₀kⁿ(kⁿ−1)/(k−1) after 10 generations (k = 1.03, 0.97, 1) vs. 3000 stochastic runs mean within 4 σ, variance within 10 % PASS worst indicator 1.57 T6b Extinction probability of a critical chain (N₀ = 5, 20 generations) vs. iteration of the offspring generating function q ← exp(k(q − 1)), P = q^N₀ within 4 standard errors PASS 0.6383 vs 0.6324 T7 Shutdown margin: cold, Xe-free SDM = −(ρ_ARO − W_all + W_last) by hand; SDM increases with temperature (α_T < 0) and with xenon exact by hand; monotonic PASS cold 1700 pcm; 286 °C 3828 pcm; Xe 4200 pcm T8 Multiplicative semantics: a 1 % change of any single factor changes k_eff by exactly 1 %; ε = 1 (zero fast-fission gain) adds no neutrons relative difference ≤ 1e-12 PASS 2.22e-16 T9 Critical-factor solver: setting f = f_crit gives k_eff = 1 and ρ = 0 |k_eff − 1| ≤ 1e-12 PASS 0 T10 Determinism: same seed reproduces every stochastic run; a different seed changes them identical / different PASS run 1, generation 60: 167 (seed 2024) vs 584 (seed 99) T11 IC round trip restores every input exactly; 7 malformed files are rejected; an explicit migration is applied and reported exact; 7 of 7 rejected; migratedFrom = 0 PASS round trip true; rejected 7/7; migrated from 0 T12 All laboratory exercise set-ups are valid and produce finite results 6 of 6 PASS 6 set-ups T13 Default-case regression values (k∞, k_eff, next-generation neutrons per 1000, cold SDM, stochastic run 1 at generation 60) max relative difference ≤ 1e-9 to the stored values PASS 0 (k_eff = 0.999953) T14 Invalid inputs are refused: η out of range, f > 1, too many runs, population overflow 4 of 4 rejected PASS 4 of 4
Default-case regression values: keff = 0.999953, next generation 999.95 per 1000, cold SDM 1700 pcm, stored in test T13.
8. Model Parameters and Constants
Evidence classes: externally sourced derived assumption not verified . Reference case: hot, critical, mid-cycle BWR-type core for the life cycle, and cold, xenon-free beginning-of-cycle core for the shutdown margin. There is no earlier release; the assessment is in the basis column.
Parameter Default Unit Class Basis and assessment Editable
η 1.7 – assumption Illustrative value for about 4 % enriched UO2 in a hot spectrum (the 2200 m/s value for this enrichment is near 1.9). Reference case is a hot, critical, mid-cycle BWR-type core (Section 9). yes
f 0.742 – assumption Includes thermal absorption in control rods, burnable poison, xenon, structure and moderator, hence lower than a fresh, clean-lattice value; chosen so that keff ≈ 1 with the other factors (derived closure, not measured). yes
p 0.76 – assumption Typical range for LWR lattices 0.7–0.85; not verified against a lattice code. yes
ε 1.06 – assumption Fast fission factor, typical 1.02–1.10 for LWR fuel; not verified. yes
PFNL , PTNL 0.986, 0.998 – assumption Product 0.984 (1.6 % leakage), plausible for a large power reactor; the geometry mode gives 0.986 and 0.998 for R = 170 cm, H = 300 cm, τ = 45 cm², L² = 5 cm² (see Table 5.1). yes (direct or geometry)
τ, L² 45, 5 cm² not verified Estimates of the Fermi age and thermal diffusion area of a lattice-averaged LWR core; lattice-code values were not consulted. yes
ν 2.43 – externally sourced Neutrons per thermal fission of U-235 (rounded); used only to split fuel absorption into fission and capture in the displayed balance. no
N0 , generations, seed 500, 60, 2024 – assumption Small enough for visible fluctuations, large enough that the default runs do not go extinct within 60 generations at keff ≈ 1 (standard deviation √(N0 n) ≈ 170 at n = 60). yes
ρARO 14000 pcm assumption Reactivity of the cold, xenon-free core with all rods out (k = 1.163); a design-type value for a BWR beginning of cycle, not verified. yes
Wall , Wlast 17000, 1300 pcm assumption Total rod worth 17 %Δk/k and strongest-rod worth 1.3 %Δk/k when withdrawn last from an otherwise fully inserted core; assumptions of the right order of magnitude, not verified. yes
αT -8 pcm/K assumption Average temperature coefficient between 20 °C and operating temperature giving about −2100 pcm at 286 °C; assumption. yes
Xe worth 2500 pcm assumption Equilibrium xenon worth at full power of the order of 2–3 %Δk/k; assumption. yes
Required SDM 380 pcm not verified 0.38 %Δk/k, of the order of the BWR Technical-Specification requirement when the strongest rod worth is determined by testing; value recalled, not verified against the current Technical Specifications of any plant. yes
Consistency check: the factors multiply to keff = 0.999953; the critical thermal utilisation is 0.74203; the default temperature coefficient gives −2128 pcm at 286 °C, and rod worth minus k-excess leaves 1700 pcm of margin, i.e. 1320 pcm above the assumed requirement of 380 pcm.
9. Model Scope and Limitations
Represented The multiplicative life cycle for a fixed set of factors; bare-cylinder leakage; statistics of a Poisson-branching chain; a linear reactivity budget for the shutdown margin. Not represented Dependence of η, f, p and ε on temperature, void, boron, rods, xenon and burnup (see AntraSIM-0140 and -0105); reflectors and heterogeneity; neutron lifetime and delayed neutrons; spatial rod interference beyond the single Wlast input; non-linear temperature effects and steam voids above 100 °C. The shutdown margin is not a Technical-Specification calculation.
10. Data Provenance and Open Points
What was found Learning objectives from NUREG-1021 [1] (excerpt level). What was not found Lattice-code values for the factors; current Technical-Specification wording for the shutdown-margin requirement. Unverified items All factor values, τ and L², the rod worths, the temperature coefficient, the xenon worth and the required margin of 380 pcm (recalled, not verified). Do not quote these as plant data.
11. References
External standards and reports
[1] U.S. Nuclear Regulatory Commission, Operator Licensing Examination Standards for Power Reactors , NUREG-1021 (BWR K/A catalog, Reactor Theory, section 292002). Consulted at excerpt level (project copy).
[2] J. R. Lamarsh and A. J. Baratta, Introduction to Nuclear Engineering , 3rd ed., Prentice Hall, 2001. Further reading — not consulted (six-factor formula, bare-reactor leakage).
[3] J. J. Duderstadt and L. J. Hamilton, Nuclear Reactor Analysis , Wiley, 1976. Further reading — not consulted .
[4] U.S. DOE, DOE Fundamentals Handbook — Nuclear Physics and Reactor Theory , DOE-HDBK-1019/2-93. Further reading — not consulted .
[5] T. E. Harris, The Theory of Branching Processes , Springer, 1963. Further reading — not consulted (mean, variance and extinction of Galton–Watson processes).
Antranova model basis
[A1] Antranova Engineering AB, AntraSIM Production System Prompt v1.0.3 and AntraSIM Template v1.0.0 .
12. Exercises and Laboratory Work
Six exercises of about 15–20 minutes. Each has a Load set-up button; the numbers under Expected results come from the same code and reproduce exactly (stochastic values with the stated seed).
Exercise 1 — Life cycle of 1000 neutrons
Objective: follow the neutron population through one generation.
Learning outcomes. Name the six stages; say where neutrons are lost and where they are gained; relate the balance to keff .
Load set-up reference hot-critical case, 1000 fission neutrons.
Read the balance in the Inspection panel and in the waterfall plot (hover a stage). Which stage loses the most neutrons? Which stage adds neutrons? How many neutrons are absorbed in fuel, and how many of them cause fission?
Expected results. Fast fission adds 60; fast leakage 14.84, resonance capture 250.8, thermal leakage 1.589 and non-fuel absorption 204.5 are lost; 588.21 are absorbed in fuel, of which 411.5 cause fission and 176.7 are captured without fission; the next generation has 999.95 neutrons, i.e. keff = 0.999953. Resonance capture is the largest single loss.
Stage Factor Neutrons before Neutrons after Change Fast fission 1.06 1000 1060 +60 Fast leakage 0.986 1060 1045.16 −14.84 Resonance capture 0.76 1045.16 794.322 −250.8 Thermal leakage 0.998 794.322 792.733 −1.589 Non-fuel absorption 0.742 792.733 588.208 −204.5 Fission neutron production 1.7 588.208 999.953 +411.7
Discussion. Why is ε shown as a gain and not as a probability?
Exercise 2 — Control rods and thermal utilisation
Objective: relate control-rod insertion to f, keff and reactivity.
Learning outcomes. Explain why rods act on f; estimate the reactivity effect of a change in f; find the critical f.
Load set-up rods inserted: f = 0.72.
Read keff and ρ. Is the core sub- or supercritical? How fast does the population fall per generation? Step f upward with the stepper until keff = 1; compare with the “critical f” hint.
Expected results. keff = 0.97031, ρ = -3060 pcm (the change relative to the reference, listed under Factor effects, is -3056 pcm). The critical f is 0.74203. A 1 % change in any factor changes keff by 1 %, because the factors multiply.
Discussion. Withdrawing rods raises f; why does the reactivity change per rod movement depend on the rod’s position in the core?
Exercise 3 — Leakage and core size
Objective: quantify leakage with diffusion theory.
Learning outcomes. Explain why fast leakage dominates in water reactors and why large cores leak less.
Load set-up geometry mode, R = 100 cm, H = 200 cm.
Read B², PFNL , PTNL and keff . Set R = 170 cm, H = 300 cm and then R = 250 cm, H = 400 cm.
Expected results. Small core: B² = 0.0008251 cm⁻², PFNL = 0.96355, PTNL = 0.99589, keff = 0.97512 (ρ = -2551 pcm). Medium core: PFNL = 0.98616, PTNL = 0.99845, keff = 1.0006. Large core: PFNL = 0.99308, PTNL = 0.99923, keff = 1.0084. Table 5.2 lists all four cores. PFNL is always the smaller of the two because τ is much larger than L².
Discussion. How would a water reflector change these numbers, and is it in the model?
Exercise 4 — Statistics of a critical chain
Objective: see that a critical core is a statistical object at low population.
Learning outcomes. Explain fluctuations and extinction of a chain at k = 1; relate the spread to √(N0 n).
Load set-up keff = 0.999994, N0 = 100, 60 generations, five runs, seed 11.
Read the five populations at the last generation (set the inspection generation by clicking the plot). Compare their spread with the theoretical standard deviation. Change the seed; how often does a run disappear from the log plot?
Expected results. Populations at generation 60: 18, 126, 237, 100, 88. The theoretical standard deviation is 77.5 around the mean N0 . The probability that a chain of 100 neutrons has died out by then is 4.01 % (600 Monte Carlo runs: 3.83 %); for only 5 initial neutrons it would be 85.1 %.
Discussion. Why does a real reactor at power not show this behaviour?
Exercise 5 — Shutdown margin with the strongest rod out
Objective: calculate SDM and its dependence on temperature and xenon.
Learning outcomes. Evaluate SDM from reactivity components; explain why the cold, xenon-free condition is limiting.
Load set-up cold (20 °C), xenon-free.
Read the waterfall and the SDM; check it by hand from ρARO , Wall and Wlast . Click the SDM-versus-temperature plot at about 286 °C; then set the xenon fraction to 1.
Expected results. Cold, xenon-free: SDM = 1700 pcm (1320 pcm above the requirement of 380 pcm). Cold with equilibrium xenon: 4200 pcm. At 286 °C, xenon-free: 3828 pcm; with xenon: 6328 pcm. Temperature and xenon both increase the margin, so the smallest margin is cold and xenon-free.
Discussion. Why is the strongest rod, and not a randomly chosen rod, assumed stuck out?
Exercise 6 — Loss of margin
Objective: see how a larger k-excess and a stronger rod erode the margin.
Learning outcomes. Identify which component dominates a loss of margin; compare with the requirement.
Load set-up exposure shift +600 pcm, strongest rod 2000 pcm.
Read the SDM and the margin above the requirement. Set Wlast to 2200 pcm; then return it and increase the exposure shift instead.
Expected results. SDM = 400 pcm, margin 20 pcm: the requirement is met, but only just (meets the requirement). With only the exposure shift raised to 900 pcm (strongest rod at the reference 1300 pcm) the SDM is 800 pcm; with only the strongest rod raised to 2600 pcm (no exposure shift) it is 400 pcm. Each pcm of additional k-excess or of strongest-rod worth removes one pcm of margin.
Discussion. What operational measures restore margin (rod patterns, poison, limiting the k-excess)?