The Neutron Transport Equation
The Boltzmann transport equation that both Kronos neutronics workloads solve, and why its structure dictates the compute approach.
The governing equation
All Kronos neutronics, breeder breeding and burner shielding alike, is governed by the linear Boltzmann transport equation for the angular neutron flux. In steady state it balances streaming, collisions, scattering-in, and sources across seven dimensions: three of space, two of angle, one of energy, and time.
# Steady-state neutron transport (angular flux psi):
# Omega . grad(psi) + Sigma_t(r,E) psi(r,Omega,E)
# = integral_E' integral_4pi Sigma_s(r,E'->E, Omega'->Omega) psi dOmega' dE'
# + S(r,Omega,E)
# Omega : direction Sigma_t : total cross-section Sigma_s : scattering kernel
Why seven dimensions forces a choice
Discretizing all seven dimensions on a grid is prohibitive: fine angle, energy, and space multiply into an intractable unknown count, and the sharp resonances in nuclear cross-sections demand very fine energy resolution. This is why Kronos solves the equation stochastically with Monte Carlo rather than deterministically for its production neutronics.
The Monte Carlo interpretation
Monte Carlo does not discretize the equation; it samples its solution. Each simulated history is a random walk drawn from the same collision and scattering probabilities the equation encodes, and the average over many histories converges to the flux. Tallies estimate integrals of the flux, breeding rate, heating, damage, as expected values.
- Streaming term: transport between collisions
- Total cross-section: collision probability per path length
- Scattering kernel: redistribution in angle and energy
- Source: 14 MeV D-T in the breeder, D-D and secondaries in the burner
The adjoint form of the same equation, run backward from the tally, yields the importance function used in variance reduction. Forward and adjoint are two readings of one equation, and Kronos uses both: forward to score quantities, adjoint to steer sampling toward where those quantities live.
Understanding the equation's structure is what justifies the L0 compute design. Its high dimensionality and resonance structure make it Monte-Carlo-shaped, its per-history independence makes it scale to huge node counts, and its slow one-over-root-N convergence is exactly what variance reduction exists to beat.