# Neutron transport

Neutron transport (also known as neutronics) is the study of the motions and interactions of neutrons with materials. Nuclear scientists and engineers often need to know where neutrons are in an apparatus, in what direction they are going, and how quickly they are moving. It is commonly used to determine the behavior of nuclear reactor cores and experimental or industrial neutron beams. Neutron transport is a type of radiative transport.

## Background

Neutron transport has roots in the Boltzmann equation, which was used in the 1800s to study the kinetic theory of gases. It did not receive large-scale development until the invention of chain-reacting nuclear reactors in the 1940s. As neutron distributions came under detailed scrutiny, elegant approximations and analytic solutions were found in simple geometries. However, as computational power has increased, numerical approaches to neutron transport have become prevalent. Today, with massively parallel computers, neutron transport is still under very active development in academia and research institutions throughout the world. It remains a computationally challenging problem since it depends on time and the 3 dimensions of space, and the variables of energy span several orders of magnitude (from fractions of meV to several MeV). Modern solutions use either discrete ordinates or Monte Carlo methods, or even a hybrid of both.

## Neutron transport equation

The neutron transport equation is a balance statement that conserves neutrons. Each term represents a gain or a loss of a neutron, and the balance, in essence, claims that neutrons gained equals neutrons lost. It is formulated as follows:
    $\left({\frac {1}{v(E)}}{\frac {\partial }{\partial t}}+\mathbf {\hat {\Omega }} \cdot \nabla +\Sigma _{t}(\mathbf {r} ,E,t)\right)\psi (\mathbf {r} ,E,\mathbf {\hat {\Omega }} ,t)=\quad$
    $\quad {\frac {\chi _{p}\left(E\right)}{4\pi }}\int _{0}^{\infty }\mathrm {d} E^{\prime }\nu _{p}\left(E^{\prime }\right)\Sigma _{f}\left(\mathbf {r} ,E^{\prime },t\right)\phi \left(\mathbf {r} ,E^{\prime },t\right)+\sum _{i=1}^{N}{\frac {\chi _{di}\left(E\right)}{4\pi }}\lambda _{i}C_{i}\left(\mathbf {r} ,t\right)+\quad$
    $\quad \int _{4\pi }\mathrm {d} \Omega ^{\prime }\int _{0}^{\infty }\mathrm {d} E^{\prime }\,\Sigma _{s}\!\!\left(\mathbf {r} ,E^{\prime }\rightarrow E,\mathbf {\hat {\Omega }} ^{\prime }\rightarrow \mathbf {\hat {\Omega }} ,t\right)\psi (\mathbf {r} ,E^{\prime },\mathbf {{\hat {\Omega }}^{\prime }} ,t)+s(\mathbf {r} ,E,\mathbf {\hat {\Omega }} ,t)$
