Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Combinatorial Geometry / Constructive Solid Geometry (CSG)

Combinatorial Geometry or Constructive Solid Geometry (CSG) forms the basis of geometry coding in FLUKA (Ahdida et al. (2022), Battistoni et al. (2015)) and MCNP (Rising et al. (2025)), which are general-purpose Monte Carlo radiation transport codes extensively used worldwide.

It works by combining simple building blocks such as planar and quadratic surfaces, boxes and cylinders, ellipses and spheres -- FLUKA calls them bodies and MCNP calls them surfaces.

Realistic geometries can be achieved by combining those simple bodies/surfaces as needed, to form volumes -- FLUKA calls them regions while MCNP calls them cells. Increasing complexity in combinatorial geometry can be achieved by combining (or overlapping) more bodies/surfaces.

On the screens to come we’ll walk through the “ultimate” demo of combinatorial geometry or CSG: a challenge problem of connecting two pipes.

Screenshots are of FLAIR (Donadon et al. (2024)), which revolutionized radiation-transport geometry coding with its interactive and responsive Graphical User Interface (GUI). Originally developed for FLUKA, and backed by popular demand, FLAIR is expanding to cover MCNP, GEANT4 and PHITS.

References
  1. Ahdida, C., Bozzato, D., Calzolari, D., Cerutti, F., Charitonidis, N., Cimmino, A., Coronetti, A., D’Alessandro, G. L., Donadon Servelle, A., Esposito, L. S., Froeschl, R., García Alía, R., Gerbershagen, A., Gilardoni, S., Horváth, D., Hugo, G., Infantino, A., Kouskoura, V., Lechner, A., … Widorski, M. (2022). New Capabilities of the FLUKA Multi-Purpose Code. Frontiers in Physics, 9. 10.3389/fphy.2021.788253
  2. Battistoni, G., Boehlen, T., Cerutti, F., Chin, P. W., Esposito, L. S., Fassò, A., Ferrari, A., Lechner, A., Empl, A., Mairani, A., Mereghetti, A., Ortega, P. G., Ranft, J., Roesler, S., Sala, P. R., Vlachoudis, V., & Smirnov, G. (2015). Overview of the FLUKA code. Annals of Nuclear Energy, 82, 10–18. 10.1016/j.anucene.2014.11.007
  3. Rising, M. E., Armstrong, J. C., Bolding, S. R., Bull, J. S., Casswell, L., Clark, A. R., Forster, R. A., Frederick, C. S., Giron, J. F., Jones, F. B., Josey, C. J., Kelley, T. M., Kulesza, J. A., Lively, M. A., Little, R. C., Swaminarayan, S., Sweezy, J. E., Vaquer, P. A., Weaver, C. A., & Zukaitis, A. J. (2025). The MCNP®6 code: A decade of progress. EPJ Nuclear Sciences & Technologies, 11, 9. 10.1051/epjn/2025003
  4. Donadon, A., Hugo, G., Theis, C., & Vlachoudis, V. (2024). FLAIR3 – recasting simulation experiences with the Advanced Interface for FLUKA and other Monte Carlo codes. EPJ Web of Conferences, 302, 11005. 10.1051/epjconf/202430211005