Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Map tritium production and neutron spectra in breeder

Map tritium production and neutron spectra in a concentric-spheres model.

Map tritium production and neutron spectra in breeder
├── 0. Cross sections
├── 1. Materials
├── 2. Geometry
├── 3. Mean free paths
├── 4. Settings (with source)
├── 5. Tallies
├── 6. Ready and plot
├── 7. Run
└── 8. Output
    ├── Li7_(n,Xt)_convergence
    ├── (n,Xt)
    ├── Neutron fluence
    ├── Energy-integrated radial contributions per spherical shell
    └── Neutron energy spectrum
        ├── First wall (EUROFER)
        └── Breeder (PbLi)

Based on a simple, three-cell concentric-spheres model of a breeder blanket, this notebook follows a think-aloud process of building an initial OpenMC simulation. Cross sections and mean free paths are considered alongside the usual workflow of defining materials, geometry, settings, and tallies.

The simulation tallies neutron fluence as a function of radius and energy, and tritium production in radial shells. Radial bins are arranged so that each lies within a homogeneous material.

The simulation also demonstrates the use of an OpenMC tally trigger to terminate a run once a specified uncertainty criterion is met, somewhat analogous to early stopping in machine learning.

The radii R_VESSEL, FW_THICK, and BB_THICK are adopted from the Fusion Energy Neutronics Workshop.

0. Cross sections

<Figure size 640x480 with 1 Axes>

1. Materials

The first wall is represented by a reduced-activation ferritic/martensitic steel, EUROFER97
(EUROFER97 composition, EUROFER97 density).

Loading...
{'breeder': Material ID = 1 Name = breeder Temperature = None Density = 0.032720171 [atom/b-cm] Volume = None [cm^3] Depletable = False S(a,b) Tables Nuclides Pb204 = 1.1788 [ao] Pb206 = 20.2922 [ao] Pb207 = 18.6082 [ao] Pb208 = 44.1208 [ao] Li6 = 7.9 [ao] Li7 = 7.9 [ao], 'eurofer97': Material ID = 2 Name = eurofer97 Temperature = None Density = 7.78 [g/cm3] Volume = None [cm^3] Depletable = False S(a,b) Tables Nuclides Cr50 = 0.3727102154087453 [wo] Cr52 = 7.474353057975188 [wo] Cr53 = 0.8638513029076939 [wo] Cr54 = 0.21908542370837283 [wo] W180 = 0.001256795818590312 [wo] W182 = 0.2806294293962744 [wo] W183 = 0.15237444705438208 [wo] W184 = 0.3280426553349992 [wo] W186 = 0.30769667239575416 [wo] Mn55 = 0.47 [wo] V50 = 0.0004902406716450924 [wo] V51 = 0.1995097593283549 [wo] Ta180_m1 = 1.6721040044200308e-05 [wo] Ta181 = 0.13998327895995583 [wo] C12 = 0.11856082141028239 [wo] C13 = 0.001439178589717617 [wo] Ti46 = 0.0007128085694198449 [wo] Ti47 = 0.0006568004090875696 [wo] Ti48 = 0.006646054703024111 [wo] Ti49 = 0.0004978971484352276 [wo] Ti50 = 0.00048643917003324564 [wo] N14 = 0.01792938983956732 [wo] N15 = 7.061016043267816e-05 [wo] Fe54 = 5.0269744082448655 [wo] Fe56 = 81.8318782711858 [wo] Fe57 = 1.9236570246743068 [wo] Fe58 = 0.26049029589503647 [wo]}

2. Geometry

Loading...

3. Mean free paths

Loading...

4. Settings (with source)

5. Tallies

6Li+n→α+T^6Li + n \rightarrow \alpha + T

7Li+n→α+T+n^7Li + n \rightarrow \alpha + T + n

For this simulation, the TBR is the number of tritium nuclei produced per source neutron.

6. Ready and plot

Due to the spherical symmetry of the geometry, plotting just one quadrant is good.

<Figure size 774.194x779.221 with 1 Axes>