Where:
| Symbol | Meaning | Comments |
| $\mathbf {r}$ | Position vector (i.e. x, y, z) | |
| $E$ | Energy | |
| $\mathbf {\hat {\Omega }} ={\frac {\mathbf {v} (E)}{|\mathbf {v} (E)|}}={\frac {\mathbf {v} (E)}{v(E)}}$ | Unit vector (solid angle) in direction of motion | |
| $t$ | Time | |
| $\mathbf {v} (E)$ | Neutron velocity vector | |
| $\psi (\mathbf {r} ,E,\mathbf {\hat {\Omega }} ,t)\mathrm {d} r\,\mathrm {d} \!E\,\mathrm {d} \Omega$ | Angular neutron flux Amount of neutron track length in a differential volume $\mathrm {d} r$ about $r$, associated with particles of a differential energy in $\mathrm {d} E$ about $E$, moving in a differential solid angle in $\mathrm {d} \Omega$ about $\mathbf {\hat {\Omega }} ,$ at time $t.$ | Note integrating over all angles yields scalar neutron flux $\phi \ =\ \int _{4\pi }\mathrm {d} \Omega \psi$ |
| $\phi (\mathbf {r} ,E,t)\mathrm {d} r\,\mathrm {d} E$ | Scalar neutron flux Amount of neutron track length in a differential volume $\mathrm {d} r$ about $r$, associated with particles of a differential energy in $\mathrm {d} E$ about $E$, at time $t.$ | |
| $\nu _{p}$ | Average number of neutrons produced per fission (e.g., 2.43 for U-235). | |
| $\chi _{p}(E)$ | Probability density function for neutrons of exit energy $E$ from all neutrons produced by fission | |
| $\chi _{di}(E)$ | Probability density function for neutrons of exit energy $E$ from all neutrons produced by delayed neutron precursors | |
| $\Sigma _{t}(\mathbf {r} ,E,t)$ | Macroscopic total cross section, which includes all possible interactions | |
| $\Sigma _{f}(\mathbf {r} ,E^{\prime },t)$ | Macroscopic fission cross section, which includes all fission interactions in $\mathrm {d} E^{\prime }$ about $E^{\prime }$ | |
| $\Sigma _{s}\!\!\left(\mathbf {r} ,E'\rightarrow E,\mathbf {\hat {\Omega }} '\rightarrow \mathbf {\hat {\Omega }} ,t\right)\mathrm {d} E^{\prime }\mathrm {d} \Omega ^{\prime }$ | Double differential scattering cross section Characterizes scattering of a neutron from an incident energy $E^{\prime }$ in $\mathrm {d} E^{\prime }$ and direction $\mathbf {{\hat {\Omega }}^{\prime }}$ in $\mathrm {d} \Omega ^{\prime }$ to a final energy $E$ and direction $\mathbf {\hat {\Omega }} .$ | |
| $N$ | Number of delayed neutron precursors | |
| $\lambda _{i}$ | Decay constant for precursor i | |
| $C_{i}\left(\mathbf {r} ,t\right)$ | Total number of precursor i in $\mathbf {r}$ at time $t$ | |
| $s(\mathbf {r} ,E,\mathbf {\hat {\Omega }} ,t)$ | Source term | |
The transport equation can be applied to a given part of phase space (time t, energy E, location $\mathbf {r} ,$ and direction of travel $\mathbf {\hat {\Omega }} .$) The first term represents the time rate of change of neutrons in the system. The second terms describes the movement of neutrons into or out of the volume of space of interest. The third term accounts for all neutrons that have a collision in that phase space. The first term on the right hand side is the production of neutrons in this phase space due to fission, while the second term on the right hand side is the production of neutrons in this phase space due to delayed neutron precursors (i.e., unstable nuclei which undergo neutron decay). The third term on the right hand side is in-scattering, these are neutrons that enter this area of phase space as a result of scattering interactions in another. The fourth term on the right is a generic source. The equation is usually solved to find $\phi (\mathbf {r} ,E),$ since that will allow for the calculation of reaction rates, which are of primary interest in shielding and dosimetry studies.

## Types of neutron transport calculations

Several basic types of neutron transport problems exist, depending on the type of problem being solved.

### Fixed source

A fixed source calculation involves imposing a known neutron source on a medium and determining the resulting neutron distribution throughout the problem. This type of problem is particularly useful for shielding calculations, where a designer would like to minimize the neutron dose outside of a shield while using the least amount of shielding material. For instance, a spent nuclear fuel cask requires shielding calculations to determine how much concrete and steel is needed to safely protect the truck driver who is shipping it.

### Criticality

Fission is the process through which a nucleus splits into (typically two) smaller atoms. If fission is occurring, it is often of interest to know the asymptotic behavior of the system. A reactor is called “critical” if the chain reaction is self-sustaining and time-independent. If the system is not in equilibrium the asymptotic neutron distribution, or the fundamental mode, will grow or decay exponentially over time.
Criticality calculations are used to analyze steady-state multiplying media (multiplying media can undergo fission), such as a critical nuclear reactor. The loss terms (absorption, out-scattering, and leakage) and the source terms (in-scatter and fission) are proportional to the neutron flux, contrasting with fixed-source problems where the source is independent of the flux. In these calculations, the presumption of time invariance requires that neutron production exactly equals neutron loss.
Since this criticality can only be achieved by very fine manipulations of the geometry (typically via control rods in a reactor), it is unlikely that the modeled geometry will be truly critical. To allow some flexibility in the way models are set up, these problems are formulated as eigenvalue problems, where one parameter is artificially modified until criticality is reached. The most common formulations are the time-absorption and the multiplication eigenvalues, also known as the alpha and k eigenvalues. The alpha and k are the tunable quantities.
K-eigenvalue problems are the most common in nuclear reactor analysis. The number of neutrons produced per fission is multiplicatively modified by the dominant eigenvalue. The resulting value of this eigenvalue reflects the time dependence of the neutron density in a multiplying medium.
* k$_{eff}$ < 1, subcritical: the neutron density is decreasing as time passes;
* k$_{eff}$ = 1, critical: the neutron density remains unchanged; and
* k$_{eff}$ > 1, supercritical: the neutron density is increasing with time.
In the case of a nuclear reactor, neutron flux and power density are proportional, hence during reactor start-up k$_{eff}$ > 1, during reactor operation k$_{eff}$ = 1 and k$_{eff}$ < 1 at reactor shutdown.

