Interface to Accelerate MCNP 

Reactor Simulations

Duncan Beauch, CORE Student

August 3rd, 2023 1
Disclaimer

Certain commercial equipment, instruments, or materials are identified in 

this study in order to specify the experimental procedure adequately. Such 

identification is not intended to imply recommendation or endorsement by 

the National Institute of Standards and Technology, nor is it intended to 

imply that the materials or equipment identified are necessarily the best 

available for the purpose.

2
About me

3
Why simulate a reactor?

• Predictive Capabilities

• Stress Testing

• Radiation Detection

• Accident Prevention

• Regulatory Requirements

Safety

• Virtual Prototyping

• Design Optimization

• Burnup Analysis

• Low cost

• Scalability

Design

4
MCNP Simulation

Monte Carlo N-Particle Transport Code

 Developed at Los Alamos National Lab

 Standard for most nuclear facilities

Process:

1. Define geometry

 Basic example: Book 

2. Create particle sources

3. Simulate interactions

 Based on experimental measurements

4. Particle tallying

 Neutron flux and criticality k

Try building a library full of books: 

very tedious!

Cell number

Cell material

Cell boundaries

5
NIST Neutron Source (NNS)

• Core design to replace current 

reactor (NBSR)

MCNP Input File Totals

 2000+ Cells

 500+ Surfaces

 1500+ Materials

 150,000+ lines of code

Problem: Change the material 

composition of a fuel plate

 9 Fuel Assemblies

 21 Plates per Assembly

 30 Sections per Plate

6
Project: MUSE

MCNP Uranium Scout and Editor

 Python backend

 Dash front end

 Web application framework

 Implements React JavaScript for UI and 

Flask for web server operations

 Locally hosted at runtime

Features

 Select and edit fuel assemblies or fuel 

plates

 Create new fuel plates from known 

materials

 Print new input file

7
Demo: Helium Core

8
9
How MUSE Works

Code Flow

1. Parse input file (template)

2. Translate all MCNP lines into data 

structures with Regular Expressions

3. Create Fuel Assemblies

4. Display app to user

MVC Structural Design

 Model

 Object definitions for storing and printing data

 View

 GUIs displayed to user

 Controller

 Interface between model and controller

 Handles user requests

10
Models 

UML 

Diagram

11
How Fuel Assembly Works

Creating Assemblies

1. Finds any cell with Uranium

2. Add cell to dictionary keyed by 

universe (Plate)

3. Find where each plate is used to 

identify a Fuel Lattice

4. Find where the lattice is used as a fill 

to identify Fuel Section

5. Find universe of Fuel Section 

contained in a Fuel Assembly

6. Append Fuel Section to Fuel 

Assembly Object containing 

reference to Fuel Lattice

12
Limitations and Future Development

Generality

 Codebase and data storage is dynamic

 3D plot selection is static

 NNS design prioritized

 UI cannot create new objects

Improvements

 NCNR hosted server

 Dynamic 3D plot selection

 File preset selection

 Core design scaling

13
References and Acknowledgement

NNS Design:

NURETH12 Paper Template 

(nist.gov)

LANL MCNP 6.2 Manual

CoverSheet (lanl.gov)

LBL MCNP Primer

MCNPprmr\MCNPprmr.DVI 

(lbl.gov)

Dash Plotly:

Dash Documentation & User 

Guide | Plotly

Special Thanks to Abdullah Weiss and Osman Celikten

NCNR SURF Directors: 

Julie Borchers, Susana Teixeira, Leland Harriger

14
Questions?