7. Run

                                %%%%%%%%%%%%%%%
                           %%%%%%%%%%%%%%%%%%%%%%%%
                        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                                    %%%%%%%%%%%%%%%%%%%%%%%%
                                     %%%%%%%%%%%%%%%%%%%%%%%%
                 ###############      %%%%%%%%%%%%%%%%%%%%%%%%
                ##################     %%%%%%%%%%%%%%%%%%%%%%%
                ###################     %%%%%%%%%%%%%%%%%%%%%%%
                ####################     %%%%%%%%%%%%%%%%%%%%%%
                #####################     %%%%%%%%%%%%%%%%%%%%%
                ######################     %%%%%%%%%%%%%%%%%%%%
                #######################     %%%%%%%%%%%%%%%%%%
                 #######################     %%%%%%%%%%%%%%%%%
                 ######################     %%%%%%%%%%%%%%%%%
                  ####################     %%%%%%%%%%%%%%%%%
                    #################     %%%%%%%%%%%%%%%%%
                     ###############     %%%%%%%%%%%%%%%%
                       ############     %%%%%%%%%%%%%%%
                          ########     %%%%%%%%%%%%%%
                                      %%%%%%%%%%%

                 | The OpenMC Monte Carlo Code
       Copyright | 2011-2026 MIT, UChicago Argonne LLC, and contributors
         License | https://docs.openmc.org/en/latest/license.html
         Version | 0.16.0
     Commit Hash | 617d35a5063c57796b43428bc401e627d2011046
       Date/Time | 2026-11-06 19:37:15
  OpenMP Threads | 16

 Reading model XML file 'model.xml' ...
 Reading cross sections XML file...
 Reading Pb204 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Pb204.h5
 Reading Pb206 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Pb206.h5
 Reading Pb207 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Pb207.h5
 Reading Pb208 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Pb208.h5
 Reading Li6 from /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Li6.h5
 Reading Li7 from /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Li7.h5
 Reading Cr50 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Cr50.h5
 Reading Cr52 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Cr52.h5
 Reading Cr53 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Cr53.h5
 Reading Cr54 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Cr54.h5
 Reading W180 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/W180.h5
 Reading W182 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/W182.h5
 Reading W183 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/W183.h5
 Reading W184 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/W184.h5
 Reading W186 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/W186.h5
 Reading Mn55 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Mn55.h5
 Reading V50 from /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/V50.h5
 Reading V51 from /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/V51.h5
 Reading Ta180_m1 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Ta180_m1.h5
 Reading Ta181 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Ta181.h5
 Reading C12 from /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/C12.h5
 Reading C13 from /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/C13.h5
 Reading Ti46 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Ti46.h5
 Reading Ti47 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Ti47.h5
 Reading Ti48 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Ti48.h5
 Reading Ti49 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Ti49.h5
 Reading Ti50 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Ti50.h5
 Reading N14 from /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/N14.h5
 Reading N15 from /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/N15.h5
 Reading Fe54 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Fe54.h5
 Reading Fe56 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Fe56.h5
 Reading Fe57 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Fe57.h5
 Reading Fe58 from
 /Users/marychin/gitlabcode/power/data/endf-b8.1/neutron/Fe58.h5
 Minimum neutron data temperature: 294 K
 Maximum neutron data temperature: 294 K
 Preparing distributed cell instances...
 Writing summary.h5 file...
 Maximum neutron transport energy: 20000000 eV for Pb207

 ===============>     FIXED SOURCE TRANSPORT SIMULATION     <===============

 Simulating batch 1
 Simulating batch 2
 Simulating batch 3
 Simulating batch 4
 Simulating batch 5
 Triggers unsatisfied, max unc./thresh. is 1.038061458706702 for (n,Xt) in tally
 2
 Creating state point statepoint.005.h5...
 Simulating batch 6
 Simulating batch 7
 Simulating batch 8
 Simulating batch 9
 Simulating batch 10
 Triggers satisfied for batch 10
 Creating state point statepoint.010.h5...

 =======================>     TIMING STATISTICS     <=======================

 Total time for initialization     = 1.7712e+00 seconds
   Reading cross sections          = 1.7664e+00 seconds
 Total time in simulation          = 4.1148e+00 seconds
   Time in transport only          = 4.1090e+00 seconds
   Time in active batches          = 4.1148e+00 seconds
   Time accumulating tallies       = 1.9024e-03 seconds
   Time writing statepoints        = 3.7251e-03 seconds
 Total time for finalization       = 1.3361e-03 seconds
 Total time elapsed                = 5.8902e+00 seconds
 Calculation Rate (active)         = 24302.7 particles/second

 ============================>     RESULTS     <============================

 Leakage Fraction            = 0.05328 +/- 0.00072

8. Output

['(n,Xt)', 'Li7_(n,Xt)_convergence', 'fluence_r_E', 'fluence_n_Xt_r']

Li7_(n,Xt)_convergence

(0.009367305299817096, 0.01)

(n,Xt)

Tally ID = 1 Name = (n,Xt) Filters = CellFilter Nuclides = Pb204 Pb206 Pb207 Pb208 Li6 Li7 total Scores = ['(n,Xt)'] Estimator = tracklength Multiply dens. = True
Loading...

Neutron fluence

The fluence map is normalized by spherical-shell volume and lethargy-bin width. The second map shows relative statistical error; bins with zero fluence are blank.

<Figure size 1400x500 with 4 Axes>

Energy-integrated radial contributions per spherical shell

The two profiles show neutron track-length and (n,Xt) production integrated over each spherical shell, without dividing by shell volume. The (n,Xt) score estimates tritium nuclei produced per source neutron; it is not transported triton fluence.

<Figure size 800x500 with 2 Axes>

Neutron energy spectrum

First wall (EUROFER)

<Figure size 1000x550 with 3 Axes>

Breeder (PbLi)

<Figure size 1000x550 with 3 Axes>