## Computational methods

Both fixed-source and criticality calculations can be solved using deterministic methods or stochastic methods. In deterministic methods the transport equation (or an approximation of it, such as diffusion theory) is solved as a differential equation. In stochastic methods such as Monte Carlo discrete particle histories are tracked and averaged in a random walk directed by measured interaction probabilities. Deterministic methods usually involve multi-group approaches while Monte Carlo can work with multi-group and continuous energy cross-section libraries. Multi-group calculations are usually iterative, because the group constants are calculated using flux-energy profiles, which are determined as the result of the neutron transport calculation.

### Discretization in deterministic methods

To numerically solve the transport equation using algebraic equations on a computer, the spatial, angular, energy, and time variables must be discretized.
* Spatial variables are typically discretized by simply breaking the geometry into many small regions on a mesh. The balance can then be solved at each mesh point using finite difference or by nodal methods.
* Angular variables can be discretized by discrete ordinates and weighting quadrature sets (giving rise to the S$_N$ methods), or by functional expansion methods with the spherical harmonics (leading to the P$_N$ methods).
* Energy variables are typically discretized by the multi-group method, where each energy group represents one constant energy. As few as 2 groups can be sufficient for some thermal reactor problems, but fast reactor calculations may require many more.
* The time variable is broken into discrete time steps, with time derivatives replaced with difference formulas.

### Computer codes used in neutron transport
#### Probabilistic codes

* COG - A LLNL developed Monte Carlo code for criticality safety analysis and general radiation transport (http://cog.llnl.gov)
* MCBEND – A Monte Carlo code for general radiation transport developed and supported by the ANSWERS Software Service.
* MCNP – A LANL developed Monte Carlo code for general radiation transport
* MC21 – A general-purpose, 3D Monte Carlo code developed at NNL.
* MCS – The Monte Carlo code MCS has been developed since 2013 at Ulsan National Institute of Science and Technology (UNIST), Republic of Korea.
* Mercury – A LLNL developed Monte Carlo particle transport code.
* MONK – A Monte Carlo Code for criticality safety and reactor physics analyses developed and supported by the ANSWERS Software Service.
* MORET – Monte-Carlo code for the evaluation of criticality risk in nuclear installations developed at IRSN, France
* OpenMC – An open source, community-developed open source Monte Carlo code
* RMC – A Tsinghua University Department of Engineering Physics developed Monte Carlo code for general radiation transport
* SCONE – The Stochastic Calculator Of the Neutron Transport Equation, an open-source Monte Carlo code developed at the University of Cambridge.
* Serpent – A VTT Technical Research Centre of Finland developed Monte Carlo particle transport code
* Shift/KENO – ORNL developed Monte Carlo codes for general radiation transport and criticality analysis
* TRIPOLI – 3D general purpose continuous energy Monte Carlo Transport code developed at CEA, France

#### Deterministic codes

* Ardra – A LLNL neutral particle transport code
* Attila – A commercial transport code
* DRAGON – An open-source lattice physics code
* PHOENIX/ANC – A proprietary lattice-physics and global diffusion code suite from Westinghouse Electric
* PARTISN – A LANL developed transport code based on the discrete ordinates method
* NEWT – An ORNL developed 2-D S$_N$ code
* DIF3D/VARIANT – An Argonne National Laboratory developed 3-D code originally developed for fast reactors
* DENOVO – A massively parallel transport code under development by ORNL
* Jaguar – A parallel 3-D Slice Balance Approach transport code for arbitrary polytope grids developed at NNL
* DANTSYS
* RAMA – A proprietary 3D method of characteristics code with arbitrary geometry modeling, developed for EPRI by TransWare Enterprises Inc.
* RAPTOR-M3G – A proprietary parallel radiation transport code developed by Westinghouse Electric Company
* OpenMOC – An MIT developed open source parallel method of characteristics code
* MPACT – A parallel 3D method of characteristics code under development by Oak Ridge National Laboratory and the University of Michigan
* DORT – Discrete Ordinates Transport
* APOLLO – A lattice physics code used by CEA, EDF and Areva
* CASMO/SIMULATE – A proprietary lattice-physics and diffusion code suite developed by Studsvik for LWR analysis including square and hex lattices
* HELIOS – A proprietary lattice-physics code with generalized geometry developed by Studsvik for LWR analysis
* milonga – A free nuclear reactor core analysis code
* STREAM – A neutron transport analysis code, STREAM (Steady state and Transient REactor Analysis code with Method of Characteristics), has been developed since 2013 at Ulsan National Institute of Science and Technology (UNIST), Republic of Korea