Delta- and surface-tracking

From Serpent Wiki
Revision as of 15:56, 19 November 2015 by Jaakko Leppänen (Talk | contribs) (Surface- and delta-tracking)

Jump to: navigation, search

This a brief description on the delta-tracking based transport routine used in Serpent. The method is also used by other Monte Carlo codes, most notably in the HOLE geometry package in MONK and MCBEND. The original delta-tracking algorithm was introduced by Woodcock in 1965,[1] and a mathematical verification was derived by Coleman in 1968.[2] Delta-tracking is well described in a text book by Lux and Koblinger,[3] and a description of the methodology used in Serpent is found in an article in Annals of Nuclear Energy from 2010.[4]

The input parameters related to delta-tracking are:

  • set dt - sets the probability threshold used for selecting between surface- and delta-tracking
  • set forcedt - enforces the use of delta-tracking in a given list of materials
  • set blockdt - enforces the use of surface-tracking in a given list of materials
  • set minxs - definse the mean-free-path of collisions used to score the collision flux estimator

The output parameters are:

  • TODO


Transport algorithm in Monte Carlo simulation

The Monte Carlo simulation consists of a large number particle histories, in which the random walk of an individual particle is followed, or tracked, through the geometry from its birth to eventual absorption or escape. Tracking is most typically carried out in a constructive solid geometry (CSG), composed of homogeneous material cells, which are defined by combinations of elementary and derived surface types. Serpent 2 also has two advanced geometry types, based on STL format CAD models and an unstructured polyhedral mesh

The transport simulation follows a random walk from one interaction to the next. The procedure can be described as follows:

  1. Sample path length (distance to next collision)
  2. Transport neutron to the collision point
  3. Sample interaction

If the sampled interaction is scattering, the procedure restarts from beginning by sampling the distance to the next collision. The direction and energy are changed in each scattering event.

By definition, the interaction probability per traveled path length is given by the macroscopic total cross section (denoted here as \Sigma). If it is assumed that the particle travels through an infinite homogeneous medium characterized by constant total cross section, it can be shown that the free path length follows an exponential distribution. This distribution can be sampled using the inverse method, and the distance to the next collision site is given by:


l = -\frac{1}{\Sigma}\log\chi

where \chi is a uniformly distributed random variable on the unit interval.

The prerequisite of using this simple formula for sampling the distance to the next collision site is that the material is infinite and homogeneous. This is the case when the particle remains within a single material region, but not if its track crosses the boundary between two materials.

Surface- and delta-tracking

If it is known that the neutron makes it to the next material boundary and interacts somewhere beyond the other side, the point of crossing can be taken as the starting point of a new path. This is the general idea in the surface-tracking algorithm, in which the neutron track is stopped at each boundary crossing, and a new path sampled using the cross section of the next material.

The algorithm requires calculating the distance to the nearest boundary surface. The only way to accomplish this is to loop over all candidate surfaces and pick the shortest value.

Surface tracking is considered the standard tracking algorithm and it is used by virtually every Monte Carlo neutron transport code. The method has a few drawbacks related to its efficiency in complex geometries:

  • Determining the distance to the nearest boundary can become computationally expensive if the cells are comprised of a large number of surfaces
  • The fact that the neutron has to be stopped at each boundary crossing becomes a computational bottleneck when the neutron mean-free-path is long compared to the dimensions

An alternative to surface-tracking is the Woodcock delta-tracking algorithm, which is based on the rejection sampling of neutron path lengths. The procedure relies on the concept of a virtual collision, which is a fictive interaction that preserves the energy and direction of the neutron.

Since virtual collisions do not change the random walk in any way, the material total cross section $\Sigma$ can be adjusted with an arbitrary virtual collision cross section $\virtxs$: \beq \Sigma'(\posvec,E) = \Sigma(\posvec,E) + \virtxs(\posvec,E) \eeq without changing the outcome of the simulation. It is then possible to adjust the cross sections of all material regions in the system such that: \beq \Sigma_1'(E) = \Sigma_2'(E) = \Sigma_3'(E) \dots = \majxs(E) \eeq where $\majxs$ is called the \emph{majorant} cross section.

In practice, it is not necessary to define the virtual collision cross sections at all if the majorant is simply taken as the maximum of all material totals at each energy point: \beq \majxs(E) = \max{\big[\Sigma(\posvec,E)\big]} \eeq Unlike the physical total cross section, which depends on the material located at the neutron position, the majorant cross section is completely independent of the spatial coordinates.

Hybrid method used in Serpent

Advantages and limitations

References

  1. ^ Woodcock, E. R., Murphy, T., Hemmings, P. J., and Longworth, T. C. "Techniques used in the GEM code for Monte Carlo neutronics calculations in reactors and other systems of complex geometry." ANL-7050, Argonne National Laboratory, 1965.
  2. ^ Coleman, W. A. "Mathematical verification of a certain Monte Carlo sampling technique and applications of the technique to radiation transport problems." Nucl. Sci. Eng., 31 (1968) 76–81.
  3. ^ Lux, I. and Koblinger, L. "Monte Carlo Particle Transport Methods: Neutron and Photon Calculations." CRC Press, Inc. (1991).
  4. ^ Leppänen, J. "Performance of Woodcock delta-tracking in lattice physics applications using the Serpent Monte Carlo reactor physics burnup calculation code." Ann. Nucl. Energy 37 (2010) 715–722.