I realized that I have omitted the code package with which I have the greatest familiarity. That is the SCALE code package. I began using a very early implementation of these codes in 1980 when punch cards had to be submitted via a secure line to Oak Ridge and printout would come in a day or so. I thought that the dial-up modem (300 baud) was a great step forward and I used my Radio Shack TRS-80 model 1 computer to generate input decks to submit. The output was still printed the next day at work, but this still seemed like a great advance. I knew many of the early code developers and it was a treat to be able to interact with them periodically. I did take the formal SCALE training in the mid-90s; by that time one could use a personal computer to run most cases.
As with the LANL generated MCNP code, SCALE's use is regulated by the US Dept of Energy. The code package is free for most US university nuclear engineering programs and select government contractors. Others must apply to obtain and use the code package and pay a fee for distribution. The formal training courses are not free.
https://www.ornl.gov/onramp/scale-code-system
https://rsicc.ornl.gov/Default.aspx
The SCALE code system is a widely used modeling and simulation suite for nuclear safety analysis and design that is developed, maintained, tested, and managed by the Nuclear Energy and Fuel Cycle Division (NEFCD) of the Oak Ridge National Laboratory (ORNL). SCALE provides a comprehensive, verified and validated, user-friendly tool set for criticality safety, reactor physics, radiation shielding, radioactive source term characterization, and sensitivity and uncertainty analysis. Since 1980, regulators, licensees, and research institutions around the world have used SCALE for safety analysis and design. SCALE provides an integrated framework with dozens of computational modules, including three deterministic solvers and three Monte Carlo radiation transport solvers selected based on the user’s desired solution strategy. SCALE includes current nuclear data libraries and problem-dependent processing tools for continuous energy (CE) and multigroup (MG) neutronics and coupled neutron-gamma calculations, as well as activation, depletion, and decay calculations. SCALE includes unique capabilities for automated variance reduction for shielding calculations, as well as sensitivity and uncertainty analysis. SCALE’s GUIs assist with accurate system modeling and convenient access to desired results.
Monte Carlo Simulation of Nuclear Physics
-
Rob Tayloe
- Posts: 175
- Joined: 10 Nov 2020, 12:00
- Contact:
-
Rob Tayloe
- Posts: 175
- Joined: 10 Nov 2020, 12:00
- Contact:
Re: Monte Carlo Simulation of Nuclear Physics
Earlier mention was made of the open source monte carlo radiation transport code OpenMC. I am repeating the main link below. Although most examples are given for eigenvalue (k-effective) calculations for nuclear reactors, there is an example given for calculating the gamma spectrum for a Cs-137 source with a NaI detector. The link to the discussion follows.
Main OpenMC link -
https://docs.openmc.org/en/stable/
Discussion of use of OpenMC to calculate the pulse height tally. An artificial 800 keV point source is used along with the 661 keV Cs-137 point source. [There seems to be a minor error in the write-up where the 800 keV source is called a 200 keV source].
https://github.com/openmc-dev/openmc-no ... ctor.ipynb
The calculated pulse height results are given, followed by some post processing to broaden the peaks to give results consistent with the detectors' resolution
Main OpenMC link -
https://docs.openmc.org/en/stable/
Discussion of use of OpenMC to calculate the pulse height tally. An artificial 800 keV point source is used along with the 661 keV Cs-137 point source. [There seems to be a minor error in the write-up where the 800 keV source is called a 200 keV source].
https://github.com/openmc-dev/openmc-no ... ctor.ipynb
The calculated pulse height results are given, followed by some post processing to broaden the peaks to give results consistent with the detectors' resolution
-
Rob Tayloe
- Posts: 175
- Joined: 10 Nov 2020, 12:00
- Contact:
Re: Monte Carlo Simulation of Nuclear Physics
There are a great many technical papers published regarding use of monte-carlo, and in particular the MCNP code, to determine the response function or detection efficiency of radiation detectors. Many of these papers require access to a technical library which pays the considerable subscription fees. There are, however, some technical papers that do allow free public access. I have listed a few below that can be freely accessed (as of 21 Nov 2024); these pertain to use of MCNP for scintillation detector response or efficiency (usually NaI detectors are modeled).
Monte Carlo modelling of a NaI(Tl) scintillator detectors using MCNP simulation code 2017
https://www.researchgate.net/publicatio ... ation_code
Calculation of Intrinsic Efficiency of NaI(Tl) Detector Using MCNP Code 2005
https://ripublication.com/ijpap/1002.pdf
Estimation of Detection Efficiency for NaI detector using MCNP 2016
https://www.iosrjournals.org/iosr-jap/p ... 130133.pdf
Evaluation of the Nonlinear Response Function and Efficiency of a Scintillation Detector Using Monte Carlo and Analytical Methods 2014
http://ajesjournal.com/PDFs/2014-2/5_ev ... ciency.pdf
The Effect of Detector Dimensions on the NaI (Tl) Detector Response Function 2009
https://scialert.net/fulltext/?doi=jas.2009.2168.2173
Mathematical modeling utilizing the MCNP code and determination of response curves of a NaI(Tl) detector 2021
https://www.mittetecnologia.com.br/anai ... 0246-1.pdf
Precise Monte Carlo simulation of gamma-ray response functions for an NaI(Tl) detector 2002
https://www.researchgate.net/profile/Hu ... oad/3x.pdf
Monte Carlo modelling of a NaI(Tl) scintillator detectors using MCNP simulation code 2017
https://www.researchgate.net/publicatio ... ation_code
Calculation of Intrinsic Efficiency of NaI(Tl) Detector Using MCNP Code 2005
https://ripublication.com/ijpap/1002.pdf
Estimation of Detection Efficiency for NaI detector using MCNP 2016
https://www.iosrjournals.org/iosr-jap/p ... 130133.pdf
Evaluation of the Nonlinear Response Function and Efficiency of a Scintillation Detector Using Monte Carlo and Analytical Methods 2014
http://ajesjournal.com/PDFs/2014-2/5_ev ... ciency.pdf
The Effect of Detector Dimensions on the NaI (Tl) Detector Response Function 2009
https://scialert.net/fulltext/?doi=jas.2009.2168.2173
Mathematical modeling utilizing the MCNP code and determination of response curves of a NaI(Tl) detector 2021
https://www.mittetecnologia.com.br/anai ... 0246-1.pdf
Precise Monte Carlo simulation of gamma-ray response functions for an NaI(Tl) detector 2002
https://www.researchgate.net/profile/Hu ... oad/3x.pdf
-
Rob Tayloe
- Posts: 175
- Joined: 10 Nov 2020, 12:00
- Contact:
Re: Monte Carlo Simulation of Nuclear Physics
The on-line calculator that was associated with the PNNL Compendium of Materials Compounds is no longer available. I did find an on-line (or downloadable) calculator (also from PNNL) that can be useful. Links are provided for the on-line version (as of 22 Nov 2024) and downloadable versions (and source code on a github link) -
https://pnnl-comp-mass-spec.github.io/M ... lator-VB6/
https://github.com/PNNL-Comp-Mass-Spec/ ... /tag/v6.50
https://github.com/PNNL-Comp-Mass-Spec/ ... ulator-VB6
The WISE Uranium Project website has several on-line calculators that may be of some interest. Previously, I have used the activity calculator when small samples were made radioactive with the OSU nuclear reactor. I found this activity calculator to be quite accurate for thermal neutron activation. I was able to create some interesting sources for students' gamma spec lab.
https://www.wise-uranium.org/calc.html
https://pnnl-comp-mass-spec.github.io/M ... lator-VB6/
https://github.com/PNNL-Comp-Mass-Spec/ ... /tag/v6.50
https://github.com/PNNL-Comp-Mass-Spec/ ... ulator-VB6
The WISE Uranium Project website has several on-line calculators that may be of some interest. Previously, I have used the activity calculator when small samples were made radioactive with the OSU nuclear reactor. I found this activity calculator to be quite accurate for thermal neutron activation. I was able to create some interesting sources for students' gamma spec lab.
https://www.wise-uranium.org/calc.html
Re: Monte Carlo Simulation of Nuclear Physics
Just to complete the listings...
Red Cullens TART2002, the competitor to MCNP once upon a time. As usual, hard to get. But interesting.
http://redcullen1.net/homepage.new/mc.htm
The CTBTO had a dedicated efficiency tool called VGSL which ran off a heavily modified MCNP4 but...unlike many others....included True Coincidence in a very thorough way. I dont know where you get it these days but it was very good.
EFFTRAN is free and very good for efficiency transfer. Find with Google.⅚
As is ETNA. http://www.lnhb.fr/home/rd-activities/s ... -software/
If you can get MCNP, then SuperSynth turns it into a very easy use dedicated gamma spectromtry work shop and really takes the donkey work out of it. But the databases are janky and need careful checking. Costs a few dollars but Id rather pay that than ruin my eyes editing .inp files or using VisEd.
http://www.mcnpvised.com/synth/synth.html
Red Cullens TART2002, the competitor to MCNP once upon a time. As usual, hard to get. But interesting.
http://redcullen1.net/homepage.new/mc.htm
The CTBTO had a dedicated efficiency tool called VGSL which ran off a heavily modified MCNP4 but...unlike many others....included True Coincidence in a very thorough way. I dont know where you get it these days but it was very good.
EFFTRAN is free and very good for efficiency transfer. Find with Google.⅚
As is ETNA. http://www.lnhb.fr/home/rd-activities/s ... -software/
If you can get MCNP, then SuperSynth turns it into a very easy use dedicated gamma spectromtry work shop and really takes the donkey work out of it. But the databases are janky and need careful checking. Costs a few dollars but Id rather pay that than ruin my eyes editing .inp files or using VisEd.
http://www.mcnpvised.com/synth/synth.html
Lars Poster, Oslo
-
Rob Tayloe
- Posts: 175
- Joined: 10 Nov 2020, 12:00
- Contact:
Re: Monte Carlo Simulation of Nuclear Physics
The link below is not only for monte-carlo software, but covers that plus more nuclear-related methods implemented in open-source software. This link goes to a github page with links to many other open-source software packages, advertised as - "A curated list of open source projects used in nuclear science and engineering". Many of these methods and codes require specialized knowledge and there can be quite a steep learning curve -
https://github.com/paulromano/awesome-nuclear
Below are the linked codes (as of 1 March 2026) -
Particle Transport
Codes: Monte Carlo
ERGnrc — Monte Carlo photon/electron/positron transport code
FRENSIE — Monte Carlo neutron/photon transport code
Geant4 — High-energy Monte Carlo particle transport code
OpenMC — Monte Carlo neutron/photon transport code
SCONE — Monte Carlo neutron transport code
Warp — Monte Carlo neutron transport code on GPUs
Codes: Deterministic
BART — Finite-element, discrete ordinates code developed by UC-Berkeley
DRAGON — Lattice code developed by Polytechnique Montreal
FeenoX — Unstructured finite-element(ish) tool, diffusion and discrete ordinates
Gnat — A MOOSE-based discrete ordinates and fluid activation solver developed by Ontario Tech
OpenMOC — Method of characteristics code
OpenSN — Successor to Chi-Tech, a massively parallel discrete ordinates code developed by Texas A&M
Scarabée — Lattice physics code and deterministic transport toolbox
THOR — Discrete ordinates code using the AHOT-C method on unstructured meshes
Codes: Event Generators
CGMF — Fission event generator
FREYA — Fission event generator
Related Tools
ACE Format — Documentation of the ACE format
csg2csg — Tool to translate between different CSG types
DAGMC — Direct accelerated geometry Monte Carlo toolkit
GeoUNED — FreeCAD-based tool to convert from CAD to CSG and vice versa
KDSource — A tool for generating KDE surface sources from Monte Carlo simulations
McCAD — C++ Library for CAD (BRep) to Monte Carlo (CSG) Conversion
MCNPTools — C++/Python interface and tools for MCNP
MCPL — Binary file format for storing particle state
MontePy — Python library to read, edit, and write MCNP files
serpentTools — Python-based tool suite for Serpent
t4_geom_convert — Convert MCNP geometries to TRIPOLI-4
Nuclear Data
ACEMAKER — Code package to produce ACE files
EMPIRE — Nuclear reaction model code
endf-python — Python ENDF Parser
FRENDY — Nuclear data processing
FUDGE — Python-based nuclear data processing
JADE — Tool for nuclear data library V&V
mendeleev — Python package for accessing properties of elements, ions, and isotopes
NJOY21 — Nuclear data processing
Nuclear Data Reader — C++ library for parsing NUBASE and AME data files
NucML — Machine-learning pipeline for nuclear data evaluation
PapillonNDL — C++ / Python library for reading and sampling ACE files
PREPRO — Nuclear data processing
PyNjoy 2012 — Nuclear data processing
SANDY — Sampling tool for nuclear data
SCALE — Public components of SCALE (AMPX, SAMMY)
TALYS — Nuclear Reaction Simulator Code
Depletion / Transmutation / Decay
ADDER — Python-based fuel management and depletion tool
ALARA — Activation code widely used for fusion
ONIX — Python-based burnup code
OpenMC — Depetion solver integrated in OpenMC
radioactivedecay — Radioactive decay solver
Kinetics
KOMODO — Nuclear reactor simulator that solves 3-D diffusion using nodal methods
PyRK — Neutronic and thermal hydraulic reactor transient analysis in 0-D
Research Reactor Simulator — Real-time GUI research reactor simulator based on point kinetics
Fuel Cycle
Cyclus — Nuclear fuel cycle simulator
OpenMCyclus — Depletable reactor archetype using OpenMC's IndependentOperator for fuel cycle simulations in Cyclus
Thermal Hydraulics
Nek5000 — Spectral-element CFD code
nekRS — Spectral-element CFD code targeting modern processors and accelerators
OpenFOAM — Finite volume CFD code
TrioCFD — A Computational Fluid Dynamics (CFD) code based on the TRUST platform.
Multiphysics
Aurora — OpenMC wrapped as a MOOSE app
Cardinal — OpenMC and nekRS wrapped as MOOSE apps
ENRICO — Monte Carlo + CFD coupling application
GeN-Foam — OpenFOAM based multi-physics solver for reactor analysis
MOOSE — Finite-element, multiphysics framework
SALOME — Interoperability between CAD and multiphysics software
TRUST — A software platform upon which CFD codes can be built
Molten Salt Reactor
Moltres — A molten salt reactor simulator code
MSRE — Detailed CAD model of the MSRE
SaltProc — Fuel reprocessing simulation tool
Other
ARMI — Reactor analysis automation framework
NRIC Virtual Test Bed — Repository of example challenge problems
PyARC — Fast reactor analysis workflows using the Argonne Reactor Computation code suite
PyNE — Python/C++ nuclear engineering toolkit
RAVEN — UQ, regression, PRA, data analysis, and model optimization framework
WATTS — Python-based tool for templated simulations
LaTeX classes and BibTeX style for ANS publications
Research Groups Invested in Open Source Tools for Nuclear Science and Engineering
ARFC (UIUC) — Advanced Reactors and Fuel Cycles
CNERG (UW-Madison) — Computational Nuclear Engineering Research Group
CRPG (MIT) — Computational Reactor Physics Group
ONCORE (IAEA) — an IAEA-facilitated international collaboration framework for the development and application of open-source multi-physics simulation tools to support research, education and training for the analysis of advanced nuclear power reactors.
https://github.com/paulromano/awesome-nuclear
Below are the linked codes (as of 1 March 2026) -
Particle Transport
Codes: Monte Carlo
ERGnrc — Monte Carlo photon/electron/positron transport code
FRENSIE — Monte Carlo neutron/photon transport code
Geant4 — High-energy Monte Carlo particle transport code
OpenMC — Monte Carlo neutron/photon transport code
SCONE — Monte Carlo neutron transport code
Warp — Monte Carlo neutron transport code on GPUs
Codes: Deterministic
BART — Finite-element, discrete ordinates code developed by UC-Berkeley
DRAGON — Lattice code developed by Polytechnique Montreal
FeenoX — Unstructured finite-element(ish) tool, diffusion and discrete ordinates
Gnat — A MOOSE-based discrete ordinates and fluid activation solver developed by Ontario Tech
OpenMOC — Method of characteristics code
OpenSN — Successor to Chi-Tech, a massively parallel discrete ordinates code developed by Texas A&M
Scarabée — Lattice physics code and deterministic transport toolbox
THOR — Discrete ordinates code using the AHOT-C method on unstructured meshes
Codes: Event Generators
CGMF — Fission event generator
FREYA — Fission event generator
Related Tools
ACE Format — Documentation of the ACE format
csg2csg — Tool to translate between different CSG types
DAGMC — Direct accelerated geometry Monte Carlo toolkit
GeoUNED — FreeCAD-based tool to convert from CAD to CSG and vice versa
KDSource — A tool for generating KDE surface sources from Monte Carlo simulations
McCAD — C++ Library for CAD (BRep) to Monte Carlo (CSG) Conversion
MCNPTools — C++/Python interface and tools for MCNP
MCPL — Binary file format for storing particle state
MontePy — Python library to read, edit, and write MCNP files
serpentTools — Python-based tool suite for Serpent
t4_geom_convert — Convert MCNP geometries to TRIPOLI-4
Nuclear Data
ACEMAKER — Code package to produce ACE files
EMPIRE — Nuclear reaction model code
endf-python — Python ENDF Parser
FRENDY — Nuclear data processing
FUDGE — Python-based nuclear data processing
JADE — Tool for nuclear data library V&V
mendeleev — Python package for accessing properties of elements, ions, and isotopes
NJOY21 — Nuclear data processing
Nuclear Data Reader — C++ library for parsing NUBASE and AME data files
NucML — Machine-learning pipeline for nuclear data evaluation
PapillonNDL — C++ / Python library for reading and sampling ACE files
PREPRO — Nuclear data processing
PyNjoy 2012 — Nuclear data processing
SANDY — Sampling tool for nuclear data
SCALE — Public components of SCALE (AMPX, SAMMY)
TALYS — Nuclear Reaction Simulator Code
Depletion / Transmutation / Decay
ADDER — Python-based fuel management and depletion tool
ALARA — Activation code widely used for fusion
ONIX — Python-based burnup code
OpenMC — Depetion solver integrated in OpenMC
radioactivedecay — Radioactive decay solver
Kinetics
KOMODO — Nuclear reactor simulator that solves 3-D diffusion using nodal methods
PyRK — Neutronic and thermal hydraulic reactor transient analysis in 0-D
Research Reactor Simulator — Real-time GUI research reactor simulator based on point kinetics
Fuel Cycle
Cyclus — Nuclear fuel cycle simulator
OpenMCyclus — Depletable reactor archetype using OpenMC's IndependentOperator for fuel cycle simulations in Cyclus
Thermal Hydraulics
Nek5000 — Spectral-element CFD code
nekRS — Spectral-element CFD code targeting modern processors and accelerators
OpenFOAM — Finite volume CFD code
TrioCFD — A Computational Fluid Dynamics (CFD) code based on the TRUST platform.
Multiphysics
Aurora — OpenMC wrapped as a MOOSE app
Cardinal — OpenMC and nekRS wrapped as MOOSE apps
ENRICO — Monte Carlo + CFD coupling application
GeN-Foam — OpenFOAM based multi-physics solver for reactor analysis
MOOSE — Finite-element, multiphysics framework
SALOME — Interoperability between CAD and multiphysics software
TRUST — A software platform upon which CFD codes can be built
Molten Salt Reactor
Moltres — A molten salt reactor simulator code
MSRE — Detailed CAD model of the MSRE
SaltProc — Fuel reprocessing simulation tool
Other
ARMI — Reactor analysis automation framework
NRIC Virtual Test Bed — Repository of example challenge problems
PyARC — Fast reactor analysis workflows using the Argonne Reactor Computation code suite
PyNE — Python/C++ nuclear engineering toolkit
RAVEN — UQ, regression, PRA, data analysis, and model optimization framework
WATTS — Python-based tool for templated simulations
LaTeX classes and BibTeX style for ANS publications
Research Groups Invested in Open Source Tools for Nuclear Science and Engineering
ARFC (UIUC) — Advanced Reactors and Fuel Cycles
CNERG (UW-Madison) — Computational Nuclear Engineering Research Group
CRPG (MIT) — Computational Reactor Physics Group
ONCORE (IAEA) — an IAEA-facilitated international collaboration framework for the development and application of open-source multi-physics simulation tools to support research, education and training for the analysis of advanced nuclear power reactors.
-
Rob Tayloe
- Posts: 175
- Joined: 10 Nov 2020, 12:00
- Contact:
Re: Monte Carlo Simulation of Nuclear Physics
The Radiation Safety Computational Center (RSICC) at the Oak Ridge National Laboratory (ORNL) in the USA is a repository for many computer programs. There are requirements for requesting a particular code package and being licensed by the US government for use of the code package. There is fee for distribution of these codes; the fee was waived for US Nuclear Engineering programs and certain contractors for the US government. It appears as though most of the code packages are distributed electronically, so I do not know how the distribution costs are currently determined. The link below will take one to the RSICC web page that lists codes from other locations - one can also access the catalogue of RSICC codes from this link -
https://rsicc.ornl.gov/CodesOther.aspx
The Lawrence Livermore National Laboratory (LLNL) in the USA has an interest in computational nuclear physics. Following is a link maintained related to codes and data on this topic -
https://nuclear.llnl.gov/CNP/Home/CNP_Home.htm
Of particular interest may be the Physics Simulation Packages from LLNL, found at the link below -
https://nuclear.llnl.gov/simulation/main.html
https://rsicc.ornl.gov/CodesOther.aspx
The Lawrence Livermore National Laboratory (LLNL) in the USA has an interest in computational nuclear physics. Following is a link maintained related to codes and data on this topic -
https://nuclear.llnl.gov/CNP/Home/CNP_Home.htm
Of particular interest may be the Physics Simulation Packages from LLNL, found at the link below -
https://nuclear.llnl.gov/simulation/main.html
Who is online
Users browsing this forum: No registered users and 12 guests