main

Documentation

This document is the incomplete documentation of signedMCRT.

Build system

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.

Running the code

The code is run using FPM. To run on a single core with no debug flags enabled:

fpm run

To run on all available threads on current computer with no debug flags:

fpm @runmp

To run the code on one thread with all debug flags enabled:

fpm @debug

To run the code on all threads with all debug flags enabled:

fpm @debugmp

Please see (here) for other possible options.

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.

Config file

signedMCRT uses TOML as it's configuration file format. Documentation of the input file format can be found in here

Plotting Results

To view the output of simulations you can use this. Alternatively to customise the plot you can adjust the following script.

Monte Carlo Radiation Transfer (MCRT) method

Please see my thesis for an overview of the MCRT method.

Citation

SignedMCRT has so far been used in 2 papers:

TODO's

The current TODO list of planned features and current bugs can be found here.