Skip to content

Commit

Permalink
Merge pull request #143 from fusion-energy/develop
Browse files Browse the repository at this point in the history
added li isotopes for tritium production
  • Loading branch information
shimwell authored Oct 21, 2022
2 parents 81c57fd + 0a4c566 commit b0d8f1f
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 75 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ RUN apt-get --yes install libeigen3-dev \
# installing cadquery and jupyter
RUN conda install -c conda-forge -c python python=3.8

RUN conda install -c fusion-energy -c cadquery -c conda-forge paramak==0.8.2
RUN conda install -c fusion-energy -c cadquery -c conda-forge paramak==0.8.5

# python packages from the neutronics workflow
RUN pip install neutronics_material_maker[density] \
Expand Down
95 changes: 23 additions & 72 deletions tasks/task_01_cross_sections/1_isotope_xs_plot.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Neutron multiplication is an important reaction in fusion and is utilised in D-T fusion reactors to ensure sufficient tritium can be bred. Beryllium and Lead are candidate neutron multiplier materials.\n",
"There is no abundant natural source of tritium on Earth so DT fusion reactors will probably need to be self sufficient in tritium production.\n",
"\n",
"This first code block plots the neutron multiplication (n,2n) cross section of two isotopes - Be9 and Pb204."
"Tritium is required as part of the fuel mix for deuterium (D)tritium (T) fusion reactors.\n",
"\n",
"Tritium production is one of the most important cross section in fusion.\n",
"\n",
"To product sufficient tritium we need a high tritium production cross section.\n",
"\n",
"Neutrons from DT fusion are created with around 14.1MeV of energy, which lithium isotope offers the highest probability of tritium production at that energy?"
]
},
{
Expand All @@ -44,17 +50,15 @@
"metadata": {},
"outputs": [],
"source": [
"import plotly.graph_objects as go\n",
"\n",
"# the create plot function contains all the OpenMC routines for accessing the cross sections\n",
"from plotting_utils import create_isotope_plot\n",
"\n",
"\n",
"# these are two candidate neutron multipliers\n",
"isotopes_of_interest = ['Be9', 'Pb204']\n",
"# these are the two stable isotopes of lithium which both produce tritium\n",
"isotopes_of_interest = ['Li6', 'Li7']\n",
"\n",
"# The (n,2n) is one incident neutron and two neutrons produced\n",
"reactions_of_interest = '(n,2n)'\n",
"reactions_of_interest = '(n,Xt)'\n",
"\n",
"create_isotope_plot(\n",
" isotopes=isotopes_of_interest,\n",
Expand All @@ -66,15 +70,21 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Neutron multiplication is a threshold reaction meaning it only occurs at neutron energies above a certain threshold. You should notice that the threshold energies for Be9 and Pb204 are different."
"Neutron multiplication is also an important reaction in fusion.\n",
"\n",
"Neutron multiplying reactions increase the number of neutrons available for tritium producing reactions.\n",
"\n",
"This next code block plots the neutron multiplication (n,2n) cross section of the Be and Pb isotopes.\n",
"\n",
"Neutron multiplication is a threshold reaction meaning it only occurs at neutron energies above a certain threshold. You should notice that the threshold energies for Be9 and Pb204 are different.\n",
"\n",
"Which isotope offers the lowest threshold and which isotopes offers the highest probability."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This second code block adds all isotopes of lead to the plot."
]
"source": []
},
{
"cell_type": "code",
Expand All @@ -97,67 +107,7 @@
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This graph shows that (n,2n) threshold energy is different for different isotopes of the same element."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To maximise neutron multiplication in D-T fusion reactors, multiplier materials with low (n,2n) threshold energies should be used.\n",
"\n",
"OPTIONAL: This next code block plots the neutron multiplication cross section of every stable isotope. Notice that Be and Pb perform well in terms of their neutron multiplication compared to other elements."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# OPTIONAL\n",
"# this is a list of every stable isotope, this list will take a long time to process\n",
"isotopes_of_interest = [\n",
" 'Ag107', 'Ag109', 'Al27', 'Ar36', 'Ar38', 'Ar40', 'As75', 'Au197', 'B10', 'B11', 'Ba130',\n",
" 'Ba132', 'Ba134', 'Ba135', 'Ba136', 'Ba137', 'Ba138', 'Be9', 'Bi209','Br79', 'Br81',\n",
" 'Ca40', 'Ca42', 'Ca43', 'Ca44', 'Ca46', 'Ca48', 'Cd106', 'Cd108', 'Cd110', 'Cd111',\n",
" 'Cd112', 'Cd113', 'Cd114', 'Cd116', 'Ce136', 'Ce138', 'Ce140', 'Ce142', 'Cl35', 'Cl37',\n",
" 'Co59', 'Cr50', 'Cr52', 'Cr53', 'Cr54', 'Cs133', 'Cu63', 'Cu65', 'Dy156', 'Dy158',\n",
" 'Dy160', 'Dy161', 'Dy162', 'Dy163', 'Dy164', 'Er162', 'Er164', 'Er166', 'Er167', 'Er168',\n",
" 'Er170', 'Eu151', 'Eu153', 'F19', 'Fe54', 'Fe56', 'Fe57', 'Fe58', 'Ga69', 'Ga71', 'Gd152',\n",
" 'Gd154', 'Gd155', 'Gd156', 'Gd157', 'Gd158', 'Gd160', 'Ge70', 'Ge72', 'Ge73', 'Ge74',\n",
" 'Ge76', 'H1', 'H2', 'He3', 'He4', 'Hf174', 'Hf176', 'Hf177', 'Hf178', 'Hf179', 'Hf180',\n",
" 'Hg196', 'Hg198', 'Hg199', 'Hg200', 'Hg201', 'Hg202', 'Hg204', 'Ho165', 'I127', 'In113',\n",
" 'In115', 'Ir191', 'Ir193', 'K39', 'K40', 'K41', 'Kr78', 'Kr80', 'Kr82', 'Kr83', 'Kr84',\n",
" 'Kr86', 'La138', 'La139', 'Li6', 'Li7', 'Lu175', 'Lu176', 'Mg24', 'Mg25', 'Mg26', 'Mn55',\n",
" 'Mo100', 'Mo92', 'Mo94', 'Mo95', 'Mo96', 'Mo97', 'Mo98', 'N14', 'N15', 'Na23', 'Nb93',\n",
" 'Nd142', 'Nd143', 'Nd144', 'Nd145', 'Nd146', 'Nd148', 'Nd150', 'Ni58', 'Ni60', 'Ni61',\n",
" 'Ni62', 'Ni64', 'O16', 'O17', 'P31', 'Pa231', 'Pb204', 'Pb206', 'Pb207', 'Pb208', 'Pd102',\n",
" 'Pd104', 'Pd105', 'Pd106', 'Pd108', 'Pd110', 'Pr141', 'Rb85', 'Rb87', 'Re185', 'Re187',\n",
" 'Rh103', 'Ru100', 'Ru101', 'Ru102', 'Ru104', 'Ru96', 'Ru98', 'Ru99', 'S32', 'S33', 'S34',\n",
" 'S36', 'Sb121', 'Sb123', 'Sc45', 'Se74', 'Se76', 'Se77', 'Se78', 'Se80', 'Se82', 'Si28',\n",
" 'Si29', 'Si30', 'Sm144', 'Sm147', 'Sm148', 'Sm149', 'Sm150', 'Sm152', 'Sm154', 'Sn112',\n",
" 'Sn114', 'Sn115', 'Sn116', 'Sn117', 'Sn118', 'Sn119', 'Sn120', 'Sn122', 'Sn124', 'Sr84',\n",
" 'Sr86', 'Sr87', 'Sr88', 'Ta180', 'Ta181', 'Tb159', 'Te120', 'Te122', 'Te123', 'Te124',\n",
" 'Te125', 'Te126', 'Te128', 'Te130', 'Th232', 'Ti46', 'Ti47', 'Ti48', 'Ti49', 'Ti50',\n",
" 'Tl203', 'Tl205', 'Tm169', 'U234', 'U235', 'U238', 'V50', 'V51', 'W180', 'W182', 'W183',\n",
" 'W184', 'W186', 'Xe124', 'Xe126', 'Xe128', 'Xe129', 'Xe130', 'Xe131', 'Xe132', 'Xe134',\n",
" 'Xe136', 'Y89', 'Zn64', 'Zn66', 'Zn67', 'Zn68', 'Zn70', 'Zr90', 'Zr91', 'Zr92', 'Zr94',\n",
" 'Zr96'\n",
"]\n",
"\n",
"# The (n,2n) is one incident neutron and two neutrons produced\n",
"reactions_of_interest = '(n,2n)'\n",
"\n",
"# we could plot all the elements but that would take a long time so we just plot the first 30\n",
"number_of_isotopes_to_plot = 30\n",
"\n",
"create_isotope_plot(\n",
" isotopes=isotopes_of_interest[:number_of_isotopes_to_plot],\n",
" reaction=reactions_of_interest,\n",
")"
]
"source": []
},
{
"cell_type": "markdown",
Expand All @@ -176,6 +126,7 @@
"**Learning Outcomes for Part 1:**\n",
"- OpenMC can be used to plot interaction cross sections for specific isotopes.\n",
"- Reaction probabilities vary for each isotope depending on the energy of the neutron.\n",
"- Li7 and Li6 both offer tritium producing reactions for different energy neutrons.\n",
"- Be and Pb perform well in terms of neutron multiplication. Be9 has the lowest threshold energy for neutron multiplication reactions."
]
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -208,8 +208,8 @@
"my_settings = openmc.Settings()\n",
"my_settings.inactive = 0\n",
"my_settings.run_mode = \"fixed source\"\n",
"my_settings.batches = 100\n",
"my_settings.particles = 100000\n",
"my_settings.batches = 10\n",
"my_settings.particles = 10000\n",
"my_settings.source = my_source"
]
},
Expand Down

0 comments on commit b0d8f1f

Please sign in to comment.