MC/DC: Monte Carlo Dynamic Code#

MC/DC is a performant, scalable, and machine-portable Python-based Monte Carlo neutron transport software in active development. It supports fully transient (aka dynamic) Monte Carlo transport and implements novel methods and algorithms for neutron transport. MC/DC is purpose built to be a rapid methods development platform for for modern HPCs and is targeting CPUs and GPUs.

MC/DC has support for continuous energy and multi-group transport. It can solve more traditional k-eigenvalue problems (used to determine neutron population growth rates in reactors) as well as fully dynamic simulations. It has a novel continuous geometry movement function that models transient elements (e.g., control rods or pulsed neutron experiments) more accurately than the step functions used by other codes. It also supports some simple Domain decomposition, with more complex algorithms currently being implemented.

MC/DC is machine portable and is validated to run on:

  • linux-64 (x86)

  • osx-64 (x86, intel based macs)

  • osx-arm64 (apple silicon based macs)

  • linux-ppc64 (IBM POWER9)

  • linux-nvidia-cuda

  • win-64 (runs but not recommend!)

Primary development is done by the Center for Exascale Monte Carlo Neutron Transport (CEMeNT).

cement logo

with support from the following institutions

PSAAP-III logo DOE logo NNSA logo Oregon State University logo Noter Dame logo Seattle university logo North Carolina state university logo

Work within MC/DC has resulted in a large number of journal and conference publications, presentations. A full exhaustive list of publications can be found on the CEMeNT site

Contents#

Indices and tables#

To build the docs#

  1. Install dependencies (we recommend: conda install sphinx and pip install furo sphinx_toolbox). Note that these dependencies are not installed as part of base MC/DC.

  2. From the MCDC/docs/ directory, run make html to compile.

  3. Launch build/html/index.html with your browser of choice.

To Cite MC/DC#

If you use or devlope in MC/DC and would like to publish your results please cite our article in the Journal of Open Source software

@article{morgan2024mcdc,
    booktitle = {}
    title = {},
    author = {},
    date = {},
    doi = {},
}