1771 lines
135 KiB
Plaintext
1771 lines
135 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "b9ec17cb",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"source": [
|
|
"# Multigroup Cross Section Generation API\n",
|
|
"\n",
|
|
"In this demonstration, we will practice creating multigroup cross sections (MGXS) using OpenMC's Python API. This functionality greatly simplifies what users need to do to get MGXS from an OpenMC simulations. Under the hood, this is really just fancy wrapper code that uses the tallies we have already used.\n",
|
|
"\n",
|
|
"Specifically, in this demonstration we will:\n",
|
|
"\n",
|
|
"1. Manually define tallies to compute a multigroup cross section\n",
|
|
"2. Use the `openmc.mgxs` module to automate the process from step 1\n",
|
|
"3. Show how to generate MGXS for individual nuclides\n",
|
|
"4. Show how to use predefined energy group structures\n",
|
|
"5. Demonstrate the `openmc.mgxs.Library` class, which allows multiple MGXS to be easily collected"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d3b76cef",
|
|
"metadata": {},
|
|
"source": [
|
|
"We start with a simple PWR-like pin cell model."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "587f4e8a",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"import openmc\n",
|
|
"import numpy as np\n",
|
|
"\n",
|
|
"fuel = openmc.Material(name='UO2')\n",
|
|
"fuel.set_density('g/cc', 10.)\n",
|
|
"fuel.add_element('O', 2.)\n",
|
|
"fuel.add_element('U', 1., enrichment=3.)\n",
|
|
"\n",
|
|
"clad = openmc.Material(name='Zr')\n",
|
|
"clad.set_density('g/cc', 6.2)\n",
|
|
"clad.add_element('Zr', 1.)\n",
|
|
"\n",
|
|
"water = openmc.Material(name='Water')\n",
|
|
"water.set_density('g/cc', 1.)\n",
|
|
"water.add_element('O', 1.)\n",
|
|
"water.add_element('H', 2.)\n",
|
|
"water.add_s_alpha_beta('c_H_in_H2O')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "78bee765",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 258.065x259.74 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Define the geometry, a pin with no gap\n",
|
|
"fuel_ir = openmc.ZCylinder(r=0.39)\n",
|
|
"clad_or = openmc.ZCylinder(r=0.46)\n",
|
|
"fuel_pin = openmc.model.pin([fuel_ir, clad_or], [fuel, clad, water])\n",
|
|
"\n",
|
|
"# Bound the outer cell with a rectangular prism\n",
|
|
"box = openmc.model.RectangularPrism(1.26, 1.26, boundary_type='reflective')\n",
|
|
"last_cell = list(fuel_pin.cells.values())[-1]\n",
|
|
"last_cell.region &= -box\n",
|
|
"\n",
|
|
"# Lets take a look at the universe and make sure it is about right.\n",
|
|
"fuel_pin.plot(width=(2.0, 2.0))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "26e22dee-1291-4e68-81b6-f7591bafe0fc",
|
|
"metadata": {},
|
|
"source": [
|
|
"Now let's create a `Model` object and assign a geometry:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "413f9d54-f92e-44d1-8442-e94ce2b8af9f",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"model = openmc.Model()\n",
|
|
"model.geometry = openmc.Geometry(fuel_pin)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "e177be01-23ef-4e29-b675-2f2cd2143bb9",
|
|
"metadata": {},
|
|
"source": [
|
|
"We also need to specify the simulation settings:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "9401c82f",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# And now we can setup the problem settings\n",
|
|
"model.settings.batches = 100\n",
|
|
"model.settings.inactive = 10\n",
|
|
"model.settings.particles = 1000\n",
|
|
"\n",
|
|
"# And now establish the source region with a flat source in only the fuel\n",
|
|
"uniform_dist = openmc.stats.Box((-.63, -.63, 0.), (.63, .63, 0.))\n",
|
|
"model.settings.source = openmc.IndependentSource(space=uniform_dist, constraints={'fissionable': True})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "b4fc9bb3",
|
|
"metadata": {},
|
|
"source": [
|
|
"Lets run this model just to make sure it runs to completion before we slow it down with the tallies."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "3eadc689",
|
|
"metadata": {
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"PosixPath('/home/ubuntu/openmc-nea-course/notebooks/mgxs/statepoint.100.h5')"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"model.run(output=False)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "1634e491-82cb-49f8-a52a-e84a4995c82b",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Manually defining tallies"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "e7045e6b-114a-4859-9961-629cf492a783",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"mat_filter = openmc.MaterialFilter([fuel])\n",
|
|
"energy_filter = openmc.EnergyFilter([1.0, 10.0, 100., 1000.])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "a42e157e-f642-40ad-9666-8f2a7cd8d9fc",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"rr_tally = openmc.Tally()\n",
|
|
"rr_tally.filters = [mat_filter, energy_filter]\n",
|
|
"rr_tally.scores = ['total']\n",
|
|
"\n",
|
|
"flux_tally = openmc.Tally()\n",
|
|
"flux_tally.filters = [mat_filter, energy_filter]\n",
|
|
"flux_tally.scores = ['flux']\n",
|
|
"\n",
|
|
"model.tallies = [flux_tally, rr_tally]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "3882062f-0e1d-41c2-bdb1-4d5841e3d841",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"PosixPath('/home/ubuntu/openmc-nea-course/notebooks/mgxs/statepoint.100.h5')"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"model.run(output=False, apply_tally_results=True)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"id": "ab1be657-1e28-4f80-b5d7-5211b7e56af9",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([[[0.61568491]],\n",
|
|
"\n",
|
|
" [[0.65391142]],\n",
|
|
"\n",
|
|
" [[0.74500783]]])"
|
|
]
|
|
},
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"flux_tally.mean"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"id": "1cb3e48c-8abd-4ff5-9257-a56eef4f273b",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([[[0.29671047]],\n",
|
|
"\n",
|
|
" [[0.36586977]],\n",
|
|
"\n",
|
|
" [[0.40950603]]])"
|
|
]
|
|
},
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"rr_tally.mean"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"id": "4c6f41f8-4f77-4955-9fa6-f96dc946de30",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([[[0.48191935]],\n",
|
|
"\n",
|
|
" [[0.55950968]],\n",
|
|
"\n",
|
|
" [[0.54966674]]])"
|
|
]
|
|
},
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"rr_tally.mean / flux_tally.mean"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"id": "b2fad55f-d300-499c-a196-911c3e3ee188",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"xs_tally = rr_tally / flux_tally"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"id": "c0b7e4f9-1ad7-4760-96f1-d9a35407c388",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([[[0.48191935]],\n",
|
|
"\n",
|
|
" [[0.55950968]],\n",
|
|
"\n",
|
|
" [[0.54966674]]])"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"xs_tally.mean"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"id": "36e51bca-d071-4aff-b674-ca87e1315916",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>material</th>\n",
|
|
" <th>energy low [eV]</th>\n",
|
|
" <th>energy high [eV]</th>\n",
|
|
" <th>nuclide</th>\n",
|
|
" <th>score</th>\n",
|
|
" <th>mean</th>\n",
|
|
" <th>std. dev.</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1.0</td>\n",
|
|
" <td>10.0</td>\n",
|
|
" <td>total</td>\n",
|
|
" <td>(total / flux)</td>\n",
|
|
" <td>0.481919</td>\n",
|
|
" <td>0.003519</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>10.0</td>\n",
|
|
" <td>100.0</td>\n",
|
|
" <td>total</td>\n",
|
|
" <td>(total / flux)</td>\n",
|
|
" <td>0.559510</td>\n",
|
|
" <td>0.004102</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>100.0</td>\n",
|
|
" <td>1000.0</td>\n",
|
|
" <td>total</td>\n",
|
|
" <td>(total / flux)</td>\n",
|
|
" <td>0.549667</td>\n",
|
|
" <td>0.003934</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" material energy low [eV] energy high [eV] nuclide score \\\n",
|
|
"0 1 1.00e+00 1.00e+01 total (total / flux) \n",
|
|
"1 1 1.00e+01 1.00e+02 total (total / flux) \n",
|
|
"2 1 1.00e+02 1.00e+03 total (total / flux) \n",
|
|
"\n",
|
|
" mean std. dev. \n",
|
|
"0 4.82e-01 3.52e-03 \n",
|
|
"1 5.60e-01 4.10e-03 \n",
|
|
"2 5.50e-01 3.93e-03 "
|
|
]
|
|
},
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"xs_tally.get_pandas_dataframe()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "30e5955c-3608-4aae-85ba-599df7d52bb7",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "aa0fe7be-8889-4a81-afc6-a18b2c34fb0f",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Using MGXS classes"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"id": "3ad4dec4-e6ad-4b17-80ad-cc82831b84d0",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<EnergyGroups: 3 groups>"
|
|
]
|
|
},
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"groups = openmc.mgxs.EnergyGroups([1.0, 10.0, 100., 1000.])\n",
|
|
"groups"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"id": "71481352-2dfe-47d5-ad4a-7c4c2e9b6d83",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([ 1., 10., 100., 1000.])"
|
|
]
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"groups.group_edges"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"id": "783e8c53-94bd-4486-bea4-4f6d3672c9af",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"total_xs = openmc.mgxs.TotalXS(fuel, energy_groups=groups)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"id": "eeb31784-102b-4155-9eab-0afc642219c4",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[Tally\n",
|
|
" \tID =\t4\n",
|
|
" \tName =\t\n",
|
|
" \tFilters =\tMaterialFilter, EnergyFilter\n",
|
|
" \tNuclides =\ttotal\n",
|
|
" \tScores =\t['flux']\n",
|
|
" \tEstimator =\ttracklength\n",
|
|
" \tMultiply dens. =\tTrue,\n",
|
|
" Tally\n",
|
|
" \tID =\t5\n",
|
|
" \tName =\t\n",
|
|
" \tFilters =\tMaterialFilter, EnergyFilter\n",
|
|
" \tNuclides =\ttotal\n",
|
|
" \tScores =\t['total']\n",
|
|
" \tEstimator =\ttracklength\n",
|
|
" \tMultiply dens. =\tTrue]"
|
|
]
|
|
},
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"list(total_xs.tallies.values())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"id": "997ec880-cf24-490b-81bf-7a4859fb31f5",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"model.tallies = list(total_xs.tallies.values())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"id": "4d300853-05dc-41ba-a534-2413ee86e0d7",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"sp_filename = model.run(output=False)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"id": "feceb4b1-7caa-4c4a-afa8-bd752fb1fa0c",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"with openmc.StatePoint(sp_filename) as sp:\n",
|
|
" total_xs.load_from_statepoint(sp)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"id": "7d494988-8a08-4fbf-81c1-3444e106abc0",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([0.54966674, 0.55950968, 0.48191935])"
|
|
]
|
|
},
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"total_xs.get_xs()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 26,
|
|
"id": "9bc635cf-2073-45fa-8e51-b5e126eb6ee2",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>material</th>\n",
|
|
" <th>group in</th>\n",
|
|
" <th>nuclide</th>\n",
|
|
" <th>mean</th>\n",
|
|
" <th>std. dev.</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>total</td>\n",
|
|
" <td>0.549667</td>\n",
|
|
" <td>0.003934</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>total</td>\n",
|
|
" <td>0.559510</td>\n",
|
|
" <td>0.004102</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>total</td>\n",
|
|
" <td>0.481919</td>\n",
|
|
" <td>0.003519</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" material group in nuclide mean std. dev.\n",
|
|
"2 1 1 total 0.549667 0.003934\n",
|
|
"1 1 2 total 0.559510 0.004102\n",
|
|
"0 1 3 total 0.481919 0.003519"
|
|
]
|
|
},
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"total_xs.get_pandas_dataframe()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 27,
|
|
"id": "68a97cb2-08ca-4f02-ae3d-9922541a0de6",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Multi-Group XS\n",
|
|
"\tReaction Type =\ttotal\n",
|
|
"\tDomain Type =\tmaterial\n",
|
|
"\tDomain ID =\t1\n",
|
|
"\tCross Sections [cm^-1]:\n",
|
|
" Group 1 [100.0 - 1000.0 eV]:\t5.50e-01 +/- 7.16e-01%\n",
|
|
" Group 2 [10.0 - 100.0 eV]:\t5.60e-01 +/- 7.33e-01%\n",
|
|
" Group 3 [1.0 - 10.0 eV]:\t4.82e-01 +/- 7.30e-01%\n",
|
|
"\n",
|
|
"\n",
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"total_xs.print_xs()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"id": "5da17d8e-9d0e-4bfd-b891-adccc4cf41f5",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Multi-Group XS\n",
|
|
"\tReaction Type =\ttotal\n",
|
|
"\tDomain Type =\tmaterial\n",
|
|
"\tDomain ID =\t1\n",
|
|
"\tCross Sections [barns]:\n",
|
|
" Group 1 [100.0 - 1000.0 eV]:\t8.21e+00 +/- 7.16e-01%\n",
|
|
" Group 2 [10.0 - 100.0 eV]:\t8.36e+00 +/- 7.33e-01%\n",
|
|
" Group 3 [1.0 - 10.0 eV]:\t7.20e+00 +/- 7.30e-01%\n",
|
|
"\n",
|
|
"\n",
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"total_xs.print_xs(xs_type='micro')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "d973e157-8574-4124-89d7-d102d52f963d",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "0e5b2c02-06a9-427e-9092-5b1029bd06f9",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Getting nuclide-wise cross sections"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 29,
|
|
"id": "5000d22c-e951-4fb1-af3a-4e5c050622ee",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"total = openmc.mgxs.TotalXS(fuel, energy_groups=groups, by_nuclide=True)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 30,
|
|
"id": "08caafb9-0836-4610-9362-898953e52300",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"['O16', 'O17', 'U234', 'U235', 'U238', 'U236']"
|
|
]
|
|
},
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"total.nuclides"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 31,
|
|
"id": "06127b3a-33e0-4ceb-ae41-9d8186e53c9b",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"model.tallies = list(total.tallies.values())\n",
|
|
"sp_file = model.run(output=False)\n",
|
|
"with openmc.StatePoint(sp_file) as sp:\n",
|
|
" total.load_from_statepoint(sp)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 33,
|
|
"id": "e3360cbd-99e3-4017-aedf-5e0ca66d27e5",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>material</th>\n",
|
|
" <th>group in</th>\n",
|
|
" <th>nuclide</th>\n",
|
|
" <th>mean</th>\n",
|
|
" <th>std. dev.</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>12</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>O16</td>\n",
|
|
" <td>3.851182</td>\n",
|
|
" <td>0.025589</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>13</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>O17</td>\n",
|
|
" <td>3.742246</td>\n",
|
|
" <td>0.024865</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>14</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U234</td>\n",
|
|
" <td>31.581752</td>\n",
|
|
" <td>0.583676</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>15</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>35.752970</td>\n",
|
|
" <td>0.243258</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>16</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U238</td>\n",
|
|
" <td>16.340486</td>\n",
|
|
" <td>0.128284</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>17</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U236</td>\n",
|
|
" <td>37.022942</td>\n",
|
|
" <td>0.719490</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>O16</td>\n",
|
|
" <td>3.852076</td>\n",
|
|
" <td>0.025005</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>O17</td>\n",
|
|
" <td>3.747185</td>\n",
|
|
" <td>0.024324</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>U234</td>\n",
|
|
" <td>44.600742</td>\n",
|
|
" <td>1.167600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>75.850014</td>\n",
|
|
" <td>0.677278</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>U238</td>\n",
|
|
" <td>15.532893</td>\n",
|
|
" <td>0.134214</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>U236</td>\n",
|
|
" <td>42.798548</td>\n",
|
|
" <td>1.549995</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>O16</td>\n",
|
|
" <td>3.853257</td>\n",
|
|
" <td>0.027595</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>O17</td>\n",
|
|
" <td>3.764155</td>\n",
|
|
" <td>0.026963</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>U234</td>\n",
|
|
" <td>255.395158</td>\n",
|
|
" <td>9.780352</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>60.551414</td>\n",
|
|
" <td>0.564996</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>U238</td>\n",
|
|
" <td>12.348840</td>\n",
|
|
" <td>0.099372</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>U236</td>\n",
|
|
" <td>136.406696</td>\n",
|
|
" <td>4.767326</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" material group in nuclide mean std. dev.\n",
|
|
"12 1 1 O16 3.851182 0.025589\n",
|
|
"13 1 1 O17 3.742246 0.024865\n",
|
|
"14 1 1 U234 31.581752 0.583676\n",
|
|
"15 1 1 U235 35.752970 0.243258\n",
|
|
"16 1 1 U238 16.340486 0.128284\n",
|
|
"17 1 1 U236 37.022942 0.719490\n",
|
|
"6 1 2 O16 3.852076 0.025005\n",
|
|
"7 1 2 O17 3.747185 0.024324\n",
|
|
"8 1 2 U234 44.600742 1.167600\n",
|
|
"9 1 2 U235 75.850014 0.677278\n",
|
|
"10 1 2 U238 15.532893 0.134214\n",
|
|
"11 1 2 U236 42.798548 1.549995\n",
|
|
"0 1 3 O16 3.853257 0.027595\n",
|
|
"1 1 3 O17 3.764155 0.026963\n",
|
|
"2 1 3 U234 255.395158 9.780352\n",
|
|
"3 1 3 U235 60.551414 0.564996\n",
|
|
"4 1 3 U238 12.348840 0.099372\n",
|
|
"5 1 3 U236 136.406696 4.767326"
|
|
]
|
|
},
|
|
"execution_count": 33,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"total.get_pandas_dataframe(xs_type='micro')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "75c9542c-a049-4e91-a131-b3111a069ba9",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "5333aabd",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Predefined energy group structures"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 34,
|
|
"id": "a9cfe8f8-5844-45e4-ba73-689c247cfd80",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"dict_keys(['CASMO-2', 'CASMO-4', 'CASMO-8', 'CASMO-16', 'CASMO-25', 'ECCO-33', 'CASMO-40', 'VITAMIN-J-42', 'SCALE-44', 'MPACT-51', 'MPACT-60', 'MPACT-69', 'CASMO-70', 'XMAS-172', 'VITAMIN-J-175', 'SCALE-252', 'TRIPOLI-315', 'SHEM-361', 'LLNL-616', 'CCFE-709', 'SCALE-999', 'UKAEA-1102', 'ECCO-1968'])"
|
|
]
|
|
},
|
|
"execution_count": 34,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"openmc.mgxs.GROUP_STRUCTURES.keys()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 35,
|
|
"id": "9bb37bd1-f8cf-4b6d-a4e5-fdd838b6e7db",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([0.0000e+00, 1.5000e-02, 3.0000e-02, 4.2000e-02, 5.8000e-02,\n",
|
|
" 8.0000e-02, 1.0000e-01, 1.4000e-01, 1.8000e-01, 2.2000e-01,\n",
|
|
" 2.8000e-01, 3.5000e-01, 6.2500e-01, 8.5000e-01, 9.5000e-01,\n",
|
|
" 9.7200e-01, 1.0200e+00, 1.0970e+00, 1.1500e+00, 1.3000e+00,\n",
|
|
" 1.5000e+00, 1.8550e+00, 2.1000e+00, 2.6000e+00, 3.3000e+00,\n",
|
|
" 4.0000e+00, 9.8770e+00, 1.5968e+01, 2.7700e+01, 4.8052e+01,\n",
|
|
" 1.4873e+02, 5.5300e+03, 9.1180e+03, 1.1100e+05, 5.0000e+05,\n",
|
|
" 8.2100e+05, 1.3530e+06, 2.2310e+06, 3.6790e+06, 6.0655e+06,\n",
|
|
" 2.0000e+07])"
|
|
]
|
|
},
|
|
"execution_count": 35,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"openmc.mgxs.GROUP_STRUCTURES['CASMO-40']"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 36,
|
|
"id": "328a5b63-791a-4fa0-9c4b-b8e78adc9f1e",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<EnergyGroups: 40 groups (CASMO-40)>"
|
|
]
|
|
},
|
|
"execution_count": 36,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"casmo40 = openmc.mgxs.EnergyGroups('CASMO-40')\n",
|
|
"casmo40"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 37,
|
|
"id": "c7956de9-496b-40e9-9551-a43670ff0050",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([0.0000e+00, 1.5000e-02, 3.0000e-02, 4.2000e-02, 5.8000e-02,\n",
|
|
" 8.0000e-02, 1.0000e-01, 1.4000e-01, 1.8000e-01, 2.2000e-01,\n",
|
|
" 2.8000e-01, 3.5000e-01, 6.2500e-01, 8.5000e-01, 9.5000e-01,\n",
|
|
" 9.7200e-01, 1.0200e+00, 1.0970e+00, 1.1500e+00, 1.3000e+00,\n",
|
|
" 1.5000e+00, 1.8550e+00, 2.1000e+00, 2.6000e+00, 3.3000e+00,\n",
|
|
" 4.0000e+00, 9.8770e+00, 1.5968e+01, 2.7700e+01, 4.8052e+01,\n",
|
|
" 1.4873e+02, 5.5300e+03, 9.1180e+03, 1.1100e+05, 5.0000e+05,\n",
|
|
" 8.2100e+05, 1.3530e+06, 2.2310e+06, 3.6790e+06, 6.0655e+06,\n",
|
|
" 2.0000e+07])"
|
|
]
|
|
},
|
|
"execution_count": 37,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"casmo40.group_edges"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 38,
|
|
"id": "35db15b5-e49d-4a14-bb62-831b25f7fb39",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"ef = openmc.EnergyFilter.from_group_structure('ECCO-33')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 39,
|
|
"id": "9eacce98-03d8-4b21-9956-853cb4974de5",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([1.000010e-05, 1.000000e-01, 5.400000e-01, 4.000000e+00,\n",
|
|
" 8.315287e+00, 1.370959e+01, 2.260329e+01, 4.016900e+01,\n",
|
|
" 6.790405e+01, 9.166088e+01, 1.486254e+02, 3.043248e+02,\n",
|
|
" 4.539993e+02, 7.485183e+02, 1.234098e+03, 2.034684e+03,\n",
|
|
" 3.354626e+03, 5.530844e+03, 9.118820e+03, 1.503439e+04,\n",
|
|
" 2.478752e+04, 4.086771e+04, 6.737947e+04, 1.110900e+05,\n",
|
|
" 1.831564e+05, 3.019738e+05, 4.978707e+05, 8.208500e+05,\n",
|
|
" 1.353353e+06, 2.231302e+06, 3.678794e+06, 6.065307e+06,\n",
|
|
" 1.000000e+07, 1.964033e+07])"
|
|
]
|
|
},
|
|
"execution_count": 39,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"ef.values"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "909f4b31-2ee9-4df9-890d-a770a92fe247",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a6d6cbee-d8c3-4fbf-bb58-e00892202c8f",
|
|
"metadata": {},
|
|
"source": [
|
|
"## The `Library` class"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 40,
|
|
"id": "ebc696b2-c24d-443e-9d24-4c952c165582",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"('total',\n",
|
|
" 'transport',\n",
|
|
" 'nu-transport',\n",
|
|
" 'absorption',\n",
|
|
" 'reduced absorption',\n",
|
|
" 'capture',\n",
|
|
" 'fission',\n",
|
|
" 'nu-fission',\n",
|
|
" 'kappa-fission',\n",
|
|
" 'scatter',\n",
|
|
" 'nu-scatter',\n",
|
|
" 'scatter matrix',\n",
|
|
" 'nu-scatter matrix',\n",
|
|
" 'multiplicity matrix',\n",
|
|
" 'nu-fission matrix',\n",
|
|
" 'scatter probability matrix',\n",
|
|
" 'consistent scatter matrix',\n",
|
|
" 'consistent nu-scatter matrix',\n",
|
|
" 'chi',\n",
|
|
" 'chi-prompt',\n",
|
|
" 'inverse-velocity',\n",
|
|
" 'prompt-nu-fission',\n",
|
|
" 'prompt-nu-fission matrix',\n",
|
|
" 'current',\n",
|
|
" 'diffusion-coefficient',\n",
|
|
" 'nu-diffusion-coefficient')"
|
|
]
|
|
},
|
|
"execution_count": 40,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"openmc.mgxs.MGXS_TYPES"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 42,
|
|
"id": "db67b546-5ffa-41ab-a05f-7d23e563c263",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"library = openmc.mgxs.Library(model.geometry, by_nuclide=True, mgxs_types=['total', 'scatter', 'fission'])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 43,
|
|
"id": "5481de49-cb31-4b29-9b70-fa553a84e941",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"library.energy_groups = openmc.mgxs.EnergyGroups('CASMO-4')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 44,
|
|
"id": "707eb737-138a-497a-ba70-eff8b3489505",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"library.domain_type = 'material'\n",
|
|
"library.domains = [fuel, water]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 45,
|
|
"id": "93fd69f0-bd70-4568-a9cf-86e2aabe9bf7",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"library.build_library()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 46,
|
|
"id": "7ce1edfd-892b-41d7-b8c1-658b4494e2b0",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"model.tallies = []\n",
|
|
"library.add_to_tallies(model.tallies)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 47,
|
|
"id": "4dcf17e6-6c5f-42bc-8425-444650d1276c",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/home/ubuntu/openmc/openmc/mixin.py:70: IDWarning: Another Filter instance already exists with id=9.\n",
|
|
" warn(msg, IDWarning)\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
" %%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" #################### %%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" ##################### %%%%%%%%%%%%%%%%%%%%%\n",
|
|
" ###################### %%%%%%%%%%%%%%%%%%%%\n",
|
|
" ####################### %%%%%%%%%%%%%%%%%%\n",
|
|
" ####################### %%%%%%%%%%%%%%%%%\n",
|
|
" ###################### %%%%%%%%%%%%%%%%%\n",
|
|
" #################### %%%%%%%%%%%%%%%%%\n",
|
|
" ################# %%%%%%%%%%%%%%%%%\n",
|
|
" ############### %%%%%%%%%%%%%%%%\n",
|
|
" ############ %%%%%%%%%%%%%%%\n",
|
|
" ######## %%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%\n",
|
|
"\n",
|
|
" | The OpenMC Monte Carlo Code\n",
|
|
" Copyright | 2011-2025 MIT, UChicago Argonne LLC, and contributors\n",
|
|
" License | https://docs.openmc.org/en/latest/license.html\n",
|
|
" Version | 0.15.3\n",
|
|
" Commit Hash | 27e38e894697bb32a1dac7848d2618818b6b8daf\n",
|
|
" Date/Time | 2025-11-27 11:03:27\n",
|
|
" OpenMP Threads | 2\n",
|
|
"\n",
|
|
" Reading model XML file 'model.xml' ...\n",
|
|
" Reading chain file: /home/ubuntu/data/depletion_chains/chain_endfb71_pwr.xml...\n",
|
|
" Reading cross sections XML file...\n",
|
|
" Reading O16 from /home/ubuntu/data/endfb71_hdf5/O16.h5\n",
|
|
" Reading O17 from /home/ubuntu/data/endfb71_hdf5/O17.h5\n",
|
|
" Reading U234 from /home/ubuntu/data/endfb71_hdf5/U234.h5\n",
|
|
" Reading U235 from /home/ubuntu/data/endfb71_hdf5/U235.h5\n",
|
|
" Reading U238 from /home/ubuntu/data/endfb71_hdf5/U238.h5\n",
|
|
" Reading U236 from /home/ubuntu/data/endfb71_hdf5/U236.h5\n",
|
|
" Reading Zr90 from /home/ubuntu/data/endfb71_hdf5/Zr90.h5\n",
|
|
" Reading Zr91 from /home/ubuntu/data/endfb71_hdf5/Zr91.h5\n",
|
|
" Reading Zr92 from /home/ubuntu/data/endfb71_hdf5/Zr92.h5\n",
|
|
" Reading Zr94 from /home/ubuntu/data/endfb71_hdf5/Zr94.h5\n",
|
|
" Reading Zr96 from /home/ubuntu/data/endfb71_hdf5/Zr96.h5\n",
|
|
" Reading H1 from /home/ubuntu/data/endfb71_hdf5/H1.h5\n",
|
|
" Reading H2 from /home/ubuntu/data/endfb71_hdf5/H2.h5\n",
|
|
" Reading c_H_in_H2O from /home/ubuntu/data/endfb71_hdf5/c_H_in_H2O.h5\n",
|
|
" Minimum neutron data temperature: 294 K\n",
|
|
" Maximum neutron data temperature: 294 K\n",
|
|
" Preparing distributed cell instances...\n",
|
|
" Writing summary.h5 file...\n",
|
|
" Maximum neutron transport energy: 20000000 eV for O17\n",
|
|
" Initializing source particles...\n",
|
|
"\n",
|
|
" ====================> K EIGENVALUE SIMULATION <====================\n",
|
|
"\n",
|
|
" Bat./Gen. k Average k\n",
|
|
" ========= ======== ====================\n",
|
|
" 1/1 1.43092\n",
|
|
" 2/1 1.34966\n",
|
|
" 3/1 1.33379\n",
|
|
" 4/1 1.39831\n",
|
|
" 5/1 1.39394\n",
|
|
" 6/1 1.29346\n",
|
|
" 7/1 1.39659\n",
|
|
" 8/1 1.36805\n",
|
|
" 9/1 1.40421\n",
|
|
" 10/1 1.40594\n",
|
|
" 11/1 1.38719\n",
|
|
" 12/1 1.35477 1.37098 +/- 0.01621\n",
|
|
" 13/1 1.38857 1.37685 +/- 0.01104\n",
|
|
" 14/1 1.40745 1.38450 +/- 0.01093\n",
|
|
" 15/1 1.42747 1.39309 +/- 0.01207\n",
|
|
" 16/1 1.39134 1.39280 +/- 0.00986\n",
|
|
" 17/1 1.40955 1.39519 +/- 0.00867\n",
|
|
" 18/1 1.38811 1.39431 +/- 0.00756\n",
|
|
" 19/1 1.32947 1.38710 +/- 0.00981\n",
|
|
" 20/1 1.35863 1.38426 +/- 0.00923\n",
|
|
" 21/1 1.43303 1.38869 +/- 0.00945\n",
|
|
" 22/1 1.38675 1.38853 +/- 0.00863\n",
|
|
" 23/1 1.49283 1.39655 +/- 0.01129\n",
|
|
" 24/1 1.51000 1.40466 +/- 0.01322\n",
|
|
" 25/1 1.39332 1.40390 +/- 0.01233\n",
|
|
" 26/1 1.40215 1.40379 +/- 0.01154\n",
|
|
" 27/1 1.37021 1.40182 +/- 0.01102\n",
|
|
" 28/1 1.37246 1.40018 +/- 0.01051\n",
|
|
" 29/1 1.34663 1.39737 +/- 0.01034\n",
|
|
" 30/1 1.35774 1.39538 +/- 0.01000\n",
|
|
" 31/1 1.41261 1.39621 +/- 0.00955\n",
|
|
" 32/1 1.43886 1.39814 +/- 0.00931\n",
|
|
" 33/1 1.40692 1.39853 +/- 0.00890\n",
|
|
" 34/1 1.42162 1.39949 +/- 0.00858\n",
|
|
" 35/1 1.38903 1.39907 +/- 0.00824\n",
|
|
" 36/1 1.31645 1.39589 +/- 0.00853\n",
|
|
" 37/1 1.34706 1.39408 +/- 0.00841\n",
|
|
" 38/1 1.36633 1.39309 +/- 0.00816\n",
|
|
" 39/1 1.38395 1.39278 +/- 0.00788\n",
|
|
" 40/1 1.44684 1.39458 +/- 0.00782\n",
|
|
" 41/1 1.33581 1.39268 +/- 0.00780\n",
|
|
" 42/1 1.45739 1.39470 +/- 0.00782\n",
|
|
" 43/1 1.43631 1.39597 +/- 0.00768\n",
|
|
" 44/1 1.45547 1.39772 +/- 0.00766\n",
|
|
" 45/1 1.35540 1.39651 +/- 0.00753\n",
|
|
" 46/1 1.45528 1.39814 +/- 0.00750\n",
|
|
" 47/1 1.38292 1.39773 +/- 0.00731\n",
|
|
" 48/1 1.39678 1.39770 +/- 0.00711\n",
|
|
" 49/1 1.45163 1.39909 +/- 0.00706\n",
|
|
" 50/1 1.47443 1.40097 +/- 0.00714\n",
|
|
" 51/1 1.38626 1.40061 +/- 0.00697\n",
|
|
" 52/1 1.29045 1.39799 +/- 0.00729\n",
|
|
" 53/1 1.43110 1.39876 +/- 0.00716\n",
|
|
" 54/1 1.32694 1.39713 +/- 0.00718\n",
|
|
" 55/1 1.38749 1.39691 +/- 0.00703\n",
|
|
" 56/1 1.40870 1.39717 +/- 0.00688\n",
|
|
" 57/1 1.40275 1.39729 +/- 0.00673\n",
|
|
" 58/1 1.37465 1.39681 +/- 0.00660\n",
|
|
" 59/1 1.37365 1.39634 +/- 0.00648\n",
|
|
" 60/1 1.40778 1.39657 +/- 0.00636\n",
|
|
" 61/1 1.33424 1.39535 +/- 0.00635\n",
|
|
" 62/1 1.39305 1.39530 +/- 0.00623\n",
|
|
" 63/1 1.41165 1.39561 +/- 0.00612\n",
|
|
" 64/1 1.42058 1.39608 +/- 0.00602\n",
|
|
" 65/1 1.42361 1.39658 +/- 0.00593\n",
|
|
" 66/1 1.33768 1.39552 +/- 0.00592\n",
|
|
" 67/1 1.36837 1.39505 +/- 0.00583\n",
|
|
" 68/1 1.46356 1.39623 +/- 0.00585\n",
|
|
" 69/1 1.43894 1.39695 +/- 0.00580\n",
|
|
" 70/1 1.45187 1.39787 +/- 0.00577\n",
|
|
" 71/1 1.34586 1.39702 +/- 0.00574\n",
|
|
" 72/1 1.42693 1.39750 +/- 0.00567\n",
|
|
" 73/1 1.39788 1.39750 +/- 0.00558\n",
|
|
" 74/1 1.35381 1.39682 +/- 0.00553\n",
|
|
" 75/1 1.38203 1.39659 +/- 0.00545\n",
|
|
" 76/1 1.34770 1.39585 +/- 0.00542\n",
|
|
" 77/1 1.40123 1.39593 +/- 0.00534\n",
|
|
" 78/1 1.50335 1.39751 +/- 0.00549\n",
|
|
" 79/1 1.43425 1.39805 +/- 0.00544\n",
|
|
" 80/1 1.36946 1.39764 +/- 0.00537\n",
|
|
" 81/1 1.47243 1.39869 +/- 0.00540\n",
|
|
" 82/1 1.41709 1.39895 +/- 0.00533\n",
|
|
" 83/1 1.45034 1.39965 +/- 0.00531\n",
|
|
" 84/1 1.33525 1.39878 +/- 0.00531\n",
|
|
" 85/1 1.39723 1.39876 +/- 0.00523\n",
|
|
" 86/1 1.43086 1.39918 +/- 0.00518\n",
|
|
" 87/1 1.33375 1.39833 +/- 0.00518\n",
|
|
" 88/1 1.35677 1.39780 +/- 0.00515\n",
|
|
" 89/1 1.33782 1.39704 +/- 0.00514\n",
|
|
" 90/1 1.36535 1.39664 +/- 0.00509\n",
|
|
" 91/1 1.45227 1.39733 +/- 0.00507\n",
|
|
" 92/1 1.49561 1.39853 +/- 0.00515\n",
|
|
" 93/1 1.50157 1.39977 +/- 0.00524\n",
|
|
" 94/1 1.42499 1.40007 +/- 0.00518\n",
|
|
" 95/1 1.39247 1.39998 +/- 0.00512\n",
|
|
" 96/1 1.43689 1.40041 +/- 0.00508\n",
|
|
" 97/1 1.36241 1.39997 +/- 0.00504\n",
|
|
" 98/1 1.39183 1.39988 +/- 0.00498\n",
|
|
" 99/1 1.39591 1.39984 +/- 0.00493\n",
|
|
" 100/1 1.32957 1.39906 +/- 0.00493\n",
|
|
" Creating state point statepoint.100.h5...\n",
|
|
"\n",
|
|
" =======================> TIMING STATISTICS <=======================\n",
|
|
"\n",
|
|
" Total time for initialization = 5.8489e-01 seconds\n",
|
|
" Reading cross sections = 4.1683e-01 seconds\n",
|
|
" Total time in simulation = 3.8953e+00 seconds\n",
|
|
" Time in transport only = 3.8651e+00 seconds\n",
|
|
" Time in inactive batches = 2.5380e-01 seconds\n",
|
|
" Time in active batches = 3.6415e+00 seconds\n",
|
|
" Time synchronizing fission bank = 4.0881e-03 seconds\n",
|
|
" Sampling source sites = 3.5721e-03 seconds\n",
|
|
" SEND/RECV source sites = 4.9216e-04 seconds\n",
|
|
" Time accumulating tallies = 5.6157e-03 seconds\n",
|
|
" Time writing statepoints = 2.2453e-03 seconds\n",
|
|
" Total time for finalization = 1.6231e-04 seconds\n",
|
|
" Total time elapsed = 4.4838e+00 seconds\n",
|
|
" Calculation Rate (inactive) = 39401.5 particles/second\n",
|
|
" Calculation Rate (active) = 24715.2 particles/second\n",
|
|
"\n",
|
|
" ============================> RESULTS <============================\n",
|
|
"\n",
|
|
" k-effective (Collision) = 1.40263 +/- 0.00455\n",
|
|
" k-effective (Track-length) = 1.39906 +/- 0.00493\n",
|
|
" k-effective (Absorption) = 1.39676 +/- 0.00334\n",
|
|
" Combined k-effective = 1.39737 +/- 0.00301\n",
|
|
" Leakage Fraction = 0.00000 +/- 0.00000\n",
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"sp_file = model.run()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 48,
|
|
"id": "c098f2fa-fed5-40d4-84b4-32cfc4e5c37b",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"with openmc.StatePoint(sp_file) as sp:\n",
|
|
" library.load_from_statepoint(sp)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 49,
|
|
"id": "40df9174-5596-4edc-a07c-68a556bc2902",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"water_scatter = library.get_mgxs(water, 'scatter')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 51,
|
|
"id": "c6a78d7e-54fd-46fc-b886-1562baf81919",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>material</th>\n",
|
|
" <th>group in</th>\n",
|
|
" <th>nuclide</th>\n",
|
|
" <th>mean</th>\n",
|
|
" <th>std. dev.</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>12</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>O16</td>\n",
|
|
" <td>2.272440</td>\n",
|
|
" <td>0.012580</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>13</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>O17</td>\n",
|
|
" <td>1.310446</td>\n",
|
|
" <td>0.007440</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>14</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>H1</td>\n",
|
|
" <td>2.959127</td>\n",
|
|
" <td>0.016107</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>15</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>H2</td>\n",
|
|
" <td>2.415221</td>\n",
|
|
" <td>0.013312</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>O16</td>\n",
|
|
" <td>3.941591</td>\n",
|
|
" <td>0.013111</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>O17</td>\n",
|
|
" <td>2.438640</td>\n",
|
|
" <td>0.007643</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>H1</td>\n",
|
|
" <td>11.189609</td>\n",
|
|
" <td>0.035505</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>H2</td>\n",
|
|
" <td>3.145645</td>\n",
|
|
" <td>0.009918</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>O16</td>\n",
|
|
" <td>3.851035</td>\n",
|
|
" <td>0.010524</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>O17</td>\n",
|
|
" <td>3.740462</td>\n",
|
|
" <td>0.010222</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>H1</td>\n",
|
|
" <td>20.508026</td>\n",
|
|
" <td>0.056111</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>H2</td>\n",
|
|
" <td>3.398050</td>\n",
|
|
" <td>0.009287</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>O16</td>\n",
|
|
" <td>3.933505</td>\n",
|
|
" <td>0.022321</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>O17</td>\n",
|
|
" <td>3.814558</td>\n",
|
|
" <td>0.021643</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>H1</td>\n",
|
|
" <td>39.949744</td>\n",
|
|
" <td>0.237935</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>H2</td>\n",
|
|
" <td>3.923569</td>\n",
|
|
" <td>0.022611</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" material group in nuclide mean std. dev.\n",
|
|
"12 3 1 O16 2.272440 0.012580\n",
|
|
"13 3 1 O17 1.310446 0.007440\n",
|
|
"14 3 1 H1 2.959127 0.016107\n",
|
|
"15 3 1 H2 2.415221 0.013312\n",
|
|
"8 3 2 O16 3.941591 0.013111\n",
|
|
"9 3 2 O17 2.438640 0.007643\n",
|
|
"10 3 2 H1 11.189609 0.035505\n",
|
|
"11 3 2 H2 3.145645 0.009918\n",
|
|
"4 3 3 O16 3.851035 0.010524\n",
|
|
"5 3 3 O17 3.740462 0.010222\n",
|
|
"6 3 3 H1 20.508026 0.056111\n",
|
|
"7 3 3 H2 3.398050 0.009287\n",
|
|
"0 3 4 O16 3.933505 0.022321\n",
|
|
"1 3 4 O17 3.814558 0.021643\n",
|
|
"2 3 4 H1 39.949744 0.237935\n",
|
|
"3 3 4 H2 3.923569 0.022611"
|
|
]
|
|
},
|
|
"execution_count": 51,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"water_scatter.get_pandas_dataframe(xs_type='micro')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 52,
|
|
"id": "d7fc0125-a8df-4283-ae07-f9d064b16e0d",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"execution_count": 52,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"openmc.plot_xs({water: ['scatter']})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "4edcb016-7e14-4472-8a14-4e88066ff142",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.12.4"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|