|
minimc 0.5.1
|
MiniMC currently supports two transport methods: surface tracking and intracell delta tracking. Surface tracking (implemented in SurfaceTracking) searches for the nearest surface intersection at each step. Intracell delta tracking (imlemented in CellDeltaTracking) also searches for the nearest surface intersection at each step but uses a majorant cross section within a Cell to find a distance to collision. Regular delta tracking does not search for the nearest surface interseaction at all but uses a majorant cross section across all Cell objects in the World to find a distance to collision.
| Transport Method | \( T \) Dependence in Cell | Continuous \( T \) Thermal Scattering? | Supported? |
|---|---|---|---|
| Surface Tracking | Constant | No | Yes |
| Yes | |||
| Continuous | No | No, surface tracking assumes constant cross section within a Cell | |
| Yes | |||
| Intracell Delta Tracking | Constant | No | Yes, but somewhat pointless |
| Yes | |||
| Continuous | No | Yes, see Continuous Temperature | |
| Yes |
The above table roughly corresponds to logic implemented in the definition of TransportMethod::Create.
When the temperature in a Cell is constant but thermal scattering data is provided through continuous-in-temperature \( S(\alpha, \beta, T) \) data, neutron transport must consider the following:
There are three regimes defined by two incident neutron threshold energies:
For unbound targets and incident neutron energies \( E < E_{\text{static}} \), the target velocity is non-negligible so free gas scattering adjustments must be made to the scattering (and consequently, total) cross section
\[ \Sigma_s(E) = \Sigma_{\text{fr}} \left[ \left( 1 + \frac{1}{2 A x^{2}} \right) \text{erf} \left( \sqrt{A} x \right) + \frac{e^{-A x^{2}}}{\sqrt{\pi A} x} \right] \]
where \( x = \sqrt{E / k T} \) and \( A \) is the atomic weight ratio of the target. When performing delta tracking, a majorant \( \Sigma_m \) can be obtained by observing that
\[ \frac{\partial \Sigma_s}{\partial x} = -\Sigma_{\text{fr}} \frac{\text{erf}\left( \sqrt{A} x \right)}{A x^{3}} \leq 0 \]
so the maximum value of \( \Sigma_s \) occurs at the minimum value of \( x \) or at the maximum temperature in the cell.
For bound targets, if \( E_{\text{thermal}} \leq E \), then the target is treated as a free gas and the same rules for unbound targets apply. If \( E < E_{\text{thermal}} \), then thermal scattering is valid and adjustments must be made to the scattering (and consequently, the total) cross section. The scattering cross section for a thermal neutron with incident energy \( E \) on a target at temperature \( T \) is
\[ \sigma_{s} (E \mid T) = \frac{\sigma_b A k T}{4 E} e^{-\beta / 2} \int_{\beta_\text{min}}^{\beta_{\text{max}}} \int_{\alpha_\text{min}}^{\alpha_{\text{max}}} S(\alpha, \beta, T) \, d\alpha \, d\beta \]
Though in principle this integral could be performed on-the-fly, this is currently evaluated by choosing some energy and temperature grid and precomputing the integral at specific values. Actual values of \( E \) and \( T \) encountered during transport are used to interpolate values from the grid.
If there is continuous temperature dependence within in a Cell, then transporting a neutron within that Cell will require the use of delta tracking. A majorant cross section for that Cell will have to account for all possible temperatures \( T \) within the Cell. Moreover, the majorant cross section \( \Sigma_{m}(E) \) for a particular nuclide will have to include adjustments due to free gas scattering and thermal scattering where applicable. Specifically, if
then we require that
\[ \forall T, \quad \Sigma_{t, \text{tsl}}(E \mid T) \leq \Sigma_{m}(E) \]
where \( \Sigma_{t, \text{tsl}} \) is the total cross section after the scattering cross section has been adjusted by integrating \( S(\alpha, \beta, T) \) (usually during data processing). Otherwise, if
then we require that
\[ \forall T, \quad \Sigma_{t, \text{free gas}}(E \mid T) \leq \Sigma_{m}(E) \]
where \( \Sigma_{t, \text{free gas}} \) is the total cross section after the scattering cross section has been adjusted due to free gas scattering. If neither case applies, then it must be the case that \( E_\text{thermal} \leq E \) and \( E_\text{static} \leq E \) so no thermal scattering adjustment or free gas adjustment is necessary, respectively.