signedMCRT
Monte Carlo radiation transfer (MCRT) using Signed Distance functions (SDF)

Find us on…

GitHub Download the Source

signedMCRT


Brief description

A Monte Carlo radiation transfer code with signed distance functions representing the geometry, written in modern Fortran. This allows modelling of smooth surfaces with out the need to use triangle or similar meshes.

Installation

To build signedMCRT, the only current method is using FPM. FPM can be easily installed on any platform, and is simple to use to pull all dependencies, and build and compile signedMCRT. We also provide several commands via FPM response file (found here), to enable the use of OpenMP, other compliers, and various debug modes.

Dependencies

Below is the current list of dependencies:

Test drive is used to run all tests. Fortran TEV Bindings is used to interface with TEV, to show live slices of fluences as the simulation is run, which is handy for debugging purposes. Stdlib is a collection of routines purposed for inclusion within the Fortran standard. Stdlib is used here for it's loadtxt function to load arbitrary plain text data into arrays. More of stdlib may be used in future. Fortran_stb_Image is used to load images into arrays. Fortran_stb_image are the Fortran bindings for stb_image. Finally, Fortran Utilities is my personal collection of useful Fortran utilities such as mathematical functions, or progress bars.

References

SignedMCRT has so far been used in 2 papers:

License

The signedMCRT source code and related files and documentation are distributed under a permissive free software license (MIT).

Developer Info

Lewis McMillan