Monte
Carlo radiation transport codes track particles as they travel through a geometric model, interacting with materials based on
probability. In
this project, we replace the Monte Carlo's CSG-based geometry input and
modeling with a modern CAD geometry engine. Geometric models can
be constructed in modern CAD tools, with the Monte Carlo code
evaluating geometry by making direct calls to the integrated CAD engine.
This work is based primarily on the CGM geometry engine and the MCNPX
Monte Carlo radiation transport code. However, since most of this
functionality is generic geometry functionality, we have also
successfully demonstrated this capability in the ITS and Penelope Monte
Carlo codes.
Geometric Queries
Three primary types of geometric functions are called from typical Monte Carlo transport codes:
Ray Tracing
Surface Crossing
Surface Normal / Reflection
Since CAD-based evaluation is typically 20-100 times slower than custom
geometric evaluation code in Monte Carlo codes, we also implement
several special-purpose acceleration techniques to speed up this part
of the calculation:
Ray-tracing acceleration based on hierarchical, oriented bounding-boxes.
Distance limits based on computed Monte Carlo mean free path.
Non-manifold representation of multi-material models
(interior surfaces shared between adjoining cells, requiring only one
ray-trace calculation).
Results
We've run several test problems to verify the code and benchmark it against native MCNPX.