Multigroup discretisation¶
We wish to prove the multigroup formm of the neutron transport equation:
We will show this for the general case (where multiple unknowns per group are allowed) and then specialize it to the standard multigroup transport equation.
Proof¶
We define energy group \(g\) as the energy interval \(E \in [E_{g}, E_{g-1}]\), where \(E_0\) is the highest energy and \(E_G\) is the lowest energy (for a total of \(G\) energy groups).
We now modify the neutron transport equation
as follows. For each group, we define basis functions \(\chi_{gp}\). These basis functions have \(\sum_{p} \chi_{gp} = 1\) for all \(E \in [E_{g}, E_{g-1}]\). Multiply the transport equation by \(\chi_{gp}(E)\) and integrate over \(E\).
Left hand side¶
For the left-hand-side, we have
By defining the quantities
this can be rewritten as
Scattering term¶
For the right-hand-side scattering term, we recognize that, in most cases, scattering only depends on \(\Omega'\cdot \Omega\) instead of both separately. Then, we can expand it into a Legendre series:
where \(P_l\) are the Legendre polynomials and \(\sigma^s_{l}(\mathbf{r}, E' \to E)\) are the Legendre moments of the scattering cross section, computed by:
This significantly reduces the amount of data required to represent the scattering cross section. Furthermore, this is in practice a good approximation: truncating the sum to the first three terms is already sufficient in many cases. By the spherical harmonic addition theorem and using the definition of the spherical harmonics, this can be rewritten as
Then, we can fill this into the scattering term (we separate the \(E\) integral into group integrals):
Under the integral, we are free to multiply with \(\sum_{g'p'} \chi_{g'p'}(E')=1\). Then, taking the sum out of the integral:
Then, we define:
and we obtain:
External Source term¶
Finally, for the external source term we can simply define:
Putting it all together¶
This yields the multigroup transport equation, which is a nonlinear equation due to the dependence of the cross sections on the fluxes:
The way out is to use a closure relation. This closure relation approximates the dependence of the cross sections on the fluxes by a good guess. If this guess is exactly right, this consistently yields the exact solution. In practice, one uses cross sections generated from a different code, possibly in a simplified scenario (e.g. infinite medium, homogeneous material compositions, etc.). If the guess is good, then the closure approximation is good, and the result of this equation will be good.
This yields the standard linear multigroup transport equation used in practice:
Now, there is no dependence of the cross sections on the fluxes anymore. This can be self-consistenly solved by providing appropriate cross sections.
Simplification to single unknown per group¶
If we assume that there is only a single unknown per group (i.e., \(p=1\)), then we can drop the \(p\) index everywhere. This yields the standard multigroup transport equation as used in many textbooks:
with the multigroup cross sections defined as:
It is somewhat surpsising that the total cross sections depends on the angle \(\Omega\). This is because the spectrum is not constant in all directions: then, the flux weighing will yield different results for different angles. In practice, the total cross section is implemented as independent of angle. A correction can be applied (see Lewis & Miller, pg 76) in the scattering operator.
Furthermore, the scattering cross section is now a function of both \(l\) and \(m\) for a similar reason. Physically, this means that neutrons propagating in different directions will have different scattering cross sections. This is unphysical in the first expansion (the material doesn’t care which direction the neutron comes from except for crystals and other anisotropic materials), however, here it arises due to the flux weighing again. In practice, this is not always taken into account and all \(m\) moments are set equal.
Finally, the OpenMC tallies for the scattering cross sections are different: they do not weigh with \(Y_{lm}\) at all. This is somewhat confusing to me, as even in the 1D case in Lewis & Miller eq. 2-57, the cross section is weighed by \(\phi_l\) (and thus with \(P_l\)). My guess is that if the flux profile is sufficiently flat, (\(\phi_{lm}(E)\approx \phi_{lm}\) within the energy group) then both result in the same result, and thus the OpenMC tallies are a good approximation.