Merge branch 'develop' into chain-fission-yields

This commit is contained in:
Andrew Johnson 2019-08-30 09:19:42 -05:00
commit 6c5dfd69c2
No known key found for this signature in database
GPG key ID: 253418E91B7F6FEB
48 changed files with 3506 additions and 3761 deletions

View file

@ -13,7 +13,7 @@ from collections.abc import Mapping, Iterable
from numbers import Real
from warnings import warn
from openmc.checkvalue import check_type, check_less_than, check_greater_than
from openmc.checkvalue import check_type, check_greater_than
from openmc.data import gnd_name, zam
from .nuclide import FissionYieldDistribution
@ -105,6 +105,19 @@ def replace_missing(product, decay_data):
return product
_SECONDARY_PARTICLES = {
"(n,p)": ["H1"], "(n,d)": ["H2"], "(n,t)": ["H3"], "(n,3He)": ["He3"],
"(n,a)": ["He4"], "(n,2nd)": ["H2"], "(n,na)": ["He4"], "(n,3na)": ["He4"],
"(n,n3a)": ["He4"] * 3, "(n,2na)": ["He4"], "(n,np)": ["H1"],
"(n,n2a)": ["He4"] * 2, "(n,2n2a)": ["He4"] * 2, "(n,nd)": ["H2"],
"(n,nt)": ["H3"], "(n,nHe-3)": ["He3"], "(n,nd2a)": ["H2", "He4"],
"(n,nt2a)": ["H3", "He4", "He4"], "(n,2np)": ["H1"], "(n,3np)": ["H1"],
"(n,n2p)": ["H1"] * 2, "(n,2a)": ["He4"] * 2, "(n,3a)": ["He4"] * 3,
"(n,2p)": ["H1"] * 2, "(n,pa)": ["H1", "He4"],
"(n,t2a)": ["H3", "He4", "He4"], "(n,d2a)": ["H2", "He4", "He4"],
"(n,pd)": ["H1", "H2"], "(n,pt)": ["H1", "H3"], "(n,da)": ["H2", "He4"]}
class Chain(object):
"""Full representation of a depletion chain.
@ -494,70 +507,99 @@ class Chain(object):
dict.update(matrix_dok, matrix)
return matrix_dok.tocsr()
def get_capture_branches(self):
"""Return a dictionary with capture branching ratios
def get_branch_ratios(self, reaction="(n,gamma)"):
"""Return a dictionary with reaction branching ratios
Parameters
----------
reaction : str, optional
Reaction name like ``"(n,gamma)"`` [default], or
``"(n,alpha)"``.
Returns
-------
capt :
nested dict of parent nuclide keys with capture targets and
branching ratios::
branches : dict
nested dict of parent nuclide keys with reaction targets and
branching ratios. Consider the capture, ``"(n,gamma)"``,
reaction for Am241::
{"Am241": {"Am242": 0.91, "Am242_m1": 0.09}}
See Also
--------
:meth:`set_capture_branches`
:meth:`set_branch_ratios`
"""
capt = {}
for nuclide in self.nuclides:
nuc_capt = {}
for rx in nuclide.reactions:
if rx.type == "(n,gamma)" and rx.branching_ratio != 1.0:
if rx.type == reaction and rx.branching_ratio != 1.0:
nuc_capt[rx.target] = rx.branching_ratio
if len(nuc_capt) > 0:
capt[nuclide.name] = nuc_capt
return capt
def set_capture_branches(self, branch_ratios, strict=True):
"""Set the capture branching ratios
To provide a buffer around floating point precisions,
the sum of all branching ratios from a single parent
cannot be greater than 1.00001.
def set_branch_ratios(self, branch_ratios, reaction="(n,gamma)",
strict=True, tolerance=1e-5):
"""Set the branching ratios for a given reactions
Parameters
----------
branch_ratios : dict of {str: {str: float}}
Capture branching ratios to be inserted.
First layer keys are names of parent nuclides, e.g.
``"Am241"``. The capture branching ratios for these
``"Am241"``. The branching ratios for these
parents will be modified. Corresponding values are
dictionaries of ``{target: branching_ratio}``
strict : bool
If this evalutes to ``True``, then all parents and
products must exist in the :class:`Chain`. A
:class:`KeyError` will be raised at the first
nuclide that does not exist. Otherwise, print
a warning message for missing parents and/or
products.
reaction : str, optional
Reaction name like ``"(n,gamma)"`` [default], or
``"(n, alpha)"``.
strict : bool, optional
Error control. If this evalutes to ``True``, then errors will
be raised if inconsistencies are found. Otherwise, warnings
will be raised for most issues.
tolerance : float, optional
Tolerance on the sum of all branching ratios for a
single parent. Will be checked with::
1 - tol < sum_br < 1 + tol
Raises
------
IndexError
If no isotopes were found on the chain that have the requested
reaction
KeyError
If ``strict`` evaluates to ``False`` and a parent isotope in
``branch_ratios`` does not exist on the chain
AttributeError
If ``strict`` evaluates to ``False`` and a parent isotope in
``branch_ratios`` does not have the requested reaction
ValueError
If ``strict`` evalutes to ``False`` and the sum of one parents
branch ratios is outside 1 +/- ``tolerance``
See Also
--------
:meth:`get_capture_branches`
:meth:`get_branch_ratios`
"""
# Store some useful information through the validation stage
sums = {}
capt_ix_map = {}
rxn_ix_map = {}
grounds = {}
tolerance = abs(tolerance)
missing_parents = set()
missing_products = {}
no_capture = set()
missing_reaction = set()
bad_sums = {}
# Secondary products, like alpha particles, should not be modified
secondary = _SECONDARY_PARTICLES.get(reaction, [])
# Check for validity before manipulation
@ -583,11 +625,11 @@ class Chain(object):
if prod_flag:
continue
# Make sure this nuclide has capture reactions
# Make sure this nuclide has the reaction
indexes = []
for ix, rx in enumerate(self[parent].reactions):
if rx.type == "(n,gamma)":
if rx.type == reaction and rx.target not in secondary:
indexes.append(ix)
if "_m" not in rx.target:
grounds[parent] = rx.target
@ -595,24 +637,39 @@ class Chain(object):
if len(indexes) == 0:
if strict:
raise AttributeError(
"Nuclide {} does not have capture reactions in "
"this {}".format(parent, self.__class__.__name__))
no_capture.add(parent)
"Nuclide {} does not have {} reactions".format(
parent, reaction))
missing_reaction.add(parent)
continue
capt_ix_map[parent] = indexes
this_sum = sum(sub.values())
check_less_than(parent + " ratios", this_sum, 1.00001)
sums[parent] = this_sum
# sum of branching ratios can be lower than 1 if no ground
# target is given, but never greater
if (this_sum >= 1 + tolerance or (grounds[parent] in sub
and this_sum <= 1 - tolerance)):
if strict:
msg = ("Sum of {} branching ratios for {} "
"({:7.3f}) outside tolerance of 1 +/- "
"{:5.3e}".format(
reaction, parent, this_sum, tolerance))
raise ValueError(msg)
bad_sums[parent] = this_sum
else:
rxn_ix_map[parent] = indexes
sums[parent] = this_sum
if len(rxn_ix_map) == 0:
raise IndexError(
"No {} reactions found in this {}".format(
reaction, self.__class__.__name__))
if len(missing_parents) > 0:
warn("The following nuclides were not found in {}: {}".format(
self.__class__.__name__, ", ".join(sorted(missing_parents))))
if len(no_capture) > 0:
warn("The following nuclides did not have capture reactions: "
"{}".format(", ".join(sorted(no_capture))))
if len(missing_reaction) > 0:
warn("The following nuclides did not have {} reactions: "
"{}".format(reaction, ", ".join(sorted(missing_reaction))))
if len(missing_products) > 0:
tail = ("{} -> {}".format(k, v)
@ -621,28 +678,35 @@ class Chain(object):
"parents were unmodified: \n{}".format(
self.__class__.__name__, ", ".join(tail)))
if len(bad_sums) > 0:
tail = ("{}: {:5.3f}".format(k, s)
for k, s in sorted(bad_sums.items()))
warn("The following parent nuclides were given {} branch ratios "
"with a sum outside tolerance of 1 +/- {:5.3e}:\n{}".format(
reaction, tolerance, "\n".join(tail)))
# Insert new ReactionTuples with updated branch ratios
for parent_name, capt_index in capt_ix_map.items():
for parent_name, rxn_index in rxn_ix_map.items():
parent = self[parent_name]
new_ratios = branch_ratios[parent_name]
capt_index = capt_ix_map[parent_name]
rxn_index = rxn_ix_map[parent_name]
# Assume Q value is independent of target state
capt_Q = parent.reactions[capt_index[0]].Q
rxn_Q = parent.reactions[rxn_index[0]].Q
# Remove existing capture reactions
# Remove existing reactions
for ix in reversed(capt_index):
for ix in reversed(rxn_index):
parent.reactions.pop(ix)
all_meta = True
for tgt, br in new_ratios.items():
all_meta = all_meta and ("_m" in tgt)
all_meta = all_meta and ("_m" in tgt)
parent.reactions.append(ReactionTuple(
"(n,gamma)", tgt, capt_Q, br))
reaction, tgt, rxn_Q, br))
if all_meta and sums[parent_name] != 1.0:
ground_br = 1.0 - sums[parent_name]
@ -652,7 +716,7 @@ class Chain(object):
ground_tgt = gnd_name(pz, pa + 1, 0)
new_ratios[ground_tgt] = ground_br
parent.reactions.append(ReactionTuple(
"(n,gamma)", ground_tgt, capt_Q, ground_br))
reaction, ground_tgt, rxn_Q, ground_br))
@property
def fission_yields(self):

View file

@ -1,5 +0,0 @@
<?xml version="1.0"?>
<geometry>
<surface id="1" type="sphere" coeffs="0 0 0 100" boundary="vacuum"/>
<cell id="1" material="1" region="-1" />
</geometry>

View file

@ -0,0 +1,23 @@
<?xml version='1.0' encoding='utf-8'?>
<geometry>
<cell id="1" material="1" region="-1" universe="1" />
<surface boundary="reflective" coeffs="0.0 0.0 0.0 100.0" id="1" type="sphere" />
</geometry>
<?xml version='1.0' encoding='utf-8'?>
<materials>
<material depletable="true" id="1">
<density units="g/cm3" value="20.0" />
<nuclide ao="1.0" name="U233" />
<nuclide ao="1.0" name="Am244" />
<nuclide ao="1.0" name="H2" />
<nuclide ao="1.0" name="Na23" />
<nuclide ao="1.0" name="Ta181" />
</material>
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<run_mode>eigenvalue</run_mode>
<particles>1000</particles>
<batches>10</batches>
<inactive>5</inactive>
</settings>

View file

@ -1,10 +0,0 @@
<?xml version="1.0"?>
<materials>
<material id="1">
<density value="20" units="g/cc" />
<nuclide name="U233" ao="1.0" />
<nuclide name="H2" ao="1.0" />
<nuclide name="Na23" ao="1.0" />
<nuclide name="Ta181" ao="1.0" />
</material>
</materials>

View file

@ -1,2 +1,2 @@
k-combined:
2.122164E+00 1.946222E-02
2.466441E+00 1.500183E-02

View file

@ -1,10 +0,0 @@
<?xml version="1.0"?>
<settings>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="point" parameters="0. 0. 0." />
</source>
</settings>

View file

@ -2,23 +2,51 @@
are not covered in other tests. It has a single material with the following
nuclides:
U-233: Only nuclide that has a Watt fission spectrum
U233: Only nuclide that has a Watt fission spectrum
H-2: Only nuclide that has an N-body phase space distribution, in this case for
Am244: One of a few nuclides that has a Maxwell fission spectrum
H2: Only nuclide that has an N-body phase space distribution, in this case for
(n,2n)
Na-23: Has an evaporation spectrum and also has reactions that have multiple
Na23: Has an evaporation spectrum and also has reactions that have multiple
angle-energy distributions, so it provides coverage for both of those
situations.
Ta-181: One of a few nuclides that has reactions with Kalbach-Mann distributions
Ta181: One of a few nuclides that has reactions with Kalbach-Mann distributions
that use linear-linear interpolation.
"""
from tests.testing_harness import TestHarness
import openmc
import pytest
from tests.testing_harness import PyAPITestHarness
def test_energy_laws():
harness = TestHarness('statepoint.10.h5')
@pytest.fixture
def model():
model = openmc.model.Model()
m = openmc.Material()
m.set_density('g/cm3', 20.0)
m.add_nuclide('U233', 1.0)
m.add_nuclide('Am244', 1.0)
m.add_nuclide('H2', 1.0)
m.add_nuclide('Na23', 1.0)
m.add_nuclide('Ta181', 1.0)
s = openmc.Sphere(r=100.0, boundary_type='reflective')
c = openmc.Cell(fill=m, region=-s)
model.geometry = openmc.Geometry([c])
model.settings.batches = 10
model.settings.inactive = 5
model.settings.particles = 1000
return model
def test_energy_laws(model):
harness = PyAPITestHarness('statepoint.10.h5', model)
harness.main()

View file

@ -1,312 +1,21 @@
<?xml version='1.0' encoding='utf-8'?>
<geometry>
<cell fill="200" id="1" region="-6 34 -35" universe="0" />
<cell fill="201" id="2" region="-6 35 -36" universe="0" />
<cell id="3" material="8" region="-7 31 -32" universe="0" />
<cell id="4" material="9" region="-5 32 -33" universe="0" />
<cell id="5" material="12" region="-5 33 -34" universe="0" />
<cell id="6" material="11" region="-5 36 -37" universe="0" />
<cell id="7" material="10" region="-5 37 -38" universe="0" />
<cell id="8" material="7" region="-7 38 -39" universe="0" />
<cell id="9" material="9" region="6 -7 32 -38" universe="0" />
<cell id="10" material="5" region="7 -8 31 -39" universe="0" />
<cell id="11" material="6" region="5 -6 32 -34" universe="0" />
<cell id="12" material="7" region="5 -6 36 -38" universe="0" />
<cell id="21" material="1" region="-1" universe="1" />
<cell id="22" material="2" region="1 -2" universe="1" />
<cell id="23" material="3" region="2" universe="1" />
<cell id="24" material="3" region="-3" universe="2" />
<cell id="25" material="2" region="3 -4" universe="2" />
<cell id="26" material="3" region="4" universe="2" />
<cell id="27" material="1" region="-1" universe="3" />
<cell id="28" material="2" region="1 -2" universe="3" />
<cell id="29" material="4" region="2" universe="3" />
<cell id="30" material="4" region="-3" universe="4" />
<cell id="31" material="2" region="3 -4" universe="4" />
<cell id="32" material="4" region="4" universe="4" />
<cell id="50" material="3" region="34 -35" universe="5" />
<cell fill="100" id="60" region="34 -35" universe="6" />
<cell id="70" material="4" region="35 -36" universe="7" />
<cell fill="101" id="80" region="35 -36" universe="8" />
<lattice id="100" name="Fuel assembly (lower half)">
<pitch>1.26 1.26</pitch>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<universes>
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 </universes>
</lattice>
<lattice id="101" name="Fuel assembly (upper half)">
<pitch>1.26 1.26</pitch>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<universes>
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </universes>
</lattice>
<lattice id="200" name="Core lattice (lower half)">
<pitch>21.42 21.42</pitch>
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<universes>
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 </universes>
</lattice>
<lattice id="201" name="Core lattice (lower half)">
<pitch>21.42 21.42</pitch>
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<universes>
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 </universes>
</lattice>
<surface coeffs="0.0 0.0 0.41" id="1" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.475" id="2" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.56" id="3" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.62" id="4" type="z-cylinder" />
<surface coeffs="0.0 0.0 187.6" id="5" type="z-cylinder" />
<surface coeffs="0.0 0.0 209.0" id="6" type="z-cylinder" />
<surface coeffs="0.0 0.0 229.0" id="7" type="z-cylinder" />
<surface boundary="vacuum" coeffs="0.0 0.0 249.0" id="8" type="z-cylinder" />
<surface boundary="vacuum" coeffs="-229.0" id="31" type="z-plane" />
<surface coeffs="-199.0" id="32" type="z-plane" />
<surface coeffs="-193.0" id="33" type="z-plane" />
<surface coeffs="-183.0" id="34" type="z-plane" />
<surface coeffs="0.0" id="35" type="z-plane" />
<surface coeffs="183.0" id="36" type="z-plane" />
<surface coeffs="203.0" id="37" type="z-plane" />
<surface coeffs="215.0" id="38" type="z-plane" />
<surface boundary="vacuum" coeffs="223.0" id="39" type="z-plane" />
<cell id="1" material="1" region="-1" universe="1" />
<surface boundary="vacuum" coeffs="0.0 0.0 0.0 100.0" id="1" type="sphere" />
</geometry>
<?xml version='1.0' encoding='utf-8'?>
<materials>
<material depletable="true" id="1" name="UOX fuel">
<density units="g/cm3" value="10.062" />
<nuclide ao="4.9476e-06" name="U234" />
<nuclide ao="0.00048218" name="U235" />
<nuclide ao="0.021504" name="U238" />
<nuclide ao="1.0801e-08" name="Xe135" />
<nuclide ao="0.045737" name="O16" />
</material>
<material depletable="true" id="2" name="Zircaloy">
<density units="g/cm3" value="5.77" />
<nuclide ao="0.5145" name="Zr90" />
<nuclide ao="0.1122" name="Zr91" />
<nuclide ao="0.1715" name="Zr92" />
<nuclide ao="0.1738" name="Zr94" />
<nuclide ao="0.028" name="Zr96" />
<nuclide ao="1e-07" name="Am241" />
</material>
<material id="3" name="Cold borated water">
<density units="atom/b-cm" value="0.07416" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<nuclide ao="0.000649" name="B10" />
<nuclide ao="0.002689" name="B11" />
<sab name="c_H_in_H2O" />
</material>
<material id="4" name="Hot borated water">
<density units="atom/b-cm" value="0.06614" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<nuclide ao="0.000649" name="B10" />
<nuclide ao="0.002689" name="B11" />
<sab name="c_H_in_H2O" />
</material>
<material id="5" name="Reactor pressure vessel steel">
<density units="g/cm3" value="7.9" />
<nuclide name="Fe54" wo="0.05437098" />
<nuclide name="Fe56" wo="0.88500663" />
<nuclide name="Fe57" wo="0.0208008" />
<nuclide name="Fe58" wo="0.00282159" />
<nuclide name="Ni58" wo="0.0067198" />
<nuclide name="Ni60" wo="0.0026776" />
<nuclide name="Mn55" wo="0.01" />
<nuclide name="Cr52" wo="0.002092475" />
<nuclide name="C0" wo="0.0025" />
<nuclide name="Cu63" wo="0.0013696" />
</material>
<material id="6" name="Lower radial reflector">
<density units="g/cm3" value="4.32" />
<nuclide name="H1" wo="0.0095661" />
<nuclide name="O16" wo="0.0759107" />
<nuclide name="B10" wo="3.08409e-05" />
<nuclide name="B11" wo="0.000140499" />
<nuclide name="Fe54" wo="0.035620772088" />
<nuclide name="Fe56" wo="0.579805982228" />
<nuclide name="Fe57" wo="0.01362750048" />
<nuclide name="Fe58" wo="0.001848545204" />
<nuclide name="Ni58" wo="0.055298376566" />
<nuclide name="Mn55" wo="0.018287" />
<nuclide name="Cr52" wo="0.145407678031" />
<sab name="c_H_in_H2O" />
</material>
<material id="7" name="Upper radial reflector / Top plate region">
<density units="g/cm3" value="4.28" />
<nuclide name="H1" wo="0.0086117" />
<nuclide name="O16" wo="0.0683369" />
<nuclide name="B10" wo="2.77638e-05" />
<nuclide name="B11" wo="0.000126481" />
<nuclide name="Fe54" wo="0.035953677186" />
<nuclide name="Fe56" wo="0.585224740891" />
<nuclide name="Fe57" wo="0.01375486056" />
<nuclide name="Fe58" wo="0.001865821363" />
<nuclide name="Ni58" wo="0.055815129186" />
<nuclide name="Mn55" wo="0.0184579" />
<nuclide name="Cr52" wo="0.146766614995" />
<sab name="c_H_in_H2O" />
</material>
<material id="8" name="Bottom plate region">
<density units="g/cm3" value="7.184" />
<nuclide name="H1" wo="0.0011505" />
<nuclide name="O16" wo="0.0091296" />
<nuclide name="B10" wo="3.70915e-06" />
<nuclide name="B11" wo="1.68974e-05" />
<nuclide name="Fe54" wo="0.03855611055" />
<nuclide name="Fe56" wo="0.627585036425" />
<nuclide name="Fe57" wo="0.014750478" />
<nuclide name="Fe58" wo="0.002000875025" />
<nuclide name="Ni58" wo="0.059855207342" />
<nuclide name="Mn55" wo="0.019794" />
<nuclide name="Cr52" wo="0.157390026871" />
<sab name="c_H_in_H2O" />
</material>
<material id="9" name="Bottom nozzle region">
<density units="g/cm3" value="2.53" />
<nuclide name="H1" wo="0.0245014" />
<nuclide name="O16" wo="0.1944274" />
<nuclide name="B10" wo="7.89917e-05" />
<nuclide name="B11" wo="0.000359854" />
<nuclide name="Fe54" wo="0.030411411144" />
<nuclide name="Fe56" wo="0.495012237964" />
<nuclide name="Fe57" wo="0.01163454624" />
<nuclide name="Fe58" wo="0.001578204652" />
<nuclide name="Ni58" wo="0.047211231662" />
<nuclide name="Mn55" wo="0.0156126" />
<nuclide name="Cr52" wo="0.124142524198" />
<sab name="c_H_in_H2O" />
</material>
<material id="10" name="Top nozzle region">
<density units="g/cm3" value="1.746" />
<nuclide name="H1" wo="0.035887" />
<nuclide name="O16" wo="0.2847761" />
<nuclide name="B10" wo="0.000115699" />
<nuclide name="B11" wo="0.000527075" />
<nuclide name="Fe54" wo="0.02644016154" />
<nuclide name="Fe56" wo="0.43037146399" />
<nuclide name="Fe57" wo="0.0101152584" />
<nuclide name="Fe58" wo="0.00137211607" />
<nuclide name="Ni58" wo="0.04104621835" />
<nuclide name="Mn55" wo="0.0135739" />
<nuclide name="Cr52" wo="0.107931450781" />
<sab name="c_H_in_H2O" />
</material>
<material id="11" name="Top of fuel assemblies">
<density units="g/cm3" value="3.044" />
<nuclide name="H1" wo="0.0162913" />
<nuclide name="O16" wo="0.1292776" />
<nuclide name="B10" wo="5.25228e-05" />
<nuclide name="B11" wo="0.000239272" />
<nuclide name="Zr90" wo="0.43313403903" />
<nuclide name="Zr91" wo="0.09549277374" />
<nuclide name="Zr92" wo="0.14759527104" />
<nuclide name="Zr94" wo="0.15280552077" />
<nuclide name="Zr96" wo="0.02511169542" />
<sab name="c_H_in_H2O" />
</material>
<material id="12" name="Bottom of fuel assemblies">
<density units="g/cm3" value="1.762" />
<nuclide name="H1" wo="0.0292856" />
<nuclide name="O16" wo="0.2323919" />
<nuclide name="B10" wo="9.44159e-05" />
<nuclide name="B11" wo="0.00043012" />
<nuclide name="Zr90" wo="0.3741373658" />
<nuclide name="Zr91" wo="0.0824858164" />
<nuclide name="Zr92" wo="0.1274914944" />
<nuclide name="Zr94" wo="0.1319920622" />
<nuclide name="Zr96" wo="0.0216912612" />
<sab name="c_H_in_H2O" />
<material depletable="true" id="1">
<density units="g/cm3" value="10.0" />
<nuclide ao="1.0" name="Am241" />
</material>
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>
</space>
</source>
<particles>1000</particles>
<batches>5</batches>
<inactive>0</inactive>
</settings>
<?xml version='1.0' encoding='utf-8'?>
<tallies>

View file

@ -1,2 +1,2 @@
energyfunction nuclide score mean std. dev.
0 d2effa26cb3cf2 Am241 ((n,gamma) / (n,gamma)) 1.00e-01 9.97e-03
0 d2effa26cb3cf2 Am241 ((n,gamma) / (n,gamma)) 1.74e-01 3.55e-03

View file

@ -1,36 +1,51 @@
import openmc
import pytest
from tests.testing_harness import PyAPITestHarness
@pytest.fixture
def model():
model = openmc.model.Model()
m = openmc.Material()
m.set_density('g/cm3', 10.0)
m.add_nuclide('Am241', 1.0)
model.materials.append(m)
s = openmc.Sphere(r=100.0, boundary_type='vacuum')
c = openmc.Cell(fill=m, region=-s)
model.geometry = openmc.Geometry([c])
model.settings.batches = 5
model.settings.inactive = 0
model.settings.particles = 1000
# Define Am242m / Am242 branching ratio from ENDF/B-VII.1 data.
x = [1e-5, 3.69e-1, 1e3, 1e5, 6e5, 1e6, 2e6, 4e6, 3e7]
y = [0.1, 0.1, 0.1333, 0.158, 0.18467, 0.25618, 0.4297, 0.48, 0.48]
# Make an EnergyFunctionFilter directly from the x and y lists.
filt1 = openmc.EnergyFunctionFilter(x, y)
# Also make a filter with the .from_tabulated1d constructor. Make sure
# the filters are identical.
tab1d = openmc.data.Tabulated1D(x, y)
filt2 = openmc.EnergyFunctionFilter.from_tabulated1d(tab1d)
assert filt1 == filt2, 'Error with the .from_tabulated1d constructor'
# Make tallies
tallies = [openmc.Tally(), openmc.Tally()]
for t in tallies:
t.scores = ['(n,gamma)']
t.nuclides = ['Am241']
tallies[1].filters = [filt1]
model.tallies.extend(tallies)
return model
class FilterEnergyFunHarness(PyAPITestHarness):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Add Am241 to the fuel.
self._model.materials[1].add_nuclide('Am241', 1e-7)
# Define Am242m / Am242 branching ratio from ENDF/B-VII.1 data.
x = [1e-5, 3.69e-1, 1e3, 1e5, 6e5, 1e6, 2e6, 4e6, 3e7]
y = [0.1, 0.1, 0.1333, 0.158, 0.18467, 0.25618, 0.4297, 0.48, 0.48]
# Make an EnergyFunctionFilter directly from the x and y lists.
filt1 = openmc.EnergyFunctionFilter(x, y)
# Also make a filter with the .from_tabulated1d constructor. Make sure
# the filters are identical.
tab1d = openmc.data.Tabulated1D(x, y)
filt2 = openmc.EnergyFunctionFilter.from_tabulated1d(tab1d)
assert filt1 == filt2, 'Error with the .from_tabulated1d constructor'
# Make tallies.
tallies = [openmc.Tally(1), openmc.Tally(2)]
for t in tallies:
t.scores = ['(n,gamma)']
t.nuclides = ['Am241']
tallies[1].filters = [filt1]
self._model.tallies = tallies
def _get_results(self):
# Read the statepoint file.
sp = openmc.StatePoint(self._sp_name)
@ -42,6 +57,6 @@ class FilterEnergyFunHarness(PyAPITestHarness):
return br_tally.get_pandas_dataframe().to_string() + '\n'
def test_filter_energyfun():
harness = FilterEnergyFunHarness('statepoint.10.h5')
def test_filter_energyfun(model):
harness = FilterEnergyFunHarness('statepoint.5.h5', model)
harness.main()

View file

@ -1,333 +1,57 @@
<?xml version='1.0' encoding='utf-8'?>
<geometry>
<cell fill="200" id="1" region="-6 34 -35" universe="0" />
<cell fill="201" id="2" region="-6 35 -36" universe="0" />
<cell id="3" material="8" region="-7 31 -32" universe="0" />
<cell id="4" material="9" region="-5 32 -33" universe="0" />
<cell id="5" material="12" region="-5 33 -34" universe="0" />
<cell id="6" material="11" region="-5 36 -37" universe="0" />
<cell id="7" material="10" region="-5 37 -38" universe="0" />
<cell id="8" material="7" region="-7 38 -39" universe="0" />
<cell id="9" material="9" region="6 -7 32 -38" universe="0" />
<cell id="10" material="5" region="7 -8 31 -39" universe="0" />
<cell id="11" material="6" region="5 -6 32 -34" universe="0" />
<cell id="12" material="7" region="5 -6 36 -38" universe="0" />
<cell id="21" material="1" region="-1" universe="1" />
<cell id="22" material="2" region="1 -2" universe="1" />
<cell id="23" material="3" region="2" universe="1" />
<cell id="24" material="3" region="-3" universe="2" />
<cell id="25" material="2" region="3 -4" universe="2" />
<cell id="26" material="3" region="4" universe="2" />
<cell id="27" material="1" region="-1" universe="3" />
<cell id="28" material="2" region="1 -2" universe="3" />
<cell id="29" material="4" region="2" universe="3" />
<cell id="30" material="4" region="-3" universe="4" />
<cell id="31" material="2" region="3 -4" universe="4" />
<cell id="32" material="4" region="4" universe="4" />
<cell id="50" material="3" region="34 -35" universe="5" />
<cell fill="100" id="60" region="34 -35" universe="6" />
<cell id="70" material="4" region="35 -36" universe="7" />
<cell fill="101" id="80" region="35 -36" universe="8" />
<lattice id="100" name="Fuel assembly (lower half)">
<pitch>1.26 1.26</pitch>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<universes>
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 </universes>
</lattice>
<lattice id="101" name="Fuel assembly (upper half)">
<pitch>1.26 1.26</pitch>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<universes>
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </universes>
</lattice>
<lattice id="200" name="Core lattice (lower half)">
<pitch>21.42 21.42</pitch>
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<universes>
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 </universes>
</lattice>
<lattice id="201" name="Core lattice (lower half)">
<pitch>21.42 21.42</pitch>
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<universes>
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 </universes>
</lattice>
<surface coeffs="0.0 0.0 0.41" id="1" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.475" id="2" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.56" id="3" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.62" id="4" type="z-cylinder" />
<surface coeffs="0.0 0.0 187.6" id="5" type="z-cylinder" />
<surface coeffs="0.0 0.0 209.0" id="6" type="z-cylinder" />
<surface coeffs="0.0 0.0 229.0" id="7" type="z-cylinder" />
<surface boundary="vacuum" coeffs="0.0 0.0 249.0" id="8" type="z-cylinder" />
<surface boundary="vacuum" coeffs="-229.0" id="31" type="z-plane" />
<surface coeffs="-199.0" id="32" type="z-plane" />
<surface coeffs="-193.0" id="33" type="z-plane" />
<surface coeffs="-183.0" id="34" type="z-plane" />
<surface coeffs="0.0" id="35" type="z-plane" />
<surface coeffs="183.0" id="36" type="z-plane" />
<surface coeffs="203.0" id="37" type="z-plane" />
<surface coeffs="215.0" id="38" type="z-plane" />
<surface boundary="vacuum" coeffs="223.0" id="39" type="z-plane" />
<cell id="1" material="1" region="1 -2 3 -4 10 -9" universe="1" />
<cell id="2" material="2" region="~(1 -2 3 -4) (5 -6 7 -8) 10 -9" universe="1" />
<surface coeffs="-5.0" id="1" name="minimum x" type="x-plane" />
<surface coeffs="5.0" id="2" name="maximum x" type="x-plane" />
<surface coeffs="-5.0" id="3" name="minimum y" type="y-plane" />
<surface coeffs="5.0" id="4" name="maximum y" type="y-plane" />
<surface boundary="reflective" coeffs="-10.0" id="5" name="minimum x" type="x-plane" />
<surface boundary="reflective" coeffs="10.0" id="6" name="maximum x" type="x-plane" />
<surface boundary="reflective" coeffs="-10.0" id="7" name="minimum y" type="y-plane" />
<surface boundary="reflective" coeffs="10.0" id="8" name="maximum y" type="y-plane" />
<surface boundary="vacuum" coeffs="10.0" id="9" type="z-plane" />
<surface boundary="vacuum" coeffs="-10.0" id="10" type="z-plane" />
</geometry>
<?xml version='1.0' encoding='utf-8'?>
<materials>
<material depletable="true" id="1" name="UOX fuel">
<density units="g/cm3" value="10.062" />
<nuclide ao="4.9476e-06" name="U234" />
<nuclide ao="0.00048218" name="U235" />
<nuclide ao="0.021504" name="U238" />
<nuclide ao="1.0801e-08" name="Xe135" />
<nuclide ao="0.045737" name="O16" />
<material depletable="true" id="1">
<density units="g/cm3" value="10.0" />
<nuclide ao="1.0" name="U235" />
</material>
<material id="2" name="Zircaloy">
<density units="g/cm3" value="5.77" />
<nuclide ao="0.5145" name="Zr90" />
<nuclide ao="0.1122" name="Zr91" />
<nuclide ao="0.1715" name="Zr92" />
<nuclide ao="0.1738" name="Zr94" />
<nuclide ao="0.028" name="Zr96" />
</material>
<material id="3" name="Cold borated water">
<density units="atom/b-cm" value="0.07416" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<nuclide ao="0.000649" name="B10" />
<nuclide ao="0.002689" name="B11" />
<sab name="c_H_in_H2O" />
</material>
<material id="4" name="Hot borated water">
<density units="atom/b-cm" value="0.06614" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<nuclide ao="0.000649" name="B10" />
<nuclide ao="0.002689" name="B11" />
<sab name="c_H_in_H2O" />
</material>
<material id="5" name="Reactor pressure vessel steel">
<density units="g/cm3" value="7.9" />
<nuclide name="Fe54" wo="0.05437098" />
<nuclide name="Fe56" wo="0.88500663" />
<nuclide name="Fe57" wo="0.0208008" />
<nuclide name="Fe58" wo="0.00282159" />
<nuclide name="Ni58" wo="0.0067198" />
<nuclide name="Ni60" wo="0.0026776" />
<nuclide name="Mn55" wo="0.01" />
<nuclide name="Cr52" wo="0.002092475" />
<nuclide name="C0" wo="0.0025" />
<nuclide name="Cu63" wo="0.0013696" />
</material>
<material id="6" name="Lower radial reflector">
<density units="g/cm3" value="4.32" />
<nuclide name="H1" wo="0.0095661" />
<nuclide name="O16" wo="0.0759107" />
<nuclide name="B10" wo="3.08409e-05" />
<nuclide name="B11" wo="0.000140499" />
<nuclide name="Fe54" wo="0.035620772088" />
<nuclide name="Fe56" wo="0.579805982228" />
<nuclide name="Fe57" wo="0.01362750048" />
<nuclide name="Fe58" wo="0.001848545204" />
<nuclide name="Ni58" wo="0.055298376566" />
<nuclide name="Mn55" wo="0.018287" />
<nuclide name="Cr52" wo="0.145407678031" />
<sab name="c_H_in_H2O" />
</material>
<material id="7" name="Upper radial reflector / Top plate region">
<density units="g/cm3" value="4.28" />
<nuclide name="H1" wo="0.0086117" />
<nuclide name="O16" wo="0.0683369" />
<nuclide name="B10" wo="2.77638e-05" />
<nuclide name="B11" wo="0.000126481" />
<nuclide name="Fe54" wo="0.035953677186" />
<nuclide name="Fe56" wo="0.585224740891" />
<nuclide name="Fe57" wo="0.01375486056" />
<nuclide name="Fe58" wo="0.001865821363" />
<nuclide name="Ni58" wo="0.055815129186" />
<nuclide name="Mn55" wo="0.0184579" />
<nuclide name="Cr52" wo="0.146766614995" />
<sab name="c_H_in_H2O" />
</material>
<material id="8" name="Bottom plate region">
<density units="g/cm3" value="7.184" />
<nuclide name="H1" wo="0.0011505" />
<nuclide name="O16" wo="0.0091296" />
<nuclide name="B10" wo="3.70915e-06" />
<nuclide name="B11" wo="1.68974e-05" />
<nuclide name="Fe54" wo="0.03855611055" />
<nuclide name="Fe56" wo="0.627585036425" />
<nuclide name="Fe57" wo="0.014750478" />
<nuclide name="Fe58" wo="0.002000875025" />
<nuclide name="Ni58" wo="0.059855207342" />
<nuclide name="Mn55" wo="0.019794" />
<nuclide name="Cr52" wo="0.157390026871" />
<sab name="c_H_in_H2O" />
</material>
<material id="9" name="Bottom nozzle region">
<density units="g/cm3" value="2.53" />
<nuclide name="H1" wo="0.0245014" />
<nuclide name="O16" wo="0.1944274" />
<nuclide name="B10" wo="7.89917e-05" />
<nuclide name="B11" wo="0.000359854" />
<nuclide name="Fe54" wo="0.030411411144" />
<nuclide name="Fe56" wo="0.495012237964" />
<nuclide name="Fe57" wo="0.01163454624" />
<nuclide name="Fe58" wo="0.001578204652" />
<nuclide name="Ni58" wo="0.047211231662" />
<nuclide name="Mn55" wo="0.0156126" />
<nuclide name="Cr52" wo="0.124142524198" />
<sab name="c_H_in_H2O" />
</material>
<material id="10" name="Top nozzle region">
<density units="g/cm3" value="1.746" />
<nuclide name="H1" wo="0.035887" />
<nuclide name="O16" wo="0.2847761" />
<nuclide name="B10" wo="0.000115699" />
<nuclide name="B11" wo="0.000527075" />
<nuclide name="Fe54" wo="0.02644016154" />
<nuclide name="Fe56" wo="0.43037146399" />
<nuclide name="Fe57" wo="0.0101152584" />
<nuclide name="Fe58" wo="0.00137211607" />
<nuclide name="Ni58" wo="0.04104621835" />
<nuclide name="Mn55" wo="0.0135739" />
<nuclide name="Cr52" wo="0.107931450781" />
<sab name="c_H_in_H2O" />
</material>
<material id="11" name="Top of fuel assemblies">
<density units="g/cm3" value="3.044" />
<nuclide name="H1" wo="0.0162913" />
<nuclide name="O16" wo="0.1292776" />
<nuclide name="B10" wo="5.25228e-05" />
<nuclide name="B11" wo="0.000239272" />
<nuclide name="Zr90" wo="0.43313403903" />
<nuclide name="Zr91" wo="0.09549277374" />
<nuclide name="Zr92" wo="0.14759527104" />
<nuclide name="Zr94" wo="0.15280552077" />
<nuclide name="Zr96" wo="0.02511169542" />
<sab name="c_H_in_H2O" />
</material>
<material id="12" name="Bottom of fuel assemblies">
<density units="g/cm3" value="1.762" />
<nuclide name="H1" wo="0.0292856" />
<nuclide name="O16" wo="0.2323919" />
<nuclide name="B10" wo="9.44159e-05" />
<nuclide name="B11" wo="0.00043012" />
<nuclide name="Zr90" wo="0.3741373658" />
<nuclide name="Zr91" wo="0.0824858164" />
<nuclide name="Zr92" wo="0.1274914944" />
<nuclide name="Zr94" wo="0.1319920622" />
<nuclide name="Zr96" wo="0.0216912612" />
<sab name="c_H_in_H2O" />
<material id="2">
<density units="g/cm3" value="1.0" />
<nuclide ao="1.0" name="Zr90" />
</material>
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>
</space>
</source>
<particles>1000</particles>
<batches>5</batches>
<inactive>0</inactive>
</settings>
<?xml version='1.0' encoding='utf-8'?>
<tallies>
<mesh id="1">
<dimension>17</dimension>
<lower_left>-182.07</lower_left>
<upper_right>182.07</upper_right>
<dimension>5</dimension>
<lower_left>-7.5</lower_left>
<upper_right>7.5</upper_right>
</mesh>
<mesh id="2">
<dimension>17 17</dimension>
<lower_left>-182.07 -182.07</lower_left>
<upper_right>182.07 182.07</upper_right>
<dimension>5 5</dimension>
<lower_left>-7.5 -7.5</lower_left>
<upper_right>7.5 7.5</upper_right>
</mesh>
<mesh id="3">
<dimension>17 17 17</dimension>
<lower_left>-182.07 -182.07 -183.0</lower_left>
<upper_right>182.07 182.07 183.0</upper_right>
<dimension>5 5 5</dimension>
<lower_left>-7.5 -7.5 -7.5</lower_left>
<upper_right>7.5 7.5 7.5</upper_right>
</mesh>
<mesh id="4" type="rectilinear">
<x_grid>-182.07 -160.65 -139.23 -117.81 -96.39 -74.97 -53.55000000000001 -32.129999999999995 -10.710000000000008 10.70999999999998 32.129999999999995 53.54999999999998 74.96999999999997 96.38999999999999 117.81 139.22999999999996 160.64999999999998 182.07</x_grid>
<y_grid>-182.07 -160.65 -139.23 -117.81 -96.39 -74.97 -53.55000000000001 -32.129999999999995 -10.710000000000008 10.70999999999998 32.129999999999995 53.54999999999998 74.96999999999997 96.38999999999999 117.81 139.22999999999996 160.64999999999998 182.07</y_grid>
<z_grid>1.0 1.683624003879018 2.8345897864376153 4.772383405596668 8.034899257376447 13.52774925846868 22.77564337001445 38.34561988154435 64.55960607618856 108.69410247084474 182.99999999999991</z_grid>
<x_grid>-7.5 -6.617647058823529 -5.735294117647059 -4.852941176470589 -3.9705882352941178 -3.0882352941176467 -2.2058823529411766 -1.3235294117647065 -0.4411764705882355 0.4411764705882355 1.3235294117647065 2.2058823529411757 3.0882352941176467 3.9705882352941178 4.852941176470587 5.735294117647058 6.617647058823529 7.5</x_grid>
<y_grid>-7.5 -6.617647058823529 -5.735294117647059 -4.852941176470589 -3.9705882352941178 -3.0882352941176467 -2.2058823529411766 -1.3235294117647065 -0.4411764705882355 0.4411764705882355 1.3235294117647065 2.2058823529411757 3.0882352941176467 3.9705882352941178 4.852941176470587 5.735294117647058 6.617647058823529 7.5</y_grid>
<z_grid>1.0 1.223224374241637 1.4962778697388448 1.8302835609029084 2.2388474634702153 2.7386127875258306 3.3499379133114306 4.09772570775871 5.012437964687018 6.131336292779302 7.500000000000001</z_grid>
</mesh>
<filter id="1" type="mesh">
<bins>1</bins>
@ -353,35 +77,35 @@
<filter id="8" type="meshsurface">
<bins>4</bins>
</filter>
<tally id="1" name="tally 1">
<tally id="1">
<filters>1</filters>
<scores>total</scores>
</tally>
<tally id="2" name="tally 2">
<tally id="2">
<filters>5</filters>
<scores>current</scores>
</tally>
<tally id="3" name="tally 3">
<tally id="3">
<filters>2</filters>
<scores>total</scores>
</tally>
<tally id="4" name="tally 4">
<tally id="4">
<filters>6</filters>
<scores>current</scores>
</tally>
<tally id="5" name="tally 5">
<tally id="5">
<filters>3</filters>
<scores>total</scores>
</tally>
<tally id="6" name="tally 6">
<tally id="6">
<filters>7</filters>
<scores>current</scores>
</tally>
<tally id="7" name="tally 7">
<tally id="7">
<filters>4</filters>
<scores>total</scores>
</tally>
<tally id="8" name="tally 8">
<tally id="8">
<filters>8</filters>
<scores>current</scores>
</tally>

View file

@ -1 +1 @@
35f04a6f062ef64116ef4eb0e9b803cd44cff7e185e2b53c9174afad8a26ca1a436ca9b800d6a228e006a9129f4536d7dce289d7a11cd56c6949d71d6a201b31
c3560155c2f713e5e2ad84451ddcd40484942faf94e2829db77df9b648ea880b3fba35c2a80dd1502e1ba62843e19e746638b2fe4961bde4ded3ce98624a2447

View file

@ -1,87 +1,84 @@
import numpy as np
import openmc
import pytest
from tests.testing_harness import HashedPyAPITestHarness
class FilterMeshTestHarness(HashedPyAPITestHarness):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@pytest.fixture
def model():
model = openmc.model.Model()
# Initialize Meshes
mesh_1d = openmc.RegularMesh(mesh_id=1)
mesh_1d.dimension = [17]
mesh_1d.lower_left = [-182.07]
mesh_1d.upper_right = [182.07]
fuel = openmc.Material()
fuel.set_density('g/cm3', 10.0)
fuel.add_nuclide('U235', 1.0)
zr = openmc.Material()
zr.set_density('g/cm3', 1.0)
zr.add_nuclide('Zr90', 1.0)
model.materials.extend([fuel, zr])
mesh_2d = openmc.RegularMesh(mesh_id=2)
mesh_2d.dimension = [17, 17]
mesh_2d.lower_left = [-182.07, -182.07]
mesh_2d.upper_right = [182.07, 182.07]
box1 = openmc.model.rectangular_prism(10.0, 10.0)
box2 = openmc.model.rectangular_prism(20.0, 20.0, boundary_type='reflective')
top = openmc.ZPlane(z0=10.0, boundary_type='vacuum')
bottom = openmc.ZPlane(z0=-10.0, boundary_type='vacuum')
cell1 = openmc.Cell(fill=fuel, region=box1 & +bottom & -top)
cell2 = openmc.Cell(fill=zr, region=~box1 & box2 & +bottom & -top)
model.geometry = openmc.Geometry([cell1, cell2])
mesh_3d = openmc.RegularMesh(mesh_id=3)
mesh_3d.dimension = [17, 17, 17]
mesh_3d.lower_left = [-182.07, -182.07, -183.00]
mesh_3d.upper_right = [182.07, 182.07, 183.00]
model.settings.batches = 5
model.settings.inactive = 0
model.settings.particles = 1000
recti_mesh = openmc.RectilinearMesh(mesh_id=4)
recti_mesh.x_grid = np.linspace(-182.07, 182.07, 18)
recti_mesh.y_grid = np.linspace(-182.07, 182.07, 18)
recti_mesh.z_grid = np.logspace(0, np.log10(183), 11)
# Create meshes
mesh_1d = openmc.RegularMesh()
mesh_1d.dimension = [5]
mesh_1d.lower_left = [-7.5]
mesh_1d.upper_right = [7.5]
# Initialize the filters
mesh_1d_filter = openmc.MeshFilter(mesh_1d)
mesh_2d_filter = openmc.MeshFilter(mesh_2d)
mesh_3d_filter = openmc.MeshFilter(mesh_3d)
recti_mesh_filter = openmc.MeshFilter(recti_mesh)
meshsurf_1d_filter = openmc.MeshSurfaceFilter(mesh_1d)
meshsurf_2d_filter = openmc.MeshSurfaceFilter(mesh_2d)
meshsurf_3d_filter = openmc.MeshSurfaceFilter(mesh_3d)
recti_meshsurf_filter = openmc.MeshSurfaceFilter(recti_mesh)
mesh_2d = openmc.RegularMesh()
mesh_2d.dimension = [5, 5]
mesh_2d.lower_left = [-7.5, -7.5]
mesh_2d.upper_right = [7.5, 7.5]
# Initialized the tallies
tally = openmc.Tally(name='tally 1')
tally.filters = [mesh_1d_filter]
mesh_3d = openmc.RegularMesh()
mesh_3d.dimension = [5, 5, 5]
mesh_3d.lower_left = [-7.5, -7.5, -7.5]
mesh_3d.upper_right = [7.5, 7.5, 7.5]
recti_mesh = openmc.RectilinearMesh()
recti_mesh.x_grid = np.linspace(-7.5, 7.5, 18)
recti_mesh.y_grid = np.linspace(-7.5, 7.5, 18)
recti_mesh.z_grid = np.logspace(0, np.log10(7.5), 11)
# Create filters
reg_filters = [
openmc.MeshFilter(mesh_1d),
openmc.MeshFilter(mesh_2d),
openmc.MeshFilter(mesh_3d),
openmc.MeshFilter(recti_mesh)
]
surf_filters = [
openmc.MeshSurfaceFilter(mesh_1d),
openmc.MeshSurfaceFilter(mesh_2d),
openmc.MeshSurfaceFilter(mesh_3d),
openmc.MeshSurfaceFilter(recti_mesh)
]
# Create tallies
for f1, f2 in zip(reg_filters, surf_filters):
tally = openmc.Tally()
tally.filters = [f1]
tally.scores = ['total']
self._model.tallies.append(tally)
tally = openmc.Tally(name='tally 2')
tally.filters = [meshsurf_1d_filter]
model.tallies.append(tally)
tally = openmc.Tally()
tally.filters = [f2]
tally.scores = ['current']
self._model.tallies.append(tally)
model.tallies.append(tally)
tally = openmc.Tally(name='tally 3')
tally.filters = [mesh_2d_filter]
tally.scores = ['total']
self._model.tallies.append(tally)
tally = openmc.Tally(name='tally 4')
tally.filters = [meshsurf_2d_filter]
tally.scores = ['current']
self._model.tallies.append(tally)
tally = openmc.Tally(name='tally 5')
tally.filters = [mesh_3d_filter]
tally.scores = ['total']
self._model.tallies.append(tally)
tally = openmc.Tally(name='tally 6')
tally.filters = [meshsurf_3d_filter]
tally.scores = ['current']
self._model.tallies.append(tally)
tally = openmc.Tally(name='tally 7')
tally.filters = [recti_mesh_filter]
tally.scores = ['total']
self._model.tallies.append(tally)
tally = openmc.Tally(name='tally 8')
tally.filters = [recti_meshsurf_filter]
tally.scores = ['current']
self._model.tallies.append(tally)
return model
def test_filter_mesh():
harness = FilterMeshTestHarness('statepoint.10.h5')
def test_filter_mesh(model):
harness = HashedPyAPITestHarness('statepoint.5.h5', model)
harness.main()

View file

@ -1,181 +0,0 @@
<?xml version="1.0"?>
<geometry>
<surface id="1" type="z-cylinder" coeffs="0. 0. 0.41" />
<surface id="2" type="z-cylinder" coeffs="0. 0. 0.475" />
<surface id="3" type="z-cylinder" coeffs="0. 0. 0.56" />
<surface id="4" type="z-cylinder" coeffs="0. 0. 0.62" />
<surface id="5" type="z-cylinder" coeffs="0. 0. 187.6" />
<surface id="6" type="z-cylinder" coeffs="0. 0. 209.0" />
<surface id="7" type="z-cylinder" coeffs="0. 0. 229.0" />
<surface id="8" type="z-cylinder" coeffs="0. 0. 249.0" boundary="vacuum" />
<surface id="31" type="z-plane" coeffs="-229.0" boundary="vacuum" />
<surface id="32" type="z-plane" coeffs="-199.0" />
<surface id="33" type="z-plane" coeffs="-193.0" />
<surface id="34" type="z-plane" coeffs="-183.0" />
<surface id="35" type="z-plane" coeffs="0.0" />
<surface id="36" type="z-plane" coeffs="183.0" />
<surface id="37" type="z-plane" coeffs="203.0" />
<surface id="38" type="z-plane" coeffs="215.0" />
<surface id="39" type="z-plane" coeffs="223.0" boundary="vacuum" />
<!-- All geometry on base universe -->
<cell id="1" fill="200" region=" -6 34 -35" /> <!-- Lower core -->
<cell id="2" fill="201" region=" -6 35 -36" /> <!-- Upper core -->
<cell id="3" material="8" region=" -7 31 -32" /> <!-- Lower core plate region -->
<cell id="4" material="9" region=" -5 32 -33" /> <!-- Bottom nozzle region -->
<cell id="5" material="12" region=" -5 33 -34" /> <!-- Bottom FA region -->
<cell id="6" material="11" region=" -5 36 -37" /> <!-- Top FA region -->
<cell id="7" material="10" region=" -5 37 -38" /> <!-- Top nozzle region -->
<cell id="8" material="7" region=" -7 38 -39" /> <!-- Upper plate region -->
<cell id="9" material="4" region="6 -7 32 -38" /> <!-- Downcomer -->
<cell id="10" material="5" region="7 -8 31 -39" /> <!-- RPV -->
<cell id="11" material="6" region="5 -6 32 -34" /> <!-- Bottom of radial reflector -->
<cell id="12" material="7" region="5 -6 36 -38" /> <!-- Top of radial reflector -->
<!-- Fuel pin, cladding, cold water -->
<cell id="21" universe="1" material="1" region="-1" />
<cell id="22" universe="1" material="2" region="1 -2" />
<cell id="23" universe="1" material="3" region="2" />
<!-- Instrumentation guide tube -->
<cell id="24" universe="2" material="3" region="-3" />
<cell id="25" universe="2" material="2" region="3 -4" />
<cell id="26" universe="2" material="3" region="4" />
<!-- Fuel pin, cladding, hot water -->
<cell id="27" universe="3" material="1" region="-1" />
<cell id="28" universe="3" material="2" region="1 -2" />
<cell id="29" universe="3" material="4" region="2" />
<!-- Instrumentation guide tube -->
<cell id="30" universe="4" material="4" region="-3" />
<cell id="31" universe="4" material="2" region="3 -4" />
<cell id="32" universe="4" material="4" region="4" />
<!-- cell for water assembly (cold) -->
<cell id="50" universe="5" material="4" region="34 -35" />
<!-- containing cell for fuel assembly -->
<cell id="60" universe="6" fill="100" region="34 -35" />
<!-- cell for water assembly (hot) -->
<cell id="70" universe="7" material="3" region="35 -36" />
<!-- containing cell for fuel assembly -->
<cell id="80" universe="8" fill="101" region="35 -36" />
<!-- Fuel Assembly (Lower Half) -->
<lattice id="100">
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<pitch>1.26 1.26</pitch>
<universes>
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
</universes>
</lattice>
<!-- Fuel Assembly (Upper Half) -->
<lattice id="101">
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<pitch>1.26 1.26</pitch>
<universes>
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
</universes>
</lattice>
<!-- Core Lattice (Lower Half) -->
<lattice id="200">
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<pitch>21.42 21.42</pitch>
<universes>
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
</universes>
</lattice>
<!-- Core Lattice (Upper Half) -->
<lattice id="201">
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<pitch>21.42 21.42</pitch>
<universes>
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
</universes>
</lattice>
</geometry>

View file

@ -0,0 +1,53 @@
<?xml version='1.0' encoding='utf-8'?>
<geometry>
<cell id="1" material="1" region="-1" universe="1" />
<cell id="2" material="2" region="1" universe="1" />
<cell id="3" material="1" region="-2" universe="2" />
<cell id="4" material="2" region="2" universe="2" />
<cell fill="3" id="5" universe="4" />
<cell fill="5" id="6" region="3 -4 5 -6" universe="6" />
<lattice id="3">
<pitch>1.2 1.2</pitch>
<outer>1</outer>
<dimension>2 2</dimension>
<lower_left>-1.2 -1.2</lower_left>
<universes>
2 1
1 1 </universes>
</lattice>
<lattice id="5">
<pitch>2.4 2.4</pitch>
<dimension>2 2</dimension>
<lower_left>-2.4 -2.4</lower_left>
<universes>
4 4
4 4 </universes>
</lattice>
<surface coeffs="0.0 0.0 0.4" id="1" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.5" id="2" type="z-cylinder" />
<surface boundary="reflective" coeffs="-2.4" id="3" name="minimum x" type="x-plane" />
<surface boundary="reflective" coeffs="2.4" id="4" name="maximum x" type="x-plane" />
<surface boundary="reflective" coeffs="-2.4" id="5" name="minimum y" type="y-plane" />
<surface boundary="reflective" coeffs="2.4" id="6" name="maximum y" type="y-plane" />
</geometry>
<?xml version='1.0' encoding='utf-8'?>
<materials>
<material depletable="true" id="1" name="UO2">
<density units="g/cm3" value="10.0" />
<nuclide ao="1.0" name="U235" />
<nuclide ao="2.0" name="O16" />
</material>
<material id="2" name="light water">
<density units="g/cm3" value="1.0" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<sab name="c_H_in_H2O" />
</material>
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<run_mode>eigenvalue</run_mode>
<particles>1000</particles>
<batches>10</batches>
<inactive>5</inactive>
</settings>

View file

@ -1,270 +0,0 @@
<?xml version="1.0"?>
<materials>
<!-- Fuel composition -->
<material id="1">
<density value="10.062" units="g/cm3" />
<nuclide name="U234" ao="4.9476e-6" />
<nuclide name="U235" ao="4.8218e-4" />
<nuclide name="U236" ao="9.0402e-5" />
<nuclide name="U238" ao="2.1504e-2" />
<nuclide name="Np237" ao="7.3733e-6" />
<nuclide name="Pu238" ao="1.5148e-6" />
<nuclide name="Pu239" ao="1.3955e-4" />
<nuclide name="Pu240" ao="3.4405e-5" />
<nuclide name="Pu241" ao="2.1439e-5" />
<nuclide name="Pu242" ao="3.7422e-6" />
<nuclide name="Am241" ao="4.5041e-7" />
<nuclide name="Am242_m1" ao="9.2301e-9" />
<nuclide name="Am243" ao="4.7878e-7" />
<nuclide name="Cm242" ao="1.0485e-7" />
<nuclide name="Cm243" ao="1.4268e-9" />
<nuclide name="Cm244" ao="8.8756e-8" />
<nuclide name="Cm245" ao="3.5285e-9" />
<nuclide name="Mo95" ao="2.6497e-5" />
<nuclide name="Tc99" ao="3.2772e-5" />
<nuclide name="Ru101" ao="3.0742e-5" />
<nuclide name="Ru103" ao="2.3505e-6" />
<nuclide name="Ag109" ao="2.0009e-6" />
<nuclide name="Xe135" ao="1.0801e-8" />
<nuclide name="Cs133" ao="3.4612e-5" />
<nuclide name="Nd143" ao="2.6078e-5" />
<nuclide name="Nd145" ao="1.9898e-5" />
<nuclide name="Sm147" ao="1.6128e-6" />
<nuclide name="Sm149" ao="1.1627e-7" />
<nuclide name="Sm150" ao="7.1727e-6" />
<nuclide name="Sm151" ao="5.4947e-7" />
<nuclide name="Sm152" ao="3.0221e-6" />
<nuclide name="Eu153" ao="2.6209e-6" />
<nuclide name="Gd155" ao="1.5369e-9" />
<nuclide name="O16" ao="4.5737e-2" />
</material>
<!-- Cladding composition -->
<material id="2">
<density value="5.77" units="g/cm3" />
<nuclide name="Zr90" ao="0.5145" />
<nuclide name="Zr91" ao="0.1122" />
<nuclide name="Zr92" ao="0.1715" />
<nuclide name="Zr94" ao="0.1738" />
<nuclide name="Zr96" ao="0.0280" />
</material>
<!-- Cold borated water -->
<material id="3">
<density value="0.07416" units="atom/b-cm" />
<nuclide name="H1" ao="2.0" />
<nuclide name="O16" ao="1.0" />
<nuclide name="B10" ao="6.490e-4" />
<nuclide name="B11" ao="2.689e-3" />
<sab name="c_H_in_H2O" />
</material>
<!-- Hot borated water -->
<material id="4">
<density value="0.06614" units="atom/b-cm" />
<nuclide name="H1" ao="2.0" />
<nuclide name="O16" ao="1.0" />
<nuclide name="B10" ao="6.490e-4" />
<nuclide name="B11" ao="2.689e-3" />
<sab name="c_H_in_H2O" />
</material>
<!-- RPV Composition -->
<material id="5">
<density value="7.9" units="g/cm3" />
<nuclide name="Fe54" wo="0.05437098" />
<nuclide name="Fe56" wo="0.88500663" />
<nuclide name="Fe57" wo="0.0208008" />
<nuclide name="Fe58" wo="0.00282159" />
<nuclide name="Ni58" wo="0.0067198" />
<nuclide name="Ni60" wo="0.0026776" />
<nuclide name="Ni61" wo="0.0001183" />
<nuclide name="Ni62" wo="0.0003835" />
<nuclide name="Ni64" wo="0.0001008" />
<nuclide name="Mn55" wo="0.01" />
<nuclide name="Mo92" wo="0.000849" />
<nuclide name="Mo94" wo="0.0005418" />
<nuclide name="Mo95" wo="0.0009438" />
<nuclide name="Mo96" wo="0.0010002" />
<nuclide name="Mo97" wo="0.0005796" />
<nuclide name="Mo98" wo="0.0014814" />
<nuclide name="Mo100" wo="0.0006042" />
<nuclide name="Si28" wo="0.00367464" />
<nuclide name="Si29" wo="0.00019336" />
<nuclide name="Si30" wo="0.000132" />
<nuclide name="Cr50" wo="0.00010435" />
<nuclide name="Cr52" wo="0.002092475" />
<nuclide name="Cr53" wo="0.00024185" />
<nuclide name="Cr54" wo="6.1325e-05" />
<nuclide name="C0" wo="0.0025" />
<nuclide name="Cu63" wo="0.0013696" />
<nuclide name="Cu65" wo="0.0006304" />
</material>
<!-- Lower radial reflector -->
<material id="6">
<density value="4.32" units="g/cm3" />
<nuclide name="H1" wo="0.0095661" />
<nuclide name="O16" wo="0.0759107" />
<nuclide name="B10" wo="3.08409e-5" />
<nuclide name="B11" wo="1.40499e-4" />
<nuclide name="Fe54" wo="0.035620772088" />
<nuclide name="Fe56" wo="0.579805982228" />
<nuclide name="Fe57" wo="0.01362750048" />
<nuclide name="Fe58" wo="0.001848545204" />
<nuclide name="Ni58" wo="0.055298376566" />
<nuclide name="Ni60" wo="0.022034425592" />
<nuclide name="Ni61" wo="0.000973510811" />
<nuclide name="Ni62" wo="0.003155886695" />
<nuclide name="Ni64" wo="0.000829500336" />
<nuclide name="Mn55" wo="0.0182870" />
<nuclide name="Si28" wo="0.00839976771" />
<nuclide name="Si29" wo="0.00044199679" />
<nuclide name="Si30" wo="0.0003017355" />
<nuclide name="Cr50" wo="0.007251360806" />
<nuclide name="Cr52" wo="0.145407678031" />
<nuclide name="Cr53" wo="0.016806340306" />
<nuclide name="Cr54" wo="0.004261520857" />
<sab name="c_H_in_H2O" />
</material>
<!-- Upper radial reflector / Top plate region -->
<material id="7">
<density value="4.28" units="g/cm3" />
<nuclide name="H1" wo="0.0086117" />
<nuclide name="O16" wo="0.0683369" />
<nuclide name="B10" wo="2.77638e-5" />
<nuclide name="B11" wo="1.26481e-4" />
<nuclide name="Fe54" wo="0.035953677186" />
<nuclide name="Fe56" wo="0.585224740891" />
<nuclide name="Fe57" wo="0.01375486056" />
<nuclide name="Fe58" wo="0.001865821363" />
<nuclide name="Ni58" wo="0.055815129186" />
<nuclide name="Ni60" wo="0.022240333032" />
<nuclide name="Ni61" wo="0.000982608081" />
<nuclide name="Ni62" wo="0.003185377845" />
<nuclide name="Ni64" wo="0.000837251856" />
<nuclide name="Mn55" wo="0.0184579" />
<nuclide name="Si28" wo="0.00847831314" />
<nuclide name="Si29" wo="0.00044612986" />
<nuclide name="Si30" wo="0.000304557" />
<nuclide name="Cr50" wo="0.00731912987" />
<nuclide name="Cr52" wo="0.146766614995" />
<nuclide name="Cr53" wo="0.01696340737" />
<nuclide name="Cr54" wo="0.004301347765" />
<sab name="c_H_in_H2O" />
</material>
<!-- Bottom plate region -->
<material id="8">
<density value="7.184" units="g/cm3" />
<nuclide name="H1" wo="0.0011505" />
<nuclide name="O16" wo="0.0091296" />
<nuclide name="B10" wo="3.70915e-6" />
<nuclide name="B11" wo="1.68974e-5" />
<nuclide name="Fe54" wo="0.03855611055" />
<nuclide name="Fe56" wo="0.627585036425" />
<nuclide name="Fe57" wo="0.014750478" />
<nuclide name="Fe58" wo="0.002000875025" />
<nuclide name="Ni58" wo="0.059855207342" />
<nuclide name="Ni60" wo="0.023850159704" />
<nuclide name="Ni61" wo="0.001053732407" />
<nuclide name="Ni62" wo="0.003415945715" />
<nuclide name="Ni64" wo="0.000897854832" />
<nuclide name="Mn55" wo="0.0197940" />
<nuclide name="Si28" wo="0.00909197802" />
<nuclide name="Si29" wo="0.00047842098" />
<nuclide name="Si30" wo="0.000326601" />
<nuclide name="Cr50" wo="0.007848910646" />
<nuclide name="Cr52" wo="0.157390026871" />
<nuclide name="Cr53" wo="0.018191270146" />
<nuclide name="Cr54" wo="0.004612692337" />
<sab name="c_H_in_H2O" />
</material>
<!-- Bottom nozzle region -->
<material id="9">
<density value="2.53" units="g/cm3" />
<nuclide name="H1" wo="0.0245014" />
<nuclide name="O16" wo="0.1944274" />
<nuclide name="B10" wo="7.89917e-5" />
<nuclide name="B11" wo="3.59854e-4" />
<nuclide name="Fe54" wo="0.030411411144" />
<nuclide name="Fe56" wo="0.495012237964" />
<nuclide name="Fe57" wo="0.01163454624" />
<nuclide name="Fe58" wo="0.001578204652" />
<nuclide name="Ni58" wo="0.047211231662" />
<nuclide name="Ni60" wo="0.018811987544" />
<nuclide name="Ni61" wo="0.000831139127" />
<nuclide name="Ni62" wo="0.002694352115" />
<nuclide name="Ni64" wo="0.000708189552" />
<nuclide name="Mn55" wo="0.0156126" />
<nuclide name="Si28" wo="0.007171335558" />
<nuclide name="Si29" wo="0.000377356542" />
<nuclide name="Si30" wo="0.0002576079" />
<nuclide name="Cr50" wo="0.006190885148" />
<nuclide name="Cr52" wo="0.124142524198" />
<nuclide name="Cr53" wo="0.014348496148" />
<nuclide name="Cr54" wo="0.003638294506" />
<sab name="c_H_in_H2O" />
</material>
<!-- Top nozzle region -->
<material id="10">
<density value="1.746" units="g/cm3" />
<nuclide name="H1" wo="0.0358870" />
<nuclide name="O16" wo="0.2847761" />
<nuclide name="B10" wo="1.15699e-4" />
<nuclide name="B11" wo="5.27075e-4" />
<nuclide name="Fe54" wo="0.02644016154" />
<nuclide name="Fe56" wo="0.43037146399" />
<nuclide name="Fe57" wo="0.0101152584" />
<nuclide name="Fe58" wo="0.00137211607" />
<nuclide name="Ni58" wo="0.04104621835" />
<nuclide name="Ni60" wo="0.0163554502" />
<nuclide name="Ni61" wo="0.000722605975" />
<nuclide name="Ni62" wo="0.002342513875" />
<nuclide name="Ni64" wo="0.0006157116" />
<nuclide name="Mn55" wo="0.0135739" />
<nuclide name="Si28" wo="0.006234853554" />
<nuclide name="Si29" wo="0.000328078746" />
<nuclide name="Si30" wo="0.0002239677" />
<nuclide name="Cr50" wo="0.005382452306" />
<nuclide name="Cr52" wo="0.107931450781" />
<nuclide name="Cr53" wo="0.012474806806" />
<nuclide name="Cr54" wo="0.003163190107" />
<sab name="c_H_in_H2O" />
</material>
<!-- Top of Fuel Assemblies -->
<material id="11">
<density value="3.044" units="g/cm3" />
<nuclide name="H1" wo="0.0162913" />
<nuclide name="O16" wo="0.1292776" />
<nuclide name="B10" wo="5.25228e-5" />
<nuclide name="B11" wo="2.39272e-4" />
<nuclide name="Zr90" wo="0.43313403903" />
<nuclide name="Zr91" wo="0.09549277374" />
<nuclide name="Zr92" wo="0.14759527104" />
<nuclide name="Zr94" wo="0.15280552077" />
<nuclide name="Zr96" wo="0.02511169542" />
<sab name="c_H_in_H2O" />
</material>
<!-- Bottom of Fuel Assemblies -->
<material id="12">
<density value="1.762" units="g/cm3" />
<nuclide name="H1" wo="0.0292856" />
<nuclide name="O16" wo="0.2323919" />
<nuclide name="B10" wo="9.44159e-5" />
<nuclide name="B11" wo="4.30120e-4" />
<nuclide name="Zr90" wo="0.3741373658" />
<nuclide name="Zr91" wo="0.0824858164" />
<nuclide name="Zr92" wo="0.1274914944" />
<nuclide name="Zr94" wo="0.1319920622" />
<nuclide name="Zr96" wo="0.0216912612" />
<sab name="c_H_in_H2O" />
</material>
</materials>

View file

@ -1,2 +1,2 @@
k-combined:
9.581522E-01 4.261828E-02
1.831313E+00 6.958576E-04

View file

@ -1,18 +0,0 @@
<?xml version="1.0"?>
<settings>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
<source>
<space type="box">
<parameters>
-160 -160 -183
160 160 183
</parameters>
</space>
</source>
</settings>

View file

@ -1,6 +1,58 @@
from tests.testing_harness import TestHarness
import numpy as np
import openmc
import pytest
from tests.testing_harness import PyAPITestHarness
def test_lattice_multiple():
harness = TestHarness('statepoint.10.h5')
@pytest.fixture
def model():
model = openmc.model.Model()
uo2 = openmc.Material(name='UO2')
uo2.set_density('g/cm3', 10.0)
uo2.add_nuclide('U235', 1.0)
uo2.add_nuclide('O16', 2.0)
water = openmc.Material(name='light water')
water.add_nuclide('H1', 2.0)
water.add_nuclide('O16', 1.0)
water.set_density('g/cm3', 1.0)
water.add_s_alpha_beta('c_H_in_H2O')
model.materials.extend([uo2, water])
cyl = openmc.ZCylinder(r=0.4)
big_cyl = openmc.ZCylinder(r=0.5)
pin = openmc.model.pin([cyl], [uo2, water])
big_pin = openmc.model.pin([big_cyl], [uo2, water])
d = 1.2
inner_lattice = openmc.RectLattice()
inner_lattice.lower_left = (-d, -d)
inner_lattice.pitch = (d, d)
inner_lattice.outer = pin
inner_lattice.universes = [
[big_pin, pin],
[pin, pin],
]
inner_cell = openmc.Cell(fill=inner_lattice)
inner_univ = openmc.Universe(cells=[inner_cell])
lattice = openmc.RectLattice()
lattice.lower_left = (-2*d, -2*d)
lattice.pitch = (2*d, 2*d)
lattice.universes = np.full((2, 2), inner_univ)
box = openmc.model.rectangular_prism(4*d, 4*d, boundary_type='reflective')
main_cell = openmc.Cell(fill=lattice, region=box)
model.geometry = openmc.Geometry([main_cell])
model.settings.batches = 10
model.settings.inactive = 5
model.settings.particles = 1000
return model
def test_lattice_multiple(model):
harness = PyAPITestHarness('statepoint.10.h5', model)
harness.main()

View file

@ -1,311 +1,35 @@
<?xml version='1.0' encoding='utf-8'?>
<geometry>
<cell fill="200" id="1" region="-6 34 -35" universe="0" />
<cell fill="201" id="2" region="-6 35 -36" universe="0" />
<cell id="3" material="8" region="-7 31 -32" universe="0" />
<cell id="4" material="9" region="-5 32 -33" universe="0" />
<cell id="5" material="12" region="-5 33 -34" universe="0" />
<cell id="6" material="11" region="-5 36 -37" universe="0" />
<cell id="7" material="10" region="-5 37 -38" universe="0" />
<cell id="8" material="7" region="-7 38 -39" universe="0" />
<cell id="9" material="9" region="6 -7 32 -38" universe="0" />
<cell id="10" material="5" region="7 -8 31 -39" universe="0" />
<cell id="11" material="6" region="5 -6 32 -34" universe="0" />
<cell id="12" material="7" region="5 -6 36 -38" universe="0" />
<cell id="21" material="1" region="-1" universe="1" />
<cell id="22" material="2" region="1 -2" universe="1" />
<cell id="23" material="3" region="2" universe="1" />
<cell id="24" material="3" region="-3" universe="2" />
<cell id="25" material="2" region="3 -4" universe="2" />
<cell id="26" material="3" region="4" universe="2" />
<cell id="27" material="1" region="-1" universe="3" />
<cell id="28" material="2" region="1 -2" universe="3" />
<cell id="29" material="4" region="2" universe="3" />
<cell id="30" material="4" region="-3" universe="4" />
<cell id="31" material="2" region="3 -4" universe="4" />
<cell id="32" material="4" region="4" universe="4" />
<cell id="50" material="3" region="34 -35" universe="5" />
<cell fill="100" id="60" region="34 -35" universe="6" />
<cell id="70" material="4" region="35 -36" universe="7" />
<cell fill="101" id="80" region="35 -36" universe="8" />
<lattice id="100" name="Fuel assembly (lower half)">
<pitch>1.26 1.26</pitch>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<universes>
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 </universes>
</lattice>
<lattice id="101" name="Fuel assembly (upper half)">
<pitch>1.26 1.26</pitch>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<universes>
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </universes>
</lattice>
<lattice id="200" name="Core lattice (lower half)">
<pitch>21.42 21.42</pitch>
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<universes>
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 </universes>
</lattice>
<lattice id="201" name="Core lattice (lower half)">
<pitch>21.42 21.42</pitch>
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<universes>
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 </universes>
</lattice>
<surface coeffs="0.0 0.0 0.41" id="1" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.475" id="2" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.56" id="3" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.62" id="4" type="z-cylinder" />
<surface coeffs="0.0 0.0 187.6" id="5" type="z-cylinder" />
<surface coeffs="0.0 0.0 209.0" id="6" type="z-cylinder" />
<surface coeffs="0.0 0.0 229.0" id="7" type="z-cylinder" />
<surface boundary="vacuum" coeffs="0.0 0.0 249.0" id="8" type="z-cylinder" />
<surface boundary="vacuum" coeffs="-229.0" id="31" type="z-plane" />
<surface coeffs="-199.0" id="32" type="z-plane" />
<surface coeffs="-193.0" id="33" type="z-plane" />
<surface coeffs="-183.0" id="34" type="z-plane" />
<surface coeffs="0.0" id="35" type="z-plane" />
<surface coeffs="183.0" id="36" type="z-plane" />
<surface coeffs="203.0" id="37" type="z-plane" />
<surface coeffs="215.0" id="38" type="z-plane" />
<surface boundary="vacuum" coeffs="223.0" id="39" type="z-plane" />
<cell id="1" material="1" region="1 -2 3 -4 10 -9" universe="1" />
<cell id="2" material="2" region="~(1 -2 3 -4) (5 -6 7 -8) 10 -9" universe="1" />
<surface coeffs="-5.0" id="1" name="minimum x" type="x-plane" />
<surface coeffs="5.0" id="2" name="maximum x" type="x-plane" />
<surface coeffs="-5.0" id="3" name="minimum y" type="y-plane" />
<surface coeffs="5.0" id="4" name="maximum y" type="y-plane" />
<surface boundary="reflective" coeffs="-10.0" id="5" name="minimum x" type="x-plane" />
<surface boundary="reflective" coeffs="10.0" id="6" name="maximum x" type="x-plane" />
<surface boundary="reflective" coeffs="-10.0" id="7" name="minimum y" type="y-plane" />
<surface boundary="reflective" coeffs="10.0" id="8" name="maximum y" type="y-plane" />
<surface boundary="vacuum" coeffs="10.0" id="9" type="z-plane" />
<surface boundary="vacuum" coeffs="-10.0" id="10" type="z-plane" />
</geometry>
<?xml version='1.0' encoding='utf-8'?>
<materials>
<material depletable="true" id="1" name="UOX fuel">
<density units="g/cm3" value="10.062" />
<nuclide ao="4.9476e-06" name="U234" />
<nuclide ao="0.00048218" name="U235" />
<nuclide ao="0.021504" name="U238" />
<nuclide ao="1.0801e-08" name="Xe135" />
<nuclide ao="0.045737" name="O16" />
<material depletable="true" id="1">
<density units="g/cm3" value="10.0" />
<nuclide ao="1.0" name="U235" />
</material>
<material id="2" name="Zircaloy">
<density units="g/cm3" value="5.77" />
<nuclide ao="0.5145" name="Zr90" />
<nuclide ao="0.1122" name="Zr91" />
<nuclide ao="0.1715" name="Zr92" />
<nuclide ao="0.1738" name="Zr94" />
<nuclide ao="0.028" name="Zr96" />
</material>
<material id="3" name="Cold borated water">
<density units="atom/b-cm" value="0.07416" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<nuclide ao="0.000649" name="B10" />
<nuclide ao="0.002689" name="B11" />
<sab name="c_H_in_H2O" />
</material>
<material id="4" name="Hot borated water">
<density units="atom/b-cm" value="0.06614" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<nuclide ao="0.000649" name="B10" />
<nuclide ao="0.002689" name="B11" />
<sab name="c_H_in_H2O" />
</material>
<material id="5" name="Reactor pressure vessel steel">
<density units="g/cm3" value="7.9" />
<nuclide name="Fe54" wo="0.05437098" />
<nuclide name="Fe56" wo="0.88500663" />
<nuclide name="Fe57" wo="0.0208008" />
<nuclide name="Fe58" wo="0.00282159" />
<nuclide name="Ni58" wo="0.0067198" />
<nuclide name="Ni60" wo="0.0026776" />
<nuclide name="Mn55" wo="0.01" />
<nuclide name="Cr52" wo="0.002092475" />
<nuclide name="C0" wo="0.0025" />
<nuclide name="Cu63" wo="0.0013696" />
</material>
<material id="6" name="Lower radial reflector">
<density units="g/cm3" value="4.32" />
<nuclide name="H1" wo="0.0095661" />
<nuclide name="O16" wo="0.0759107" />
<nuclide name="B10" wo="3.08409e-05" />
<nuclide name="B11" wo="0.000140499" />
<nuclide name="Fe54" wo="0.035620772088" />
<nuclide name="Fe56" wo="0.579805982228" />
<nuclide name="Fe57" wo="0.01362750048" />
<nuclide name="Fe58" wo="0.001848545204" />
<nuclide name="Ni58" wo="0.055298376566" />
<nuclide name="Mn55" wo="0.018287" />
<nuclide name="Cr52" wo="0.145407678031" />
<sab name="c_H_in_H2O" />
</material>
<material id="7" name="Upper radial reflector / Top plate region">
<density units="g/cm3" value="4.28" />
<nuclide name="H1" wo="0.0086117" />
<nuclide name="O16" wo="0.0683369" />
<nuclide name="B10" wo="2.77638e-05" />
<nuclide name="B11" wo="0.000126481" />
<nuclide name="Fe54" wo="0.035953677186" />
<nuclide name="Fe56" wo="0.585224740891" />
<nuclide name="Fe57" wo="0.01375486056" />
<nuclide name="Fe58" wo="0.001865821363" />
<nuclide name="Ni58" wo="0.055815129186" />
<nuclide name="Mn55" wo="0.0184579" />
<nuclide name="Cr52" wo="0.146766614995" />
<sab name="c_H_in_H2O" />
</material>
<material id="8" name="Bottom plate region">
<density units="g/cm3" value="7.184" />
<nuclide name="H1" wo="0.0011505" />
<nuclide name="O16" wo="0.0091296" />
<nuclide name="B10" wo="3.70915e-06" />
<nuclide name="B11" wo="1.68974e-05" />
<nuclide name="Fe54" wo="0.03855611055" />
<nuclide name="Fe56" wo="0.627585036425" />
<nuclide name="Fe57" wo="0.014750478" />
<nuclide name="Fe58" wo="0.002000875025" />
<nuclide name="Ni58" wo="0.059855207342" />
<nuclide name="Mn55" wo="0.019794" />
<nuclide name="Cr52" wo="0.157390026871" />
<sab name="c_H_in_H2O" />
</material>
<material id="9" name="Bottom nozzle region">
<density units="g/cm3" value="2.53" />
<nuclide name="H1" wo="0.0245014" />
<nuclide name="O16" wo="0.1944274" />
<nuclide name="B10" wo="7.89917e-05" />
<nuclide name="B11" wo="0.000359854" />
<nuclide name="Fe54" wo="0.030411411144" />
<nuclide name="Fe56" wo="0.495012237964" />
<nuclide name="Fe57" wo="0.01163454624" />
<nuclide name="Fe58" wo="0.001578204652" />
<nuclide name="Ni58" wo="0.047211231662" />
<nuclide name="Mn55" wo="0.0156126" />
<nuclide name="Cr52" wo="0.124142524198" />
<sab name="c_H_in_H2O" />
</material>
<material id="10" name="Top nozzle region">
<density units="g/cm3" value="1.746" />
<nuclide name="H1" wo="0.035887" />
<nuclide name="O16" wo="0.2847761" />
<nuclide name="B10" wo="0.000115699" />
<nuclide name="B11" wo="0.000527075" />
<nuclide name="Fe54" wo="0.02644016154" />
<nuclide name="Fe56" wo="0.43037146399" />
<nuclide name="Fe57" wo="0.0101152584" />
<nuclide name="Fe58" wo="0.00137211607" />
<nuclide name="Ni58" wo="0.04104621835" />
<nuclide name="Mn55" wo="0.0135739" />
<nuclide name="Cr52" wo="0.107931450781" />
<sab name="c_H_in_H2O" />
</material>
<material id="11" name="Top of fuel assemblies">
<density units="g/cm3" value="3.044" />
<nuclide name="H1" wo="0.0162913" />
<nuclide name="O16" wo="0.1292776" />
<nuclide name="B10" wo="5.25228e-05" />
<nuclide name="B11" wo="0.000239272" />
<nuclide name="Zr90" wo="0.43313403903" />
<nuclide name="Zr91" wo="0.09549277374" />
<nuclide name="Zr92" wo="0.14759527104" />
<nuclide name="Zr94" wo="0.15280552077" />
<nuclide name="Zr96" wo="0.02511169542" />
<sab name="c_H_in_H2O" />
</material>
<material id="12" name="Bottom of fuel assemblies">
<density units="g/cm3" value="1.762" />
<nuclide name="H1" wo="0.0292856" />
<nuclide name="O16" wo="0.2323919" />
<nuclide name="B10" wo="9.44159e-05" />
<nuclide name="B11" wo="0.00043012" />
<nuclide name="Zr90" wo="0.3741373658" />
<nuclide name="Zr91" wo="0.0824858164" />
<nuclide name="Zr92" wo="0.1274914944" />
<nuclide name="Zr94" wo="0.1319920622" />
<nuclide name="Zr96" wo="0.0216912612" />
<sab name="c_H_in_H2O" />
<material id="2">
<density units="g/cm3" value="1.0" />
<nuclide ao="1.0" name="Zr90" />
</material>
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>
</space>
</source>
<particles>1000</particles>
<batches>5</batches>
<inactive>0</inactive>
</settings>
<?xml version='1.0' encoding='utf-8'?>
<tallies>

View file

@ -1,310 +1,310 @@
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.762544 0.085298
2 1 2 1 1 total 0.644837 0.088457
1 2 1 1 1 total 0.653375 0.153317
3 2 2 1 1 total 0.676480 0.094215
0 1 1 1 1 total 0.105390 0.006421
2 1 2 1 1 total 0.105466 0.003175
1 2 1 1 1 total 0.106221 0.004040
3 2 2 1 1 total 0.102641 0.002129
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.473988 0.088732
2 1 2 1 1 total 0.399254 0.091318
1 2 1 1 1 total 0.379821 0.167092
3 2 2 1 1 total 0.424265 0.099551
0 1 1 1 1 total 0.078603 0.006888
2 1 2 1 1 total 0.075950 0.003755
1 2 1 1 1 total 0.074519 0.004589
3 2 2 1 1 total 0.072616 0.002838
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.473988 0.088732
2 1 2 1 1 total 0.399254 0.091318
1 2 1 1 1 total 0.379821 0.167092
3 2 2 1 1 total 0.424265 0.099551
0 1 1 1 1 total 0.078605 0.006892
2 1 2 1 1 total 0.075989 0.003746
1 2 1 1 1 total 0.074571 0.004600
3 2 2 1 1 total 0.072586 0.002824
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.027288 0.005813
2 1 2 1 1 total 0.020262 0.003701
1 2 1 1 1 total 0.019449 0.004420
3 2 2 1 1 total 0.021266 0.002869
0 1 1 1 1 total 0.013600 0.000926
2 1 2 1 1 total 0.013584 0.000551
1 2 1 1 1 total 0.013692 0.000712
3 2 2 1 1 total 0.013022 0.000430
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.016037 0.006339
2 1 2 1 1 total 0.013018 0.003521
1 2 1 1 1 total 0.012153 0.003804
3 2 2 1 1 total 0.012965 0.002454
0 1 1 1 1 total 0.001333 0.001105
2 1 2 1 1 total 0.001339 0.000693
1 2 1 1 1 total 0.001330 0.000885
3 2 2 1 1 total 0.001260 0.000534
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.011251 0.003050
2 1 2 1 1 total 0.007243 0.001219
1 2 1 1 1 total 0.007296 0.001795
3 2 2 1 1 total 0.008301 0.001066
0 1 1 1 1 total 0.012266 0.000830
2 1 2 1 1 total 0.012244 0.000486
1 2 1 1 1 total 0.012361 0.000650
3 2 2 1 1 total 0.011762 0.000376
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.027498 0.007445
2 1 2 1 1 total 0.017954 0.003077
1 2 1 1 1 total 0.017912 0.004426
3 2 2 1 1 total 0.020469 0.002617
0 1 1 1 1 total 0.032001 0.002161
2 1 2 1 1 total 0.031882 0.001271
1 2 1 1 1 total 0.032193 0.001701
3 2 2 1 1 total 0.030726 0.001000
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 2.177345e+06 589804.301157
2 1 2 1 1 total 1.404096e+06 236476.852674
1 2 1 1 1 total 1.413154e+06 347806.623478
3 2 2 1 1 total 1.608259e+06 206502.707123
0 1 1 1 1 total 2.372379e+06 160440.303797
2 1 2 1 1 total 2.368109e+06 93914.371991
1 2 1 1 1 total 2.390701e+06 125743.883417
3 2 2 1 1 total 2.274785e+06 72785.094827
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.735256 0.080216
2 1 2 1 1 total 0.624575 0.084974
1 2 1 1 1 total 0.633925 0.149098
3 2 2 1 1 total 0.655214 0.091422
0 1 1 1 1 total 0.091790 0.005503
2 1 2 1 1 total 0.091883 0.002653
1 2 1 1 1 total 0.092530 0.003354
3 2 2 1 1 total 0.089619 0.001721
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.763779 0.070696
2 1 2 1 1 total 0.628158 0.064356
1 2 1 1 1 total 0.640809 0.158369
3 2 2 1 1 total 0.645171 0.080467
0 1 1 1 1 total 0.087817 0.005624
2 1 2 1 1 total 0.090790 0.005246
1 2 1 1 1 total 0.093736 0.005609
3 2 2 1 1 total 0.092035 0.003633
mesh 1 group in group out legendre nuclide mean std. dev.
x y z
0 1 1 1 1 1 P0 total 0.763779 0.070696
1 1 1 1 1 1 P1 total 0.288556 0.024446
2 1 1 1 1 1 P2 total 0.082441 0.011443
3 1 1 1 1 1 P3 total -0.005627 0.012638
8 1 2 1 1 1 P0 total 0.628158 0.064356
9 1 2 1 1 1 P1 total 0.245583 0.022676
10 1 2 1 1 1 P2 total 0.086370 0.007833
11 1 2 1 1 1 P3 total 0.019590 0.005345
4 2 1 1 1 1 P0 total 0.640809 0.158369
5 2 1 1 1 1 P1 total 0.273553 0.066437
6 2 1 1 1 1 P2 total 0.108446 0.024435
7 2 1 1 1 1 P3 total 0.012229 0.003785
12 2 2 1 1 1 P0 total 0.645171 0.080467
13 2 2 1 1 1 P1 total 0.252215 0.032154
14 2 2 1 1 1 P2 total 0.089251 0.009734
15 2 2 1 1 1 P3 total 0.004748 0.002987
0 1 1 1 1 1 P0 total 0.087684 0.005584
1 1 1 1 1 1 P1 total 0.026787 0.002493
2 1 1 1 1 1 P2 total 0.014937 0.001035
3 1 1 1 1 1 P3 total 0.007893 0.001109
8 1 2 1 1 1 P0 total 0.090687 0.005242
9 1 2 1 1 1 P1 total 0.029516 0.002004
10 1 2 1 1 1 P2 total 0.016952 0.001093
11 1 2 1 1 1 P3 total 0.008019 0.001095
4 2 1 1 1 1 P0 total 0.093670 0.005616
5 2 1 1 1 1 P1 total 0.031703 0.002177
6 2 1 1 1 1 P2 total 0.017922 0.001352
7 2 1 1 1 1 P3 total 0.011171 0.001055
12 2 2 1 1 1 P0 total 0.091808 0.003617
13 2 2 1 1 1 P1 total 0.030025 0.001876
14 2 2 1 1 1 P2 total 0.015181 0.002277
15 2 2 1 1 1 P3 total 0.009550 0.001713
mesh 1 group in group out legendre nuclide mean std. dev.
x y z
0 1 1 1 1 1 P0 total 0.763779 0.070696
1 1 1 1 1 1 P1 total 0.288556 0.024446
2 1 1 1 1 1 P2 total 0.082441 0.011443
3 1 1 1 1 1 P3 total -0.005627 0.012638
8 1 2 1 1 1 P0 total 0.628158 0.064356
9 1 2 1 1 1 P1 total 0.245583 0.022676
10 1 2 1 1 1 P2 total 0.086370 0.007833
11 1 2 1 1 1 P3 total 0.019590 0.005345
4 2 1 1 1 1 P0 total 0.640809 0.158369
5 2 1 1 1 1 P1 total 0.273553 0.066437
6 2 1 1 1 1 P2 total 0.108446 0.024435
7 2 1 1 1 1 P3 total 0.012229 0.003785
12 2 2 1 1 1 P0 total 0.645171 0.080467
13 2 2 1 1 1 P1 total 0.252215 0.032154
14 2 2 1 1 1 P2 total 0.089251 0.009734
15 2 2 1 1 1 P3 total 0.004748 0.002987
mesh 1 group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 1.0 0.108337
2 1 2 1 1 1 total 1.0 0.113128
1 2 1 1 1 1 total 1.0 0.238517
3 2 2 1 1 1 total 1.0 0.132597
0 1 1 1 1 1 P0 total 0.087817 0.005624
1 1 1 1 1 1 P1 total 0.026785 0.002504
2 1 1 1 1 1 P2 total 0.014973 0.001041
3 1 1 1 1 1 P3 total 0.007913 0.001144
8 1 2 1 1 1 P0 total 0.090790 0.005246
9 1 2 1 1 1 P1 total 0.029477 0.001987
10 1 2 1 1 1 P2 total 0.016940 0.001094
11 1 2 1 1 1 P3 total 0.008033 0.001104
4 2 1 1 1 1 P0 total 0.093736 0.005609
5 2 1 1 1 1 P1 total 0.031651 0.002201
6 2 1 1 1 1 P2 total 0.017953 0.001364
7 2 1 1 1 1 P3 total 0.011158 0.001044
12 2 2 1 1 1 P0 total 0.092035 0.003633
13 2 2 1 1 1 P1 total 0.030055 0.001856
14 2 2 1 1 1 P2 total 0.015245 0.002274
15 2 2 1 1 1 P3 total 0.009534 0.001700
mesh 1 group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.015584 0.003404
2 1 2 1 1 1 total 0.017684 0.002499
1 2 1 1 1 1 total 0.014200 0.003676
3 2 2 1 1 1 total 0.022409 0.002481
0 1 1 1 1 1 total 1.001515 0.075311
2 1 2 1 1 1 total 1.001135 0.061671
1 2 1 1 1 1 total 1.000704 0.055977
3 2 2 1 1 1 total 1.002471 0.042246
mesh 1 group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.031246 0.001839
2 1 2 1 1 1 total 0.032452 0.002365
1 2 1 1 1 1 total 0.032568 0.002068
3 2 2 1 1 1 total 0.031529 0.001639
mesh 1 group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 1.0 0.108337
2 1 2 1 1 1 total 1.0 0.113128
1 2 1 1 1 1 total 1.0 0.238517
3 2 2 1 1 1 total 1.0 0.132597
0 1 1 1 1 1 total 1.0 0.074891
2 1 2 1 1 1 total 1.0 0.061618
1 2 1 1 1 1 total 1.0 0.056068
3 2 2 1 1 1 total 1.0 0.042067
mesh 1 group in group out legendre nuclide mean std. dev.
x y z
0 1 1 1 1 1 P0 total 0.735256 0.113047
1 1 1 1 1 1 P1 total 0.277780 0.041434
2 1 1 1 1 1 P2 total 0.079362 0.014706
3 1 1 1 1 1 P3 total -0.005417 0.012184
8 1 2 1 1 1 P0 total 0.624575 0.110512
9 1 2 1 1 1 P1 total 0.244182 0.041824
10 1 2 1 1 1 P2 total 0.085877 0.014634
11 1 2 1 1 1 P3 total 0.019478 0.006012
4 2 1 1 1 1 P0 total 0.633925 0.212349
5 2 1 1 1 1 P1 total 0.270615 0.089799
6 2 1 1 1 1 P2 total 0.107281 0.034246
7 2 1 1 1 1 P3 total 0.012098 0.004637
12 2 2 1 1 1 P0 total 0.655214 0.126119
13 2 2 1 1 1 P1 total 0.256141 0.049765
14 2 2 1 1 1 P2 total 0.090641 0.016563
15 2 2 1 1 1 P3 total 0.004822 0.003115
0 1 1 1 1 1 P0 total 0.091790 0.008806
1 1 1 1 1 1 P1 total 0.028042 0.003295
2 1 1 1 1 1 P2 total 0.015636 0.001560
3 1 1 1 1 1 P3 total 0.008263 0.001304
8 1 2 1 1 1 P0 total 0.091883 0.006252
9 1 2 1 1 1 P1 total 0.029905 0.002297
10 1 2 1 1 1 P2 total 0.017175 0.001268
11 1 2 1 1 1 P3 total 0.008124 0.001147
4 2 1 1 1 1 P0 total 0.092530 0.006177
5 2 1 1 1 1 P1 total 0.031317 0.002339
6 2 1 1 1 1 P2 total 0.017704 0.001433
7 2 1 1 1 1 P3 total 0.011035 0.001092
12 2 2 1 1 1 P0 total 0.089619 0.004144
13 2 2 1 1 1 P1 total 0.029309 0.001964
14 2 2 1 1 1 P2 total 0.014820 0.002251
15 2 2 1 1 1 P3 total 0.009322 0.001687
mesh 1 group in group out legendre nuclide mean std. dev.
x y z
0 1 1 1 1 1 P0 total 0.735256 0.138292
1 1 1 1 1 1 P1 total 0.277780 0.051210
2 1 1 1 1 1 P2 total 0.079362 0.017035
3 1 1 1 1 1 P3 total -0.005417 0.012198
8 1 2 1 1 1 P0 total 0.624575 0.131169
9 1 2 1 1 1 P1 total 0.244182 0.050123
10 1 2 1 1 1 P2 total 0.085877 0.017565
11 1 2 1 1 1 P3 total 0.019478 0.006403
4 2 1 1 1 1 P0 total 0.633925 0.260681
5 2 1 1 1 1 P1 total 0.270615 0.110590
6 2 1 1 1 1 P2 total 0.107281 0.042750
7 2 1 1 1 1 P3 total 0.012098 0.005462
12 2 2 1 1 1 P0 total 0.655214 0.153147
13 2 2 1 1 1 P1 total 0.256141 0.060250
14 2 2 1 1 1 P2 total 0.090641 0.020464
15 2 2 1 1 1 P3 total 0.004822 0.003180
0 1 1 1 1 1 P0 total 0.091929 0.011205
1 1 1 1 1 1 P1 total 0.028084 0.003918
2 1 1 1 1 1 P2 total 0.015660 0.001956
3 1 1 1 1 1 P3 total 0.008276 0.001447
8 1 2 1 1 1 P0 total 0.091987 0.008443
9 1 2 1 1 1 P1 total 0.029939 0.002948
10 1 2 1 1 1 P2 total 0.017195 0.001653
11 1 2 1 1 1 P3 total 0.008134 0.001253
4 2 1 1 1 1 P0 total 0.092595 0.008065
5 2 1 1 1 1 P1 total 0.031339 0.002924
6 2 1 1 1 1 P2 total 0.017716 0.001743
7 2 1 1 1 1 P3 total 0.011042 0.001255
12 2 2 1 1 1 P0 total 0.089840 0.005621
13 2 2 1 1 1 P1 total 0.029381 0.002326
14 2 2 1 1 1 P2 total 0.014856 0.002342
15 2 2 1 1 1 P3 total 0.009345 0.001737
mesh 1 group out nuclide mean std. dev.
x y z
0 1 1 1 1 total 1.0 0.300047
2 1 2 1 1 total 1.0 0.178169
1 2 1 1 1 total 1.0 0.262180
3 2 2 1 1 total 1.0 0.104797
0 1 1 1 1 total 1.0 0.066520
2 1 2 1 1 total 1.0 0.087934
1 2 1 1 1 total 1.0 0.063390
3 2 2 1 1 total 1.0 0.063791
mesh 1 group out nuclide mean std. dev.
x y z
0 1 1 1 1 total 1.0 0.300047
2 1 2 1 1 total 1.0 0.178169
1 2 1 1 1 total 1.0 0.262180
3 2 2 1 1 total 1.0 0.108931
0 1 1 1 1 total 1.0 0.068463
2 1 2 1 1 total 1.0 0.091776
1 2 1 1 1 total 1.0 0.064705
3 2 2 1 1 total 1.0 0.063003
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 7.097008e-07 1.458546e-07
2 1 2 1 1 total 4.407745e-07 7.903907e-08
1 2 1 1 1 total 3.984535e-07 1.157576e-07
3 2 2 1 1 total 4.750476e-07 6.207437e-08
0 1 1 1 1 total 8.735713e-10 4.530341e-11
2 1 2 1 1 total 8.821319e-10 3.206094e-11
1 2 1 1 1 total 8.699208e-10 2.515246e-11
3 2 2 1 1 total 8.738762e-10 1.734562e-11
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.027311 0.007397
2 1 2 1 1 total 0.017820 0.003054
1 2 1 1 1 total 0.017783 0.004394
3 2 2 1 1 total 0.020320 0.002598
0 1 1 1 1 total 0.031799 0.002147
2 1 2 1 1 total 0.031680 0.001263
1 2 1 1 1 total 0.031989 0.001691
3 2 2 1 1 total 0.030533 0.000994
mesh 1 group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.015584 0.003404
2 1 2 1 1 1 total 0.017684 0.002499
1 2 1 1 1 1 total 0.014200 0.003676
3 2 2 1 1 1 total 0.022259 0.002508
0 1 1 1 1 1 total 0.031056 0.001862
2 1 2 1 1 1 total 0.032188 0.002420
1 2 1 1 1 1 total 0.032304 0.002073
3 2 2 1 1 1 total 0.031336 0.001614
mesh 1 delayedgroup group in nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.000006 1.689606e-06
1 1 1 1 2 1 total 0.000033 8.718916e-06
2 1 1 1 3 1 total 0.000032 8.323051e-06
3 1 1 1 4 1 total 0.000072 1.866015e-05
4 1 1 1 5 1 total 0.000031 7.654909e-06
5 1 1 1 6 1 total 0.000013 3.206343e-06
12 1 2 1 1 1 total 0.000004 6.723192e-07
13 1 2 1 2 1 total 0.000022 3.706235e-06
14 1 2 1 3 1 total 0.000022 3.674263e-06
15 1 2 1 4 1 total 0.000052 8.774048e-06
16 1 2 1 5 1 total 0.000024 4.168024e-06
17 1 2 1 6 1 total 0.000010 1.726268e-06
6 2 1 1 1 1 total 0.000004 1.003100e-06
7 2 1 1 2 1 total 0.000022 5.425275e-06
8 2 1 1 3 1 total 0.000021 5.324236e-06
9 2 1 1 4 1 total 0.000050 1.251572e-05
10 2 1 1 5 1 total 0.000022 5.762184e-06
11 2 1 1 6 1 total 0.000009 2.391676e-06
18 2 2 1 1 1 total 0.000005 5.962367e-07
19 2 2 1 2 1 total 0.000025 3.200900e-06
20 2 2 1 3 1 total 0.000025 3.127442e-06
21 2 2 1 4 1 total 0.000058 7.296157e-06
22 2 2 1 5 1 total 0.000026 3.298196e-06
23 2 2 1 6 1 total 0.000011 1.370918e-06
0 1 1 1 1 1 total 0.000007 4.734745e-07
1 1 1 1 2 1 total 0.000036 2.443930e-06
2 1 1 1 3 1 total 0.000035 2.333188e-06
3 1 1 1 4 1 total 0.000078 5.231199e-06
4 1 1 1 5 1 total 0.000032 2.144718e-06
5 1 1 1 6 1 total 0.000013 8.984148e-07
12 1 2 1 1 1 total 0.000007 2.770884e-07
13 1 2 1 2 1 total 0.000036 1.430245e-06
14 1 2 1 3 1 total 0.000035 1.365436e-06
15 1 2 1 4 1 total 0.000078 3.061421e-06
16 1 2 1 5 1 total 0.000032 1.255139e-06
17 1 2 1 6 1 total 0.000013 5.257735e-07
6 2 1 1 1 1 total 0.000007 3.731284e-07
7 2 1 1 2 1 total 0.000037 1.925974e-06
8 2 1 1 3 1 total 0.000035 1.838702e-06
9 2 1 1 4 1 total 0.000079 4.122522e-06
10 2 1 1 5 1 total 0.000032 1.690176e-06
11 2 1 1 6 1 total 0.000014 7.080087e-07
18 2 2 1 1 1 total 0.000007 2.050310e-07
19 2 2 1 2 1 total 0.000035 1.058307e-06
20 2 2 1 3 1 total 0.000033 1.010352e-06
21 2 2 1 4 1 total 0.000075 2.265292e-06
22 2 2 1 5 1 total 0.000031 9.287379e-07
23 2 2 1 6 1 total 0.000013 3.890451e-07
mesh 1 delayedgroup group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.0 0.000000
1 1 1 1 2 1 total 0.0 0.000000
2 1 1 1 3 1 total 0.0 0.000000
3 1 1 1 4 1 total 0.0 0.000000
4 1 1 1 5 1 total 0.0 0.000000
1 1 1 1 2 1 total 1.0 1.414214
2 1 1 1 3 1 total 1.0 0.868831
3 1 1 1 4 1 total 1.0 1.414214
4 1 1 1 5 1 total 1.0 1.414214
5 1 1 1 6 1 total 0.0 0.000000
12 1 2 1 1 1 total 0.0 0.000000
13 1 2 1 2 1 total 0.0 0.000000
13 1 2 1 2 1 total 1.0 0.866827
14 1 2 1 3 1 total 0.0 0.000000
15 1 2 1 4 1 total 0.0 0.000000
16 1 2 1 5 1 total 0.0 0.000000
15 1 2 1 4 1 total 1.0 0.455171
16 1 2 1 5 1 total 1.0 0.868553
17 1 2 1 6 1 total 0.0 0.000000
6 2 1 1 1 1 total 0.0 0.000000
7 2 1 1 2 1 total 0.0 0.000000
8 2 1 1 3 1 total 0.0 0.000000
9 2 1 1 4 1 total 0.0 0.000000
10 2 1 1 5 1 total 0.0 0.000000
11 2 1 1 6 1 total 0.0 0.000000
18 2 2 1 1 1 total 0.0 0.000000
19 2 2 1 2 1 total 0.0 0.000000
7 2 1 1 2 1 total 1.0 1.414214
8 2 1 1 3 1 total 1.0 1.414214
9 2 1 1 4 1 total 1.0 0.674843
10 2 1 1 5 1 total 1.0 1.414214
11 2 1 1 6 1 total 1.0 0.866033
18 2 2 1 1 1 total 1.0 1.414214
19 2 2 1 2 1 total 1.0 1.414214
20 2 2 1 3 1 total 1.0 1.414214
21 2 2 1 4 1 total 0.0 0.000000
21 2 2 1 4 1 total 1.0 0.579059
22 2 2 1 5 1 total 0.0 0.000000
23 2 2 1 6 1 total 0.0 0.000000
23 2 2 1 6 1 total 1.0 1.414214
mesh 1 delayedgroup group in nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.000228 0.000084
1 1 1 1 2 1 total 0.001195 0.000438
2 1 1 1 3 1 total 0.001153 0.000420
3 1 1 1 4 1 total 0.002629 0.000950
4 1 1 1 5 1 total 0.001125 0.000398
5 1 1 1 6 1 total 0.000470 0.000166
12 1 2 1 1 1 total 0.000225 0.000044
13 1 2 1 2 1 total 0.001232 0.000242
14 1 2 1 3 1 total 0.001216 0.000239
15 1 2 1 4 1 total 0.002882 0.000570
16 1 2 1 5 1 total 0.001345 0.000270
17 1 2 1 6 1 total 0.000558 0.000112
6 2 1 1 1 1 total 0.000228 0.000057
7 2 1 1 2 1 total 0.001222 0.000309
8 2 1 1 3 1 total 0.001193 0.000304
9 2 1 1 4 1 total 0.002780 0.000713
10 2 1 1 5 1 total 0.001250 0.000328
11 2 1 1 6 1 total 0.000520 0.000136
18 2 2 1 1 1 total 0.000227 0.000027
19 2 2 1 2 1 total 0.001225 0.000143
20 2 2 1 3 1 total 0.001201 0.000140
21 2 2 1 4 1 total 0.002815 0.000326
22 2 2 1 5 1 total 0.001284 0.000147
23 2 2 1 6 1 total 0.000533 0.000061
0 1 1 1 1 1 total 0.000221 0.000019
1 1 1 1 2 1 total 0.001139 0.000096
2 1 1 1 3 1 total 0.001087 0.000092
3 1 1 1 4 1 total 0.002437 0.000206
4 1 1 1 5 1 total 0.000999 0.000084
5 1 1 1 6 1 total 0.000419 0.000035
12 1 2 1 1 1 total 0.000222 0.000012
13 1 2 1 2 1 total 0.001144 0.000060
14 1 2 1 3 1 total 0.001092 0.000057
15 1 2 1 4 1 total 0.002448 0.000129
16 1 2 1 5 1 total 0.001004 0.000053
17 1 2 1 6 1 total 0.000420 0.000022
6 2 1 1 1 1 total 0.000221 0.000015
7 2 1 1 2 1 total 0.001143 0.000078
8 2 1 1 3 1 total 0.001091 0.000075
9 2 1 1 4 1 total 0.002446 0.000167
10 2 1 1 5 1 total 0.001003 0.000069
11 2 1 1 6 1 total 0.000420 0.000029
18 2 2 1 1 1 total 0.000220 0.000009
19 2 2 1 2 1 total 0.001136 0.000047
20 2 2 1 3 1 total 0.001084 0.000045
21 2 2 1 4 1 total 0.002431 0.000100
22 2 2 1 5 1 total 0.000997 0.000041
23 2 2 1 6 1 total 0.000417 0.000017
mesh 1 delayedgroup group in nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.013345 0.004923
1 1 1 1 2 1 total 0.032674 0.011850
2 1 1 1 3 1 total 0.120923 0.043307
3 1 1 1 4 1 total 0.304289 0.106753
4 1 1 1 5 1 total 0.855760 0.286466
5 1 1 1 6 1 total 2.874120 0.965609
12 1 2 1 1 1 total 0.013367 0.002548
13 1 2 1 2 1 total 0.032520 0.006266
14 1 2 1 3 1 total 0.121250 0.023544
15 1 2 1 4 1 total 0.307552 0.060464
16 1 2 1 5 1 total 0.867665 0.175131
17 1 2 1 6 1 total 2.914635 0.587161
6 2 1 1 1 1 total 0.013357 0.003345
7 2 1 1 2 1 total 0.032590 0.008273
8 2 1 1 3 1 total 0.121103 0.031074
9 2 1 1 4 1 total 0.306111 0.080011
10 2 1 1 5 1 total 0.862660 0.235694
11 2 1 1 6 1 total 2.897534 0.788926
18 2 2 1 1 1 total 0.013360 0.001587
19 2 2 1 2 1 total 0.032564 0.003810
20 2 2 1 3 1 total 0.121158 0.014038
21 2 2 1 4 1 total 0.306653 0.035052
22 2 2 1 5 1 total 0.864587 0.096680
23 2 2 1 6 1 total 2.904111 0.325170
mesh 1 delayedgroup group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 1 total 0.00000 0.000000
1 1 1 1 2 1 1 total 0.00000 0.000000
2 1 1 1 3 1 1 total 0.00000 0.000000
3 1 1 1 4 1 1 total 0.00000 0.000000
4 1 1 1 5 1 1 total 0.00000 0.000000
5 1 1 1 6 1 1 total 0.00000 0.000000
12 1 2 1 1 1 1 total 0.00000 0.000000
13 1 2 1 2 1 1 total 0.00000 0.000000
14 1 2 1 3 1 1 total 0.00000 0.000000
15 1 2 1 4 1 1 total 0.00000 0.000000
16 1 2 1 5 1 1 total 0.00000 0.000000
17 1 2 1 6 1 1 total 0.00000 0.000000
6 2 1 1 1 1 1 total 0.00000 0.000000
7 2 1 1 2 1 1 total 0.00000 0.000000
8 2 1 1 3 1 1 total 0.00000 0.000000
9 2 1 1 4 1 1 total 0.00000 0.000000
10 2 1 1 5 1 1 total 0.00000 0.000000
11 2 1 1 6 1 1 total 0.00000 0.000000
18 2 2 1 1 1 1 total 0.00000 0.000000
19 2 2 1 2 1 1 total 0.00000 0.000000
20 2 2 1 3 1 1 total 0.00015 0.000151
21 2 2 1 4 1 1 total 0.00000 0.000000
22 2 2 1 5 1 1 total 0.00000 0.000000
23 2 2 1 6 1 1 total 0.00000 0.000000
0 1 1 1 1 1 total 0.013336 0.001120
1 1 1 1 2 1 total 0.032739 0.002751
2 1 1 1 3 1 total 0.120780 0.010147
3 1 1 1 4 1 total 0.302780 0.025438
4 1 1 1 5 1 total 0.849490 0.071370
5 1 1 1 6 1 total 2.853000 0.239696
12 1 2 1 1 1 total 0.013336 0.000695
13 1 2 1 2 1 total 0.032739 0.001707
14 1 2 1 3 1 total 0.120780 0.006296
15 1 2 1 4 1 total 0.302780 0.015784
16 1 2 1 5 1 total 0.849490 0.044285
17 1 2 1 6 1 total 2.853000 0.148730
6 2 1 1 1 1 total 0.013336 0.000906
7 2 1 1 2 1 total 0.032739 0.002224
8 2 1 1 3 1 total 0.120780 0.008205
9 2 1 1 4 1 total 0.302780 0.020570
10 2 1 1 5 1 total 0.849490 0.057711
11 2 1 1 6 1 total 2.853000 0.193821
18 2 2 1 1 1 total 0.013336 0.000528
19 2 2 1 2 1 total 0.032739 0.001296
20 2 2 1 3 1 total 0.120780 0.004781
21 2 2 1 4 1 total 0.302780 0.011986
22 2 2 1 5 1 total 0.849490 0.033628
23 2 2 1 6 1 total 2.853000 0.112940
mesh 1 delayedgroup group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 1 total 0.000000 0.000000
1 1 1 1 2 1 1 total 0.000055 0.000055
2 1 1 1 3 1 1 total 0.000055 0.000034
3 1 1 1 4 1 1 total 0.000052 0.000052
4 1 1 1 5 1 1 total 0.000029 0.000029
5 1 1 1 6 1 1 total 0.000000 0.000000
12 1 2 1 1 1 1 total 0.000000 0.000000
13 1 2 1 2 1 1 total 0.000058 0.000036
14 1 2 1 3 1 1 total 0.000000 0.000000
15 1 2 1 4 1 1 total 0.000149 0.000048
16 1 2 1 5 1 1 total 0.000057 0.000035
17 1 2 1 6 1 1 total 0.000000 0.000000
6 2 1 1 1 1 1 total 0.000000 0.000000
7 2 1 1 2 1 1 total 0.000027 0.000027
8 2 1 1 3 1 1 total 0.000026 0.000026
9 2 1 1 4 1 1 total 0.000105 0.000051
10 2 1 1 5 1 1 total 0.000054 0.000054
11 2 1 1 6 1 1 total 0.000051 0.000031
18 2 2 1 1 1 1 total 0.000028 0.000028
19 2 2 1 2 1 1 total 0.000025 0.000025
20 2 2 1 3 1 1 total 0.000032 0.000032
21 2 2 1 4 1 1 total 0.000080 0.000033
22 2 2 1 5 1 1 total 0.000000 0.000000
23 2 2 1 6 1 1 total 0.000027 0.000027

View file

@ -2,42 +2,67 @@ import hashlib
import openmc
import openmc.mgxs
import pytest
from tests.testing_harness import PyAPITestHarness
@pytest.fixture
def model():
model = openmc.model.Model()
fuel = openmc.Material()
fuel.set_density('g/cm3', 10.0)
fuel.add_nuclide('U235', 1.0)
zr = openmc.Material()
zr.set_density('g/cm3', 1.0)
zr.add_nuclide('Zr90', 1.0)
model.materials.extend([fuel, zr])
box1 = openmc.model.rectangular_prism(10.0, 10.0)
box2 = openmc.model.rectangular_prism(20.0, 20.0, boundary_type='reflective')
top = openmc.ZPlane(z0=10.0, boundary_type='vacuum')
bottom = openmc.ZPlane(z0=-10.0, boundary_type='vacuum')
cell1 = openmc.Cell(fill=fuel, region=box1 & +bottom & -top)
cell2 = openmc.Cell(fill=zr, region=~box1 & box2 & +bottom & -top)
model.geometry = openmc.Geometry([cell1, cell2])
model.settings.batches = 5
model.settings.inactive = 0
model.settings.particles = 1000
# Initialize a one-group structure
energy_groups = openmc.mgxs.EnergyGroups([0, 20.e6])
# Initialize MGXS Library for a few cross section types
# for one material-filled cell in the geometry
model.mgxs_lib = openmc.mgxs.Library(model.geometry)
model.mgxs_lib.by_nuclide = False
# Test all MGXS types
model.mgxs_lib.mgxs_types = openmc.mgxs.MGXS_TYPES + openmc.mgxs.MDGXS_TYPES
model.mgxs_lib.energy_groups = energy_groups
model.mgxs_lib.num_delayed_groups = 6
model.mgxs_lib.correction = None # Avoid warning about P0 correction
model.mgxs_lib.legendre_order = 3
model.mgxs_lib.domain_type = 'mesh'
# Instantiate a tally mesh
mesh = openmc.RegularMesh(mesh_id=1)
mesh.dimension = [2, 2]
mesh.lower_left = [-100., -100.]
mesh.width = [100., 100.]
model.mgxs_lib.domains = [mesh]
model.mgxs_lib.build_library()
# Add tallies
model.mgxs_lib.add_to_tallies_file(model.tallies, merge=False)
return model
class MGXSTestHarness(PyAPITestHarness):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Initialize a one-group structure
energy_groups = openmc.mgxs.EnergyGroups(group_edges=[0, 20.e6])
# Initialize MGXS Library for a few cross section types
# for one material-filled cell in the geometry
self.mgxs_lib = openmc.mgxs.Library(self._model.geometry)
self.mgxs_lib.by_nuclide = False
# Test all MGXS types
self.mgxs_lib.mgxs_types = openmc.mgxs.MGXS_TYPES + \
openmc.mgxs.MDGXS_TYPES
self.mgxs_lib.energy_groups = energy_groups
self.mgxs_lib.num_delayed_groups = 6
self.mgxs_lib.legendre_order = 3
self.mgxs_lib.domain_type = 'mesh'
# Instantiate a tally mesh
mesh = openmc.RegularMesh(mesh_id=1)
mesh.dimension = [2, 2]
mesh.lower_left = [-100., -100.]
mesh.width = [100., 100.]
self.mgxs_lib.domains = [mesh]
self.mgxs_lib.build_library()
# Add tallies
self.mgxs_lib.add_to_tallies_file(self._model.tallies, merge=False)
def _get_results(self, hash_output=False):
"""Digest info in the statepoint and return as a string."""
@ -45,13 +70,14 @@ class MGXSTestHarness(PyAPITestHarness):
sp = openmc.StatePoint(self._sp_name)
# Load the MGXS library from the statepoint
self.mgxs_lib.load_from_statepoint(sp)
mgxs_lib = self._model.mgxs_lib
mgxs_lib.load_from_statepoint(sp)
# Build a string from Pandas Dataframe for each 1-group MGXS
outstr = ''
for domain in self.mgxs_lib.domains:
for mgxs_type in self.mgxs_lib.mgxs_types:
mgxs = self.mgxs_lib.get_mgxs(domain, mgxs_type)
for domain in mgxs_lib.domains:
for mgxs_type in mgxs_lib.mgxs_types:
mgxs = mgxs_lib.get_mgxs(domain, mgxs_type)
df = mgxs.get_pandas_dataframe()
outstr += df.to_string() + '\n'
@ -64,6 +90,6 @@ class MGXSTestHarness(PyAPITestHarness):
return outstr
def test_mgxs_library_mesh():
harness = MGXSTestHarness('statepoint.10.h5')
def test_mgxs_library_mesh(model):
harness = MGXSTestHarness('statepoint.5.h5', model)
harness.main()

View file

@ -1,181 +0,0 @@
<?xml version="1.0"?>
<geometry>
<surface id="1" type="z-cylinder" coeffs="0. 0. 0.41" />
<surface id="2" type="z-cylinder" coeffs="0. 0. 0.475" />
<surface id="3" type="z-cylinder" coeffs="0. 0. 0.56" />
<surface id="4" type="z-cylinder" coeffs="0. 0. 0.62" />
<surface id="5" type="z-cylinder" coeffs="0. 0. 187.6" />
<surface id="6" type="z-cylinder" coeffs="0. 0. 209.0" />
<surface id="7" type="z-cylinder" coeffs="0. 0. 229.0" />
<surface id="8" type="z-cylinder" coeffs="0. 0. 249.0" boundary="vacuum" />
<surface id="31" type="z-plane" coeffs="-229.0" boundary="vacuum" />
<surface id="32" type="z-plane" coeffs="-199.0" />
<surface id="33" type="z-plane" coeffs="-193.0" />
<surface id="34" type="z-plane" coeffs="-183.0" />
<surface id="35" type="z-plane" coeffs="0.0" />
<surface id="36" type="z-plane" coeffs="183.0" />
<surface id="37" type="z-plane" coeffs="203.0" />
<surface id="38" type="z-plane" coeffs="215.0" />
<surface id="39" type="z-plane" coeffs="223.0" boundary="vacuum" />
<!-- All geometry on base universe -->
<cell id="1" fill="200" region=" -6 34 -35" /> <!-- Lower core -->
<cell id="2" fill="201" region=" -6 35 -36" /> <!-- Upper core -->
<cell id="3" material="8" region=" -7 31 -32" /> <!-- Lower core plate region -->
<cell id="4" material="9" region=" -5 32 -33" /> <!-- Bottom nozzle region -->
<cell id="5" material="12" region=" -5 33 -34" /> <!-- Bottom FA region -->
<cell id="6" material="11" region=" -5 36 -37" /> <!-- Top FA region -->
<cell id="7" material="10" region=" -5 37 -38" /> <!-- Top nozzle region -->
<cell id="8" material="7" region=" -7 38 -39" /> <!-- Upper plate region -->
<cell id="9" material="4" region="6 -7 32 -38" /> <!-- Downcomer -->
<cell id="10" material="5" region="7 -8 31 -39" /> <!-- RPV -->
<cell id="11" material="6" region="5 -6 32 -34" /> <!-- Bottom of radial reflector -->
<cell id="12" material="7" region="5 -6 36 -38" /> <!-- Top of radial reflector -->
<!-- Fuel pin, cladding, cold water -->
<cell id="21" universe="1" material="1" region="-1" />
<cell id="22" universe="1" material="2" region="1 -2" />
<cell id="23" universe="1" material="3" region="2" />
<!-- Instrumentation guide tube -->
<cell id="24" universe="2" material="3" region="-3" />
<cell id="25" universe="2" material="2" region="3 -4" />
<cell id="26" universe="2" material="3" region="4" />
<!-- Fuel pin, cladding, hot water -->
<cell id="27" universe="3" material="1" region="-1" />
<cell id="28" universe="3" material="2" region="1 -2" />
<cell id="29" universe="3" material="4" region="2" />
<!-- Instrumentation guide tube -->
<cell id="30" universe="4" material="4" region="-3" />
<cell id="31" universe="4" material="2" region="3 -4" />
<cell id="32" universe="4" material="4" region="4" />
<!-- cell for water assembly (cold) -->
<cell id="50" universe="5" material="4" region="34 -35" />
<!-- containing cell for fuel assembly -->
<cell id="60" universe="6" fill="100" region="34 -35" />
<!-- cell for water assembly (hot) -->
<cell id="70" universe="7" material="3" region="35 -36" />
<!-- containing cell for fuel assembly -->
<cell id="80" universe="8" fill="101" region="35 -36" />
<!-- Fuel Assembly (Lower Half) -->
<lattice id="100">
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<pitch>1.26 1.26</pitch>
<universes>
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
</universes>
</lattice>
<!-- Fuel Assembly (Upper Half) -->
<lattice id="101">
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<pitch>1.26 1.26</pitch>
<universes>
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
</universes>
</lattice>
<!-- Core Lattice (Lower Half) -->
<lattice id="200">
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<pitch>21.42 21.42</pitch>
<universes>
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
</universes>
</lattice>
<!-- Core Lattice (Upper Half) -->
<lattice id="201">
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<pitch>21.42 21.42</pitch>
<universes>
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
</universes>
</lattice>
</geometry>

View file

@ -0,0 +1,55 @@
<?xml version='1.0' encoding='utf-8'?>
<geometry>
<cell id="1" material="1" region="1 -2 3 -4 10 -9" universe="1" />
<cell id="2" material="2" region="~(1 -2 3 -4) (5 -6 7 -8) 10 -9" universe="1" />
<surface coeffs="-5.0" id="1" name="minimum x" type="x-plane" />
<surface coeffs="5.0" id="2" name="maximum x" type="x-plane" />
<surface coeffs="-5.0" id="3" name="minimum y" type="y-plane" />
<surface coeffs="5.0" id="4" name="maximum y" type="y-plane" />
<surface boundary="reflective" coeffs="-10.0" id="5" name="minimum x" type="x-plane" />
<surface boundary="reflective" coeffs="10.0" id="6" name="maximum x" type="x-plane" />
<surface boundary="reflective" coeffs="-10.0" id="7" name="minimum y" type="y-plane" />
<surface boundary="reflective" coeffs="10.0" id="8" name="maximum y" type="y-plane" />
<surface boundary="vacuum" coeffs="10.0" id="9" type="z-plane" />
<surface boundary="vacuum" coeffs="-10.0" id="10" type="z-plane" />
</geometry>
<?xml version='1.0' encoding='utf-8'?>
<materials>
<material depletable="true" id="1">
<density units="g/cm3" value="10.0" />
<nuclide ao="1.0" name="U235" />
</material>
<material id="2">
<density units="g/cm3" value="1.0" />
<nuclide ao="1.0" name="Zr90" />
</material>
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<run_mode>eigenvalue</run_mode>
<particles>1000</particles>
<batches>5</batches>
<inactive>0</inactive>
</settings>
<?xml version='1.0' encoding='utf-8'?>
<tallies>
<mesh id="1">
<dimension>3 3 3</dimension>
<lower_left>-10.0 -10.0 -10.0</lower_left>
<upper_right>10.0 10.0 10.0</upper_right>
</mesh>
<filter id="1" type="meshsurface">
<bins>1</bins>
</filter>
<filter id="2" type="energy">
<bins>0.0 0.253 20000000.0</bins>
</filter>
<tally id="1">
<filters>1</filters>
<scores>current</scores>
</tally>
<tally id="2">
<filters>1 2</filters>
<scores>current</scores>
</tally>
</tallies>

View file

@ -1,270 +0,0 @@
<?xml version="1.0"?>
<materials>
<!-- Fuel composition -->
<material id="1">
<density value="10.062" units="g/cm3" />
<nuclide name="U234" ao="4.9476e-6" />
<nuclide name="U235" ao="4.8218e-4" />
<nuclide name="U236" ao="9.0402e-5" />
<nuclide name="U238" ao="2.1504e-2" />
<nuclide name="Np237" ao="7.3733e-6" />
<nuclide name="Pu238" ao="1.5148e-6" />
<nuclide name="Pu239" ao="1.3955e-4" />
<nuclide name="Pu240" ao="3.4405e-5" />
<nuclide name="Pu241" ao="2.1439e-5" />
<nuclide name="Pu242" ao="3.7422e-6" />
<nuclide name="Am241" ao="4.5041e-7" />
<nuclide name="Am242_m1" ao="9.2301e-9" />
<nuclide name="Am243" ao="4.7878e-7" />
<nuclide name="Cm242" ao="1.0485e-7" />
<nuclide name="Cm243" ao="1.4268e-9" />
<nuclide name="Cm244" ao="8.8756e-8" />
<nuclide name="Cm245" ao="3.5285e-9" />
<nuclide name="Mo95" ao="2.6497e-5" />
<nuclide name="Tc99" ao="3.2772e-5" />
<nuclide name="Ru101" ao="3.0742e-5" />
<nuclide name="Ru103" ao="2.3505e-6" />
<nuclide name="Ag109" ao="2.0009e-6" />
<nuclide name="Xe135" ao="1.0801e-8" />
<nuclide name="Cs133" ao="3.4612e-5" />
<nuclide name="Nd143" ao="2.6078e-5" />
<nuclide name="Nd145" ao="1.9898e-5" />
<nuclide name="Sm147" ao="1.6128e-6" />
<nuclide name="Sm149" ao="1.1627e-7" />
<nuclide name="Sm150" ao="7.1727e-6" />
<nuclide name="Sm151" ao="5.4947e-7" />
<nuclide name="Sm152" ao="3.0221e-6" />
<nuclide name="Eu153" ao="2.6209e-6" />
<nuclide name="Gd155" ao="1.5369e-9" />
<nuclide name="O16" ao="4.5737e-2" />
</material>
<!-- Cladding composition -->
<material id="2">
<density value="5.77" units="g/cm3" />
<nuclide name="Zr90" ao="0.5145" />
<nuclide name="Zr91" ao="0.1122" />
<nuclide name="Zr92" ao="0.1715" />
<nuclide name="Zr94" ao="0.1738" />
<nuclide name="Zr96" ao="0.0280" />
</material>
<!-- Cold borated water -->
<material id="3">
<density value="0.07416" units="atom/b-cm" />
<nuclide name="H1" ao="2.0" />
<nuclide name="O16" ao="1.0" />
<nuclide name="B10" ao="6.490e-4" />
<nuclide name="B11" ao="2.689e-3" />
<sab name="c_H_in_H2O" />
</material>
<!-- Hot borated water -->
<material id="4">
<density value="0.06614" units="atom/b-cm" />
<nuclide name="H1" ao="2.0" />
<nuclide name="O16" ao="1.0" />
<nuclide name="B10" ao="6.490e-4" />
<nuclide name="B11" ao="2.689e-3" />
<sab name="c_H_in_H2O" />
</material>
<!-- RPV Composition -->
<material id="5">
<density value="7.9" units="g/cm3" />
<nuclide name="Fe54" wo="0.05437098" />
<nuclide name="Fe56" wo="0.88500663" />
<nuclide name="Fe57" wo="0.0208008" />
<nuclide name="Fe58" wo="0.00282159" />
<nuclide name="Ni58" wo="0.0067198" />
<nuclide name="Ni60" wo="0.0026776" />
<nuclide name="Ni61" wo="0.0001183" />
<nuclide name="Ni62" wo="0.0003835" />
<nuclide name="Ni64" wo="0.0001008" />
<nuclide name="Mn55" wo="0.01" />
<nuclide name="Mo92" wo="0.000849" />
<nuclide name="Mo94" wo="0.0005418" />
<nuclide name="Mo95" wo="0.0009438" />
<nuclide name="Mo96" wo="0.0010002" />
<nuclide name="Mo97" wo="0.0005796" />
<nuclide name="Mo98" wo="0.0014814" />
<nuclide name="Mo100" wo="0.0006042" />
<nuclide name="Si28" wo="0.00367464" />
<nuclide name="Si29" wo="0.00019336" />
<nuclide name="Si30" wo="0.000132" />
<nuclide name="Cr50" wo="0.00010435" />
<nuclide name="Cr52" wo="0.002092475" />
<nuclide name="Cr53" wo="0.00024185" />
<nuclide name="Cr54" wo="6.1325e-05" />
<nuclide name="C0" wo="0.0025" />
<nuclide name="Cu63" wo="0.0013696" />
<nuclide name="Cu65" wo="0.0006304" />
</material>
<!-- Lower radial reflector -->
<material id="6">
<density value="4.32" units="g/cm3" />
<nuclide name="H1" wo="0.0095661" />
<nuclide name="O16" wo="0.0759107" />
<nuclide name="B10" wo="3.08409e-5" />
<nuclide name="B11" wo="1.40499e-4" />
<nuclide name="Fe54" wo="0.035620772088" />
<nuclide name="Fe56" wo="0.579805982228" />
<nuclide name="Fe57" wo="0.01362750048" />
<nuclide name="Fe58" wo="0.001848545204" />
<nuclide name="Ni58" wo="0.055298376566" />
<nuclide name="Ni60" wo="0.022034425592" />
<nuclide name="Ni61" wo="0.000973510811" />
<nuclide name="Ni62" wo="0.003155886695" />
<nuclide name="Ni64" wo="0.000829500336" />
<nuclide name="Mn55" wo="0.0182870" />
<nuclide name="Si28" wo="0.00839976771" />
<nuclide name="Si29" wo="0.00044199679" />
<nuclide name="Si30" wo="0.0003017355" />
<nuclide name="Cr50" wo="0.007251360806" />
<nuclide name="Cr52" wo="0.145407678031" />
<nuclide name="Cr53" wo="0.016806340306" />
<nuclide name="Cr54" wo="0.004261520857" />
<sab name="c_H_in_H2O" />
</material>
<!-- Upper radial reflector / Top plate region -->
<material id="7">
<density value="4.28" units="g/cm3" />
<nuclide name="H1" wo="0.0086117" />
<nuclide name="O16" wo="0.0683369" />
<nuclide name="B10" wo="2.77638e-5" />
<nuclide name="B11" wo="1.26481e-4" />
<nuclide name="Fe54" wo="0.035953677186" />
<nuclide name="Fe56" wo="0.585224740891" />
<nuclide name="Fe57" wo="0.01375486056" />
<nuclide name="Fe58" wo="0.001865821363" />
<nuclide name="Ni58" wo="0.055815129186" />
<nuclide name="Ni60" wo="0.022240333032" />
<nuclide name="Ni61" wo="0.000982608081" />
<nuclide name="Ni62" wo="0.003185377845" />
<nuclide name="Ni64" wo="0.000837251856" />
<nuclide name="Mn55" wo="0.0184579" />
<nuclide name="Si28" wo="0.00847831314" />
<nuclide name="Si29" wo="0.00044612986" />
<nuclide name="Si30" wo="0.000304557" />
<nuclide name="Cr50" wo="0.00731912987" />
<nuclide name="Cr52" wo="0.146766614995" />
<nuclide name="Cr53" wo="0.01696340737" />
<nuclide name="Cr54" wo="0.004301347765" />
<sab name="c_H_in_H2O" />
</material>
<!-- Bottom plate region -->
<material id="8">
<density value="7.184" units="g/cm3" />
<nuclide name="H1" wo="0.0011505" />
<nuclide name="O16" wo="0.0091296" />
<nuclide name="B10" wo="3.70915e-6" />
<nuclide name="B11" wo="1.68974e-5" />
<nuclide name="Fe54" wo="0.03855611055" />
<nuclide name="Fe56" wo="0.627585036425" />
<nuclide name="Fe57" wo="0.014750478" />
<nuclide name="Fe58" wo="0.002000875025" />
<nuclide name="Ni58" wo="0.059855207342" />
<nuclide name="Ni60" wo="0.023850159704" />
<nuclide name="Ni61" wo="0.001053732407" />
<nuclide name="Ni62" wo="0.003415945715" />
<nuclide name="Ni64" wo="0.000897854832" />
<nuclide name="Mn55" wo="0.0197940" />
<nuclide name="Si28" wo="0.00909197802" />
<nuclide name="Si29" wo="0.00047842098" />
<nuclide name="Si30" wo="0.000326601" />
<nuclide name="Cr50" wo="0.007848910646" />
<nuclide name="Cr52" wo="0.157390026871" />
<nuclide name="Cr53" wo="0.018191270146" />
<nuclide name="Cr54" wo="0.004612692337" />
<sab name="c_H_in_H2O" />
</material>
<!-- Bottom nozzle region -->
<material id="9">
<density value="2.53" units="g/cm3" />
<nuclide name="H1" wo="0.0245014" />
<nuclide name="O16" wo="0.1944274" />
<nuclide name="B10" wo="7.89917e-5" />
<nuclide name="B11" wo="3.59854e-4" />
<nuclide name="Fe54" wo="0.030411411144" />
<nuclide name="Fe56" wo="0.495012237964" />
<nuclide name="Fe57" wo="0.01163454624" />
<nuclide name="Fe58" wo="0.001578204652" />
<nuclide name="Ni58" wo="0.047211231662" />
<nuclide name="Ni60" wo="0.018811987544" />
<nuclide name="Ni61" wo="0.000831139127" />
<nuclide name="Ni62" wo="0.002694352115" />
<nuclide name="Ni64" wo="0.000708189552" />
<nuclide name="Mn55" wo="0.0156126" />
<nuclide name="Si28" wo="0.007171335558" />
<nuclide name="Si29" wo="0.000377356542" />
<nuclide name="Si30" wo="0.0002576079" />
<nuclide name="Cr50" wo="0.006190885148" />
<nuclide name="Cr52" wo="0.124142524198" />
<nuclide name="Cr53" wo="0.014348496148" />
<nuclide name="Cr54" wo="0.003638294506" />
<sab name="c_H_in_H2O" />
</material>
<!-- Top nozzle region -->
<material id="10">
<density value="1.746" units="g/cm3" />
<nuclide name="H1" wo="0.0358870" />
<nuclide name="O16" wo="0.2847761" />
<nuclide name="B10" wo="1.15699e-4" />
<nuclide name="B11" wo="5.27075e-4" />
<nuclide name="Fe54" wo="0.02644016154" />
<nuclide name="Fe56" wo="0.43037146399" />
<nuclide name="Fe57" wo="0.0101152584" />
<nuclide name="Fe58" wo="0.00137211607" />
<nuclide name="Ni58" wo="0.04104621835" />
<nuclide name="Ni60" wo="0.0163554502" />
<nuclide name="Ni61" wo="0.000722605975" />
<nuclide name="Ni62" wo="0.002342513875" />
<nuclide name="Ni64" wo="0.0006157116" />
<nuclide name="Mn55" wo="0.0135739" />
<nuclide name="Si28" wo="0.006234853554" />
<nuclide name="Si29" wo="0.000328078746" />
<nuclide name="Si30" wo="0.0002239677" />
<nuclide name="Cr50" wo="0.005382452306" />
<nuclide name="Cr52" wo="0.107931450781" />
<nuclide name="Cr53" wo="0.012474806806" />
<nuclide name="Cr54" wo="0.003163190107" />
<sab name="c_H_in_H2O" />
</material>
<!-- Top of Fuel Assemblies -->
<material id="11">
<density value="3.044" units="g/cm3" />
<nuclide name="H1" wo="0.0162913" />
<nuclide name="O16" wo="0.1292776" />
<nuclide name="B10" wo="5.25228e-5" />
<nuclide name="B11" wo="2.39272e-4" />
<nuclide name="Zr90" wo="0.43313403903" />
<nuclide name="Zr91" wo="0.09549277374" />
<nuclide name="Zr92" wo="0.14759527104" />
<nuclide name="Zr94" wo="0.15280552077" />
<nuclide name="Zr96" wo="0.02511169542" />
<sab name="c_H_in_H2O" />
</material>
<!-- Bottom of Fuel Assemblies -->
<material id="12">
<density value="1.762" units="g/cm3" />
<nuclide name="H1" wo="0.0292856" />
<nuclide name="O16" wo="0.2323919" />
<nuclide name="B10" wo="9.44159e-5" />
<nuclide name="B11" wo="4.30120e-4" />
<nuclide name="Zr90" wo="0.3741373658" />
<nuclide name="Zr91" wo="0.0824858164" />
<nuclide name="Zr92" wo="0.1274914944" />
<nuclide name="Zr94" wo="0.1319920622" />
<nuclide name="Zr96" wo="0.0216912612" />
<sab name="c_H_in_H2O" />
</material>
</materials>

File diff suppressed because it is too large Load diff

View file

@ -1,18 +0,0 @@
<?xml version="1.0"?>
<settings>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
<source>
<space type="box">
<parameters>
-160 -160 -183
160 160 183
</parameters>
</space>
</source>
</settings>

View file

@ -1,31 +0,0 @@
<?xml version="1.0"?>
<tallies>
<mesh id="1">
<type>regular</type>
<lower_left>-182.07 -182.07 -183.00</lower_left>
<upper_right>182.07 182.07 183.00</upper_right>
<dimension>17 17 17</dimension>
</mesh>
<filter id="1">
<type>meshsurface</type>
<bins>1</bins>
</filter>
<filter id="2">
<type>energy</type>
<bins>0. 0.253 20.0e6</bins>
</filter>
<tally id="1">
<filters>1</filters>
<scores>current</scores>
</tally>
<tally id="2">
<filters>1 2</filters>
<scores>current</scores>
</tally>
</tallies>

View file

@ -1,6 +1,53 @@
from tests.testing_harness import HashedTestHarness
import openmc
import pytest
from tests.testing_harness import PyAPITestHarness
def test_score_current():
harness = HashedTestHarness('statepoint.10.h5')
@pytest.fixture
def model():
model = openmc.model.Model()
fuel = openmc.Material()
fuel.set_density('g/cm3', 10.0)
fuel.add_nuclide('U235', 1.0)
zr = openmc.Material()
zr.set_density('g/cm3', 1.0)
zr.add_nuclide('Zr90', 1.0)
model.materials.extend([fuel, zr])
box1 = openmc.model.rectangular_prism(10.0, 10.0)
box2 = openmc.model.rectangular_prism(20.0, 20.0, boundary_type='reflective')
top = openmc.ZPlane(z0=10.0, boundary_type='vacuum')
bottom = openmc.ZPlane(z0=-10.0, boundary_type='vacuum')
cell1 = openmc.Cell(fill=fuel, region=box1 & +bottom & -top)
cell2 = openmc.Cell(fill=zr, region=~box1 & box2 & +bottom & -top)
model.geometry = openmc.Geometry([cell1, cell2])
model.settings.batches = 5
model.settings.inactive = 0
model.settings.particles = 1000
mesh = openmc.Mesh()
mesh.lower_left = (-10.0, -10.0, -10.0)
mesh.upper_right = (10.0, 10.0, 10.0)
mesh.dimension = (3, 3, 3)
mesh_surface_filter = openmc.MeshSurfaceFilter(mesh)
energy_filter = openmc.EnergyFilter([0.0, 0.253, 20.0e6])
tally1 = openmc.Tally()
tally1.filters = [mesh_surface_filter]
tally1.scores = ['current']
tally2 = openmc.Tally()
tally2.filters = [mesh_surface_filter, energy_filter]
tally2.scores = ['current']
model.tallies.extend([tally1, tally2])
return model
def test_score_current(model):
harness = PyAPITestHarness('statepoint.5.h5', model)
harness.main()

View file

@ -1,311 +1,45 @@
<?xml version='1.0' encoding='utf-8'?>
<geometry>
<cell fill="200" id="1" region="-6 34 -35" universe="0" />
<cell fill="201" id="2" region="-6 35 -36" universe="0" />
<cell id="3" material="8" region="-7 31 -32" universe="0" />
<cell id="4" material="9" region="-5 32 -33" universe="0" />
<cell id="5" material="12" region="-5 33 -34" universe="0" />
<cell id="6" material="11" region="-5 36 -37" universe="0" />
<cell id="7" material="10" region="-5 37 -38" universe="0" />
<cell id="8" material="7" region="-7 38 -39" universe="0" />
<cell id="9" material="9" region="6 -7 32 -38" universe="0" />
<cell id="10" material="5" region="7 -8 31 -39" universe="0" />
<cell id="11" material="6" region="5 -6 32 -34" universe="0" />
<cell id="12" material="7" region="5 -6 36 -38" universe="0" />
<cell id="21" material="1" region="-1" universe="1" />
<cell id="22" material="2" region="1 -2" universe="1" />
<cell id="23" material="3" region="2" universe="1" />
<cell id="24" material="3" region="-3" universe="2" />
<cell id="25" material="2" region="3 -4" universe="2" />
<cell id="26" material="3" region="4" universe="2" />
<cell id="27" material="1" region="-1" universe="3" />
<cell id="28" material="2" region="1 -2" universe="3" />
<cell id="29" material="4" region="2" universe="3" />
<cell id="30" material="4" region="-3" universe="4" />
<cell id="31" material="2" region="3 -4" universe="4" />
<cell id="32" material="4" region="4" universe="4" />
<cell id="50" material="3" region="34 -35" universe="5" />
<cell fill="100" id="60" region="34 -35" universe="6" />
<cell id="70" material="4" region="35 -36" universe="7" />
<cell fill="101" id="80" region="35 -36" universe="8" />
<lattice id="100" name="Fuel assembly (lower half)">
<pitch>1.26 1.26</pitch>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<cell id="1" material="1" region="-1" universe="1" />
<cell id="2" material="2" region="1" universe="1" />
<cell fill="2" id="3" region="2 -3 4 -5" universe="3" />
<lattice id="2">
<pitch>1.2 1.2</pitch>
<outer>1</outer>
<dimension>2 2</dimension>
<lower_left>-1.2 -1.2</lower_left>
<universes>
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 </universes>
1 1
1 1 </universes>
</lattice>
<lattice id="101" name="Fuel assembly (upper half)">
<pitch>1.26 1.26</pitch>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<universes>
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </universes>
</lattice>
<lattice id="200" name="Core lattice (lower half)">
<pitch>21.42 21.42</pitch>
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<universes>
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 </universes>
</lattice>
<lattice id="201" name="Core lattice (lower half)">
<pitch>21.42 21.42</pitch>
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<universes>
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 </universes>
</lattice>
<surface coeffs="0.0 0.0 0.41" id="1" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.475" id="2" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.56" id="3" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.62" id="4" type="z-cylinder" />
<surface coeffs="0.0 0.0 187.6" id="5" type="z-cylinder" />
<surface coeffs="0.0 0.0 209.0" id="6" type="z-cylinder" />
<surface coeffs="0.0 0.0 229.0" id="7" type="z-cylinder" />
<surface boundary="vacuum" coeffs="0.0 0.0 249.0" id="8" type="z-cylinder" />
<surface boundary="vacuum" coeffs="-229.0" id="31" type="z-plane" />
<surface coeffs="-199.0" id="32" type="z-plane" />
<surface coeffs="-193.0" id="33" type="z-plane" />
<surface coeffs="-183.0" id="34" type="z-plane" />
<surface coeffs="0.0" id="35" type="z-plane" />
<surface coeffs="183.0" id="36" type="z-plane" />
<surface coeffs="203.0" id="37" type="z-plane" />
<surface coeffs="215.0" id="38" type="z-plane" />
<surface boundary="vacuum" coeffs="223.0" id="39" type="z-plane" />
<surface coeffs="0.0 0.0 0.4" id="1" type="z-cylinder" />
<surface boundary="reflective" coeffs="-1.2" id="2" name="minimum x" type="x-plane" />
<surface boundary="reflective" coeffs="1.2" id="3" name="maximum x" type="x-plane" />
<surface boundary="reflective" coeffs="-1.2" id="4" name="minimum y" type="y-plane" />
<surface boundary="reflective" coeffs="1.2" id="5" name="maximum y" type="y-plane" />
</geometry>
<?xml version='1.0' encoding='utf-8'?>
<materials>
<material depletable="true" id="1" name="UOX fuel">
<density units="g/cm3" value="10.062" />
<nuclide ao="4.9476e-06" name="U234" />
<nuclide ao="0.00048218" name="U235" />
<nuclide ao="0.021504" name="U238" />
<nuclide ao="1.0801e-08" name="Xe135" />
<nuclide ao="0.045737" name="O16" />
<material depletable="true" id="1" name="UO2">
<density units="g/cm3" value="10.29769" />
<nuclide ao="4.4843e-06" name="U234" />
<nuclide ao="0.00055815" name="U235" />
<nuclide ao="0.022408" name="U238" />
<nuclide ao="0.045829" name="O16" />
</material>
<material id="2" name="Zircaloy">
<density units="g/cm3" value="5.77" />
<nuclide ao="0.5145" name="Zr90" />
<nuclide ao="0.1122" name="Zr91" />
<nuclide ao="0.1715" name="Zr92" />
<nuclide ao="0.1738" name="Zr94" />
<nuclide ao="0.028" name="Zr96" />
</material>
<material id="3" name="Cold borated water">
<density units="atom/b-cm" value="0.07416" />
<material id="2" name="light water">
<density units="g/cm3" value="1.0" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<nuclide ao="0.000649" name="B10" />
<nuclide ao="0.002689" name="B11" />
<sab name="c_H_in_H2O" />
</material>
<material id="4" name="Hot borated water">
<density units="atom/b-cm" value="0.06614" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<nuclide ao="0.000649" name="B10" />
<nuclide ao="0.002689" name="B11" />
<sab name="c_H_in_H2O" />
</material>
<material id="5" name="Reactor pressure vessel steel">
<density units="g/cm3" value="7.9" />
<nuclide name="Fe54" wo="0.05437098" />
<nuclide name="Fe56" wo="0.88500663" />
<nuclide name="Fe57" wo="0.0208008" />
<nuclide name="Fe58" wo="0.00282159" />
<nuclide name="Ni58" wo="0.0067198" />
<nuclide name="Ni60" wo="0.0026776" />
<nuclide name="Mn55" wo="0.01" />
<nuclide name="Cr52" wo="0.002092475" />
<nuclide name="C0" wo="0.0025" />
<nuclide name="Cu63" wo="0.0013696" />
</material>
<material id="6" name="Lower radial reflector">
<density units="g/cm3" value="4.32" />
<nuclide name="H1" wo="0.0095661" />
<nuclide name="O16" wo="0.0759107" />
<nuclide name="B10" wo="3.08409e-05" />
<nuclide name="B11" wo="0.000140499" />
<nuclide name="Fe54" wo="0.035620772088" />
<nuclide name="Fe56" wo="0.579805982228" />
<nuclide name="Fe57" wo="0.01362750048" />
<nuclide name="Fe58" wo="0.001848545204" />
<nuclide name="Ni58" wo="0.055298376566" />
<nuclide name="Mn55" wo="0.018287" />
<nuclide name="Cr52" wo="0.145407678031" />
<sab name="c_H_in_H2O" />
</material>
<material id="7" name="Upper radial reflector / Top plate region">
<density units="g/cm3" value="4.28" />
<nuclide name="H1" wo="0.0086117" />
<nuclide name="O16" wo="0.0683369" />
<nuclide name="B10" wo="2.77638e-05" />
<nuclide name="B11" wo="0.000126481" />
<nuclide name="Fe54" wo="0.035953677186" />
<nuclide name="Fe56" wo="0.585224740891" />
<nuclide name="Fe57" wo="0.01375486056" />
<nuclide name="Fe58" wo="0.001865821363" />
<nuclide name="Ni58" wo="0.055815129186" />
<nuclide name="Mn55" wo="0.0184579" />
<nuclide name="Cr52" wo="0.146766614995" />
<sab name="c_H_in_H2O" />
</material>
<material id="8" name="Bottom plate region">
<density units="g/cm3" value="7.184" />
<nuclide name="H1" wo="0.0011505" />
<nuclide name="O16" wo="0.0091296" />
<nuclide name="B10" wo="3.70915e-06" />
<nuclide name="B11" wo="1.68974e-05" />
<nuclide name="Fe54" wo="0.03855611055" />
<nuclide name="Fe56" wo="0.627585036425" />
<nuclide name="Fe57" wo="0.014750478" />
<nuclide name="Fe58" wo="0.002000875025" />
<nuclide name="Ni58" wo="0.059855207342" />
<nuclide name="Mn55" wo="0.019794" />
<nuclide name="Cr52" wo="0.157390026871" />
<sab name="c_H_in_H2O" />
</material>
<material id="9" name="Bottom nozzle region">
<density units="g/cm3" value="2.53" />
<nuclide name="H1" wo="0.0245014" />
<nuclide name="O16" wo="0.1944274" />
<nuclide name="B10" wo="7.89917e-05" />
<nuclide name="B11" wo="0.000359854" />
<nuclide name="Fe54" wo="0.030411411144" />
<nuclide name="Fe56" wo="0.495012237964" />
<nuclide name="Fe57" wo="0.01163454624" />
<nuclide name="Fe58" wo="0.001578204652" />
<nuclide name="Ni58" wo="0.047211231662" />
<nuclide name="Mn55" wo="0.0156126" />
<nuclide name="Cr52" wo="0.124142524198" />
<sab name="c_H_in_H2O" />
</material>
<material id="10" name="Top nozzle region">
<density units="g/cm3" value="1.746" />
<nuclide name="H1" wo="0.035887" />
<nuclide name="O16" wo="0.2847761" />
<nuclide name="B10" wo="0.000115699" />
<nuclide name="B11" wo="0.000527075" />
<nuclide name="Fe54" wo="0.02644016154" />
<nuclide name="Fe56" wo="0.43037146399" />
<nuclide name="Fe57" wo="0.0101152584" />
<nuclide name="Fe58" wo="0.00137211607" />
<nuclide name="Ni58" wo="0.04104621835" />
<nuclide name="Mn55" wo="0.0135739" />
<nuclide name="Cr52" wo="0.107931450781" />
<sab name="c_H_in_H2O" />
</material>
<material id="11" name="Top of fuel assemblies">
<density units="g/cm3" value="3.044" />
<nuclide name="H1" wo="0.0162913" />
<nuclide name="O16" wo="0.1292776" />
<nuclide name="B10" wo="5.25228e-05" />
<nuclide name="B11" wo="0.000239272" />
<nuclide name="Zr90" wo="0.43313403903" />
<nuclide name="Zr91" wo="0.09549277374" />
<nuclide name="Zr92" wo="0.14759527104" />
<nuclide name="Zr94" wo="0.15280552077" />
<nuclide name="Zr96" wo="0.02511169542" />
<sab name="c_H_in_H2O" />
</material>
<material id="12" name="Bottom of fuel assemblies">
<density units="g/cm3" value="1.762" />
<nuclide name="H1" wo="0.0292856" />
<nuclide name="O16" wo="0.2323919" />
<nuclide name="B10" wo="9.44159e-05" />
<nuclide name="B11" wo="0.00043012" />
<nuclide name="Zr90" wo="0.3741373658" />
<nuclide name="Zr91" wo="0.0824858164" />
<nuclide name="Zr92" wo="0.1274914944" />
<nuclide name="Zr94" wo="0.1319920622" />
<nuclide name="Zr96" wo="0.0216912612" />
<sab name="c_H_in_H2O" />
</material>
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<particles>1000</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>
</space>
</source>
</settings>
<?xml version='1.0' encoding='utf-8'?>
<tallies>
@ -313,7 +47,7 @@
<bins>0.0 0.253 1000.0 1000000.0 20000000.0</bins>
</filter>
<filter id="2" type="distribcell">
<bins>60</bins>
<bins>1</bins>
</filter>
<tally id="1" name="distribcell tally">
<filters>1 2</filters>

View file

@ -1 +1,97 @@
eac8fb56a8146b9e186ac9fb003753f4a0a18d4159d10e6fa51da4856baef66a10a0f5fb10c5727b51c6e44d81c147a8a7348ad9c9f7119a6ec33e0361082376
[[1.63731762e-05 5.08325999e-04]
[3.27547470e-01 1.77506218e-01]
[1.89164083e-02 7.22719366e-01]], [[1.64200315e-05 5.45231503e-04]
[3.24031537e-01 1.75537230e-01]
[1.87708717e-02 7.26768216e-01]], [[1.67487818e-05 5.03394672e-04]
[3.07780931e-01 1.67166322e-01]
[1.97449893e-02 7.06598738e-01]], [[1.63603106e-05 6.10423337e-04]
[3.32313666e-01 1.79982864e-01]
[1.90686364e-02 7.22662206e-01]][[4.65536263e-07 4.34762669e-05]
[9.14451087e-03 4.56766386e-03]
[7.87091351e-04 1.04610084e-02]], [[1.70217471e-07 3.74604055e-05]
[9.18903111e-03 4.56228307e-03]
[1.74179620e-04 9.17281345e-03]], [[2.49291594e-07 1.81470751e-05]
[8.34746285e-03 4.15219947e-03]
[3.57935129e-04 1.00438242e-02]], [[4.12850822e-07 3.98122204e-05]
[1.38191650e-02 6.82224745e-03]
[6.79096490e-04 9.85922061e-03]][[1.03849782e-06 8.14983256e-04]
[1.13114721e+00 5.60394847e-01]
[1.40550899e-06 5.11848857e-01]], [[1.99773314e-06 1.03955500e-03]
[1.42269343e-01 9.92372469e-02]
[3.30482612e-05 8.08235307e-01]], [[1.45630159e-05 2.22446467e-04]
[1.30357824e-02 2.93669452e-02]
[3.05346682e-04 1.10154874e+00]], [[4.83030533e-05 9.03907895e-05]
[5.22127114e-03 1.11935954e-02]
[7.61611053e-02 4.57115627e-01]][[1.87165262e-08 1.43906416e-05]
[2.05916324e-02 1.01675733e-02]
[2.50902573e-08 8.54377830e-03]], [[1.12098060e-07 7.06870145e-05]
[2.16279434e-03 1.42142705e-03]
[1.22851164e-05 1.41445724e-02]], [[2.08629342e-07 1.63602148e-06]
[1.08988258e-04 2.01647731e-04]
[7.14052741e-06 9.13467415e-03]], [[6.49497971e-07 1.17295883e-06]
[7.03193479e-05 1.45388818e-04]
[1.11307638e-03 5.92861613e-03]][[0.28708077 0.27231775]], [[0.283269 0.26846215]], [[0.26933717 0.25561967]], [[0.29146272 0.27665912]], [[0.03591854 0.2267151 ]], [[0.03618374 0.23663228]], [[0.03393119 0.22268261]], [[0.03627092 0.22248212]], [[0.00333501 0.28502144]], [[0.00339378 0.2823686 ]], [[0.0032646 0.27622413]], [[0.0033623 0.28752397]], [[0.02014593 0.11667962]], [[0.01997231 0.11538764]], [[0.02100971 0.11974205]], [[0.02030272 0.11659029]][[0.00908247 0.00614665]], [[0.00911888 0.00556208]], [[0.00831969 0.00596124]], [[0.01375328 0.00849244]], [[0.00106067 0.00719168]], [[0.00113262 0.00790992]], [[0.00067545 0.00732313]], [[0.00134675 0.00584628]], [[5.86657354e-05 4.85962742e-03]], [[3.78231391e-05 3.26052035e-03]], [[7.89746053e-05 5.03120906e-03]], [[2.86395600e-05 4.89110417e-03]], [[0.00078861 0.00414495]], [[0.00017413 0.00090648]], [[0.00035855 0.00190835]], [[0.00068051 0.0036777 ]][[2.07154706e-04]
[4.29264961e-01]
[1.29926403e-01]], [[2.04124023e-04]
[4.23635331e-01]
[1.27891698e-01]], [[1.94482255e-04]
[4.02735295e-01]
[1.22027057e-01]], [[2.10260769e-04]
[4.35906468e-01]
[1.32005105e-01]], [[0.00022426]
[0.06105851]
[0.20135086]], [[0.00026389]
[0.0612101 ]
[0.21134203]], [[0.00023084]
[0.05761498]
[0.19876799]], [[0.00032256]
[0.061623 ]
[0.19680747]], [[5.87610156e-05]
[1.06427230e-02]
[2.77654967e-01]], [[5.94899925e-05]
[1.06822132e-02]
[2.75020675e-01]], [[5.93176564e-05]
[1.03968293e-02]
[2.69032575e-01]], [[5.94408186e-05]
[1.06809621e-02]
[2.80145865e-01]], [[3.45195544e-05]
[4.08749343e-03]
[1.32703540e-01]], [[3.41476180e-05]
[4.04112643e-03]
[1.31284684e-01]], [[3.55075881e-05]
[4.20014745e-03]
[1.36516110e-01]], [[3.45190823e-05]
[4.08609920e-03]
[1.32772398e-01]][[6.53616088e-06]
[1.01396032e-02]
[4.17862796e-03]], [[6.14101518e-06]
[1.01647874e-02]
[3.28144648e-03]], [[6.21879601e-06]
[9.29002877e-03]
[4.29521996e-03]], [[9.37998012e-06]
[1.53282674e-02]
[5.13014723e-03]], [[4.29725320e-05]
[1.28419933e-03]
[7.15501363e-03]], [[3.69392134e-05]
[1.38678579e-03]
[7.86925329e-03]], [[1.70223774e-05]
[7.65771551e-04]
[7.31421975e-03]], [[3.86750728e-05]
[1.59354492e-03]
[5.78376198e-03]], [[4.00936601e-07]
[1.10265266e-04]
[4.85873047e-03]], [[1.02736776e-06]
[7.78918832e-05]
[3.25980910e-03]], [[8.71027724e-07]
[1.64820060e-04]
[5.02912867e-03]], [[8.63231446e-07]
[8.45518855e-05]
[4.89045708e-03]], [[9.39068799e-07]
[1.12928697e-04]
[4.21779516e-03]], [[1.94712273e-07]
[2.39886479e-05]
[9.22741200e-04]], [[4.30155635e-07]
[5.18679547e-05]
[1.94104652e-03]], [[8.32395987e-07]
[1.00319931e-04]
[3.73878581e-03]]

View file

@ -1,26 +1,61 @@
import hashlib
import openmc
import pytest
from tests.testing_harness import PyAPITestHarness
@pytest.fixture
def model():
model = openmc.model.Model()
fuel = openmc.Material(name='UO2')
fuel.set_density('g/cm3', 10.29769)
fuel.add_nuclide("U234", 4.4843e-6)
fuel.add_nuclide("U235", 5.5815e-4)
fuel.add_nuclide("U238", 2.2408e-2)
fuel.add_nuclide("O16", 4.5829e-2)
water = openmc.Material(name='light water')
water.add_nuclide('H1', 2.0)
water.add_nuclide('O16', 1.0)
water.set_density('g/cm3', 1.0)
water.add_s_alpha_beta('c_H_in_H2O')
model.materials.extend([fuel, water])
cyl = openmc.ZCylinder(r=0.4)
pin = openmc.model.pin([cyl], [fuel, water])
d = 1.2
lattice = openmc.RectLattice()
lattice.lower_left = (-d, -d)
lattice.pitch = (d, d)
lattice.outer = pin
lattice.universes = [
[pin, pin],
[pin, pin],
]
box = openmc.model.rectangular_prism(2*d, 2*d, boundary_type='reflective')
main_cell = openmc.Cell(fill=lattice, region=box)
model.geometry = openmc.Geometry([main_cell])
model.settings.batches = 10
model.settings.inactive = 5
model.settings.particles = 1000
energy_filter = openmc.EnergyFilter([0.0, 0.253, 1.0e3, 1.0e6, 20.0e6])
distrib_filter = openmc.DistribcellFilter(pin.cells[1])
tally = openmc.Tally(name='distribcell tally')
tally.filters = [energy_filter, distrib_filter]
tally.scores = ['nu-fission', 'total']
tally.nuclides = ['U234', 'U235', 'U238']
model.tallies.append(tally)
return model
class TallyAggregationTestHarness(PyAPITestHarness):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Initialize the filters
energy_filter = openmc.EnergyFilter([0.0, 0.253, 1.0e3, 1.0e6, 20.0e6])
distrib_filter = openmc.DistribcellFilter(60)
# Initialized the tallies
tally = openmc.Tally(name='distribcell tally')
tally.filters = [energy_filter, distrib_filter]
tally.scores = ['nu-fission', 'total']
tally.nuclides = ['U234', 'U235', 'U238']
self._model.tallies.append(tally)
def _get_results(self, hash_output=True):
def _get_results(self, hash_output=False):
"""Digest info in the statepoint and return as a string."""
# Read the statepoint file.
@ -52,15 +87,9 @@ class TallyAggregationTestHarness(PyAPITestHarness):
outstr += ', '.join(map(str, tally_sum.mean))
outstr += ', '.join(map(str, tally_sum.std_dev))
# Hash the results if necessary
if hash_output:
sha512 = hashlib.sha512()
sha512.update(outstr.encode('utf-8'))
outstr = sha512.hexdigest()
return outstr
def test_tally_aggregation():
harness = TallyAggregationTestHarness('statepoint.10.h5')
def test_tally_aggregation(model):
harness = TallyAggregationTestHarness('statepoint.10.h5', model)
harness.main()

View file

@ -1,338 +1,55 @@
<?xml version='1.0' encoding='utf-8'?>
<geometry>
<cell fill="200" id="1" region="-6 34 -35" universe="0" />
<cell fill="201" id="2" region="-6 35 -36" universe="0" />
<cell id="3" material="8" region="-7 31 -32" universe="0" />
<cell id="4" material="9" region="-5 32 -33" universe="0" />
<cell id="5" material="12" region="-5 33 -34" universe="0" />
<cell id="6" material="11" region="-5 36 -37" universe="0" />
<cell id="7" material="10" region="-5 37 -38" universe="0" />
<cell id="8" material="7" region="-7 38 -39" universe="0" />
<cell id="9" material="9" region="6 -7 32 -38" universe="0" />
<cell id="10" material="5" region="7 -8 31 -39" universe="0" />
<cell id="11" material="6" region="5 -6 32 -34" universe="0" />
<cell id="12" material="7" region="5 -6 36 -38" universe="0" />
<cell id="21" material="1" region="-1" universe="1" />
<cell id="22" material="2" region="1 -2" universe="1" />
<cell id="23" material="3" region="2" universe="1" />
<cell id="24" material="3" region="-3" universe="2" />
<cell id="25" material="2" region="3 -4" universe="2" />
<cell id="26" material="3" region="4" universe="2" />
<cell id="27" material="1" region="-1" universe="3" />
<cell id="28" material="2" region="1 -2" universe="3" />
<cell id="29" material="4" region="2" universe="3" />
<cell id="30" material="4" region="-3" universe="4" />
<cell id="31" material="2" region="3 -4" universe="4" />
<cell id="32" material="4" region="4" universe="4" />
<cell id="50" material="3" region="34 -35" universe="5" />
<cell fill="100" id="60" region="34 -35" universe="6" />
<cell id="70" material="4" region="35 -36" universe="7" />
<cell fill="101" id="80" region="35 -36" universe="8" />
<lattice id="100" name="Fuel assembly (lower half)">
<pitch>1.26 1.26</pitch>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<universes>
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 </universes>
</lattice>
<lattice id="101" name="Fuel assembly (upper half)">
<pitch>1.26 1.26</pitch>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<universes>
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 </universes>
</lattice>
<lattice id="200" name="Core lattice (lower half)">
<pitch>21.42 21.42</pitch>
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<universes>
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 </universes>
</lattice>
<lattice id="201" name="Core lattice (lower half)">
<pitch>21.42 21.42</pitch>
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<universes>
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 </universes>
</lattice>
<surface coeffs="0.0 0.0 0.41" id="1" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.475" id="2" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.56" id="3" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.62" id="4" type="z-cylinder" />
<surface coeffs="0.0 0.0 187.6" id="5" type="z-cylinder" />
<surface coeffs="0.0 0.0 209.0" id="6" type="z-cylinder" />
<surface coeffs="0.0 0.0 229.0" id="7" type="z-cylinder" />
<surface boundary="vacuum" coeffs="0.0 0.0 249.0" id="8" type="z-cylinder" />
<surface boundary="vacuum" coeffs="-229.0" id="31" type="z-plane" />
<surface coeffs="-199.0" id="32" type="z-plane" />
<surface coeffs="-193.0" id="33" type="z-plane" />
<surface coeffs="-183.0" id="34" type="z-plane" />
<surface coeffs="0.0" id="35" type="z-plane" />
<surface coeffs="183.0" id="36" type="z-plane" />
<surface coeffs="203.0" id="37" type="z-plane" />
<surface coeffs="215.0" id="38" type="z-plane" />
<surface boundary="vacuum" coeffs="223.0" id="39" type="z-plane" />
<cell id="1" material="1" region="-1" universe="1" />
<cell id="2" material="2" region="1 -2" universe="1" />
<surface coeffs="0.0 0.0 5.0" id="1" type="z-cylinder" />
<surface boundary="vacuum" coeffs="0.0 0.0 10.0" id="2" type="z-cylinder" />
</geometry>
<?xml version='1.0' encoding='utf-8'?>
<materials>
<material depletable="true" id="1" name="UOX fuel">
<density units="g/cm3" value="10.062" />
<nuclide ao="4.9476e-06" name="U234" />
<nuclide ao="0.00048218" name="U235" />
<nuclide ao="0.021504" name="U238" />
<nuclide ao="1.0801e-08" name="Xe135" />
<nuclide ao="0.045737" name="O16" />
<material depletable="true" id="1">
<density units="g/cm3" value="10.0" />
<nuclide ao="1.0" name="U234" />
<nuclide ao="4.0" name="U235" />
<nuclide ao="95.0" name="U238" />
</material>
<material id="2" name="Zircaloy">
<density units="g/cm3" value="5.77" />
<nuclide ao="0.5145" name="Zr90" />
<nuclide ao="0.1122" name="Zr91" />
<nuclide ao="0.1715" name="Zr92" />
<nuclide ao="0.1738" name="Zr94" />
<nuclide ao="0.028" name="Zr96" />
</material>
<material id="3" name="Cold borated water">
<density units="atom/b-cm" value="0.07416" />
<material id="2" name="light water">
<density units="g/cm3" value="1.0" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<nuclide ao="0.000649" name="B10" />
<nuclide ao="0.002689" name="B11" />
<sab name="c_H_in_H2O" />
</material>
<material id="4" name="Hot borated water">
<density units="atom/b-cm" value="0.06614" />
<nuclide ao="2.0" name="H1" />
<nuclide ao="1.0" name="O16" />
<nuclide ao="0.000649" name="B10" />
<nuclide ao="0.002689" name="B11" />
<sab name="c_H_in_H2O" />
</material>
<material id="5" name="Reactor pressure vessel steel">
<density units="g/cm3" value="7.9" />
<nuclide name="Fe54" wo="0.05437098" />
<nuclide name="Fe56" wo="0.88500663" />
<nuclide name="Fe57" wo="0.0208008" />
<nuclide name="Fe58" wo="0.00282159" />
<nuclide name="Ni58" wo="0.0067198" />
<nuclide name="Ni60" wo="0.0026776" />
<nuclide name="Mn55" wo="0.01" />
<nuclide name="Cr52" wo="0.002092475" />
<nuclide name="C0" wo="0.0025" />
<nuclide name="Cu63" wo="0.0013696" />
</material>
<material id="6" name="Lower radial reflector">
<density units="g/cm3" value="4.32" />
<nuclide name="H1" wo="0.0095661" />
<nuclide name="O16" wo="0.0759107" />
<nuclide name="B10" wo="3.08409e-05" />
<nuclide name="B11" wo="0.000140499" />
<nuclide name="Fe54" wo="0.035620772088" />
<nuclide name="Fe56" wo="0.579805982228" />
<nuclide name="Fe57" wo="0.01362750048" />
<nuclide name="Fe58" wo="0.001848545204" />
<nuclide name="Ni58" wo="0.055298376566" />
<nuclide name="Mn55" wo="0.018287" />
<nuclide name="Cr52" wo="0.145407678031" />
<sab name="c_H_in_H2O" />
</material>
<material id="7" name="Upper radial reflector / Top plate region">
<density units="g/cm3" value="4.28" />
<nuclide name="H1" wo="0.0086117" />
<nuclide name="O16" wo="0.0683369" />
<nuclide name="B10" wo="2.77638e-05" />
<nuclide name="B11" wo="0.000126481" />
<nuclide name="Fe54" wo="0.035953677186" />
<nuclide name="Fe56" wo="0.585224740891" />
<nuclide name="Fe57" wo="0.01375486056" />
<nuclide name="Fe58" wo="0.001865821363" />
<nuclide name="Ni58" wo="0.055815129186" />
<nuclide name="Mn55" wo="0.0184579" />
<nuclide name="Cr52" wo="0.146766614995" />
<sab name="c_H_in_H2O" />
</material>
<material id="8" name="Bottom plate region">
<density units="g/cm3" value="7.184" />
<nuclide name="H1" wo="0.0011505" />
<nuclide name="O16" wo="0.0091296" />
<nuclide name="B10" wo="3.70915e-06" />
<nuclide name="B11" wo="1.68974e-05" />
<nuclide name="Fe54" wo="0.03855611055" />
<nuclide name="Fe56" wo="0.627585036425" />
<nuclide name="Fe57" wo="0.014750478" />
<nuclide name="Fe58" wo="0.002000875025" />
<nuclide name="Ni58" wo="0.059855207342" />
<nuclide name="Mn55" wo="0.019794" />
<nuclide name="Cr52" wo="0.157390026871" />
<sab name="c_H_in_H2O" />
</material>
<material id="9" name="Bottom nozzle region">
<density units="g/cm3" value="2.53" />
<nuclide name="H1" wo="0.0245014" />
<nuclide name="O16" wo="0.1944274" />
<nuclide name="B10" wo="7.89917e-05" />
<nuclide name="B11" wo="0.000359854" />
<nuclide name="Fe54" wo="0.030411411144" />
<nuclide name="Fe56" wo="0.495012237964" />
<nuclide name="Fe57" wo="0.01163454624" />
<nuclide name="Fe58" wo="0.001578204652" />
<nuclide name="Ni58" wo="0.047211231662" />
<nuclide name="Mn55" wo="0.0156126" />
<nuclide name="Cr52" wo="0.124142524198" />
<sab name="c_H_in_H2O" />
</material>
<material id="10" name="Top nozzle region">
<density units="g/cm3" value="1.746" />
<nuclide name="H1" wo="0.035887" />
<nuclide name="O16" wo="0.2847761" />
<nuclide name="B10" wo="0.000115699" />
<nuclide name="B11" wo="0.000527075" />
<nuclide name="Fe54" wo="0.02644016154" />
<nuclide name="Fe56" wo="0.43037146399" />
<nuclide name="Fe57" wo="0.0101152584" />
<nuclide name="Fe58" wo="0.00137211607" />
<nuclide name="Ni58" wo="0.04104621835" />
<nuclide name="Mn55" wo="0.0135739" />
<nuclide name="Cr52" wo="0.107931450781" />
<sab name="c_H_in_H2O" />
</material>
<material id="11" name="Top of fuel assemblies">
<density units="g/cm3" value="3.044" />
<nuclide name="H1" wo="0.0162913" />
<nuclide name="O16" wo="0.1292776" />
<nuclide name="B10" wo="5.25228e-05" />
<nuclide name="B11" wo="0.000239272" />
<nuclide name="Zr90" wo="0.43313403903" />
<nuclide name="Zr91" wo="0.09549277374" />
<nuclide name="Zr92" wo="0.14759527104" />
<nuclide name="Zr94" wo="0.15280552077" />
<nuclide name="Zr96" wo="0.02511169542" />
<sab name="c_H_in_H2O" />
</material>
<material id="12" name="Bottom of fuel assemblies">
<density units="g/cm3" value="1.762" />
<nuclide name="H1" wo="0.0292856" />
<nuclide name="O16" wo="0.2323919" />
<nuclide name="B10" wo="9.44159e-05" />
<nuclide name="B11" wo="0.00043012" />
<nuclide name="Zr90" wo="0.3741373658" />
<nuclide name="Zr91" wo="0.0824858164" />
<nuclide name="Zr92" wo="0.1274914944" />
<nuclide name="Zr94" wo="0.1319920622" />
<nuclide name="Zr96" wo="0.0216912612" />
<sab name="c_H_in_H2O" />
</material>
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>
</space>
</source>
<particles>1000</particles>
<batches>5</batches>
<inactive>0</inactive>
</settings>
<?xml version='1.0' encoding='utf-8'?>
<tallies>
<mesh id="1">
<dimension>2 2 2</dimension>
<lower_left>-160.0 -160.0 -183.0</lower_left>
<upper_right>160.0 160.0 183.0</upper_right>
<dimension>2 2</dimension>
<lower_left>-10.0 -10.0</lower_left>
<upper_right>10.0 10.0</upper_right>
</mesh>
<filter id="2" type="material">
<bins>1 3</bins>
<bins>1 2</bins>
</filter>
<filter id="1" type="energy">
<bins>0.0 2.53e-07 0.001 1.0 20.0</bins>
<bins>0.0 10.0 20000000.0</bins>
</filter>
<filter id="3" type="distribcell">
<bins>60</bins>
</filter>
<filter id="4" type="mesh">
<filter id="3" type="mesh">
<bins>1</bins>
</filter>
<tally id="1" name="tally 1">
<filters>2 1 3</filters>
<filters>2 1</filters>
<nuclides>U234 U235</nuclides>
<scores>nu-fission total</scores>
</tally>
<tally id="2" name="tally 2">
<filters>1 4</filters>
<filters>1 3</filters>
<nuclides>U238 U235</nuclides>
<scores>total fission</scores>
</tally>

View file

@ -1,139 +1,49 @@
[[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
...
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]][[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
...
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]][[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
...
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]][[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
...
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]][[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
...
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]]
[2.87610e-07 1.60278e-13 2.54988e-04 1.42099e-10 2.33002e-07 1.83973e-07
2.06574e-04 1.63105e-04 7.77662e-03 4.33372e-09 4.02417e-03 2.24257e-09
6.30008e-03 4.97439e-03 3.26010e-03 2.57410e-03 2.52614e-07 1.57719e-13
2.23961e-04 1.39830e-10 2.43493e-07 1.93615e-07 2.15874e-04 1.71654e-04
6.83035e-03 4.26453e-09 3.53450e-03 2.20677e-09 6.58373e-03 5.23510e-03
3.40688e-03 2.70901e-03 2.72019e-07 1.63161e-13 2.41165e-04 1.44654e-10
2.44531e-07 1.94194e-07 2.16795e-04 1.72167e-04 7.35506e-03 4.41166e-09
3.80602e-03 2.28290e-09 6.61180e-03 5.25075e-03 3.42141e-03 2.71710e-03
2.41472e-07 1.50936e-13 2.14083e-04 1.33816e-10 2.24252e-07 1.77892e-07
1.98816e-04 1.57715e-04 6.52910e-03 4.08113e-09 3.37861e-03 2.11186e-09
6.06350e-03 4.80998e-03 3.13768e-03 2.48902e-03 2.48914e-03 4.48016e-05
1.13508e-02 2.04302e-04 1.19934e-04 2.60981e-05 5.46915e-04 1.19011e-04
2.77675e-02 4.99783e-04 4.93334e-02 8.87945e-04 1.33792e-03 2.91137e-04
2.37703e-03 5.17251e-04 2.49083e-03 4.43597e-05 1.13585e-02 2.02286e-04
1.21668e-04 2.66359e-05 5.54821e-04 1.21463e-04 2.77864e-02 4.94854e-04
4.93670e-02 8.79187e-04 1.35726e-03 2.97136e-04 2.41139e-03 5.27909e-04
2.28387e-03 4.25108e-05 1.04148e-02 1.93855e-04 1.16292e-04 2.67442e-05
5.30307e-04 1.21957e-04 2.54776e-02 4.74228e-04 4.52651e-02 8.42543e-04
1.29729e-03 2.98344e-04 2.30485e-03 5.30056e-04 2.25849e-03 4.37806e-05
1.02990e-02 1.99646e-04 1.16539e-04 2.71633e-05 5.31435e-04 1.23868e-04
2.51945e-02 4.88393e-04 4.47620e-02 8.67709e-04 1.30005e-03 3.03020e-04
2.30975e-03 5.38363e-04][2.87610e-07 1.60278e-13 2.54988e-04 1.42099e-10 2.33002e-07 1.83973e-07
2.06574e-04 1.63105e-04 7.77662e-03 4.33372e-09 4.02417e-03 2.24257e-09
6.30008e-03 4.97439e-03 3.26010e-03 2.57410e-03 2.52614e-07 1.57719e-13
2.23961e-04 1.39830e-10 2.43493e-07 1.93615e-07 2.15874e-04 1.71654e-04
6.83035e-03 4.26453e-09 3.53450e-03 2.20677e-09 6.58373e-03 5.23510e-03
3.40688e-03 2.70901e-03 2.72019e-07 1.63161e-13 2.41165e-04 1.44654e-10
2.44531e-07 1.94194e-07 2.16795e-04 1.72167e-04 7.35506e-03 4.41166e-09
3.80602e-03 2.28290e-09 6.61180e-03 5.25075e-03 3.42141e-03 2.71710e-03
2.41472e-07 1.50936e-13 2.14083e-04 1.33816e-10 2.24252e-07 1.77892e-07
1.98816e-04 1.57715e-04 6.52910e-03 4.08113e-09 3.37861e-03 2.11186e-09
6.06350e-03 4.80998e-03 3.13768e-03 2.48902e-03 2.48914e-03 4.48016e-05
1.13508e-02 2.04302e-04 1.19934e-04 2.60981e-05 5.46915e-04 1.19011e-04
2.77675e-02 4.99783e-04 4.93334e-02 8.87945e-04 1.33792e-03 2.91137e-04
2.37703e-03 5.17251e-04 2.49083e-03 4.43597e-05 1.13585e-02 2.02286e-04
1.21668e-04 2.66359e-05 5.54821e-04 1.21463e-04 2.77864e-02 4.94854e-04
4.93670e-02 8.79187e-04 1.35726e-03 2.97136e-04 2.41139e-03 5.27909e-04
2.28387e-03 4.25108e-05 1.04148e-02 1.93855e-04 1.16292e-04 2.67442e-05
5.30307e-04 1.21957e-04 2.54776e-02 4.74228e-04 4.52651e-02 8.42543e-04
1.29729e-03 2.98344e-04 2.30485e-03 5.30056e-04 2.25849e-03 4.37806e-05
1.02990e-02 1.99646e-04 1.16539e-04 2.71633e-05 5.31435e-04 1.23868e-04
2.51945e-02 4.88393e-04 4.47620e-02 8.67709e-04 1.30005e-03 3.03020e-04
2.30975e-03 5.38363e-04][0.0063 0.00497 0.00326 0.00257 0.00658 0.00524 0.00341 0.00271 0.00661
0.00525 0.00342 0.00272 0.00606 0.00481 0.00314 0.00249 0.00134 0.00029
0.00238 0.00052 0.00136 0.0003 0.00241 0.00053 0.0013 0.0003 0.0023
0.00053 0.0013 0.0003 0.00231 0.00054][0.00025 0.00021 0.00402 0.00326 0.00022 0.00022 0.00353 0.00341 0.00024
0.00022 0.00381 0.00342 0.00021 0.0002 0.00338 0.00314 0.01135 0.00055
0.04933 0.00238 0.01136 0.00055 0.04937 0.00241 0.01041 0.00053 0.04527
0.0023 0.0103 0.00053 0.04476 0.00231][0.00326 0.00341 0.00342 0.00314 0.00238 0.00241 0.0023 0.00231]

View file

@ -1,39 +1,61 @@
import hashlib
import numpy as np
import openmc
import pytest
from tests.testing_harness import PyAPITestHarness
@pytest.fixture
def model():
model = openmc.model.Model()
fuel = openmc.Material()
fuel.set_density('g/cm3', 10.0)
fuel.add_nuclide('U234', 1.0)
fuel.add_nuclide('U235', 4.0)
fuel.add_nuclide('U238', 95.0)
water = openmc.Material(name='light water')
water.add_nuclide('H1', 2.0)
water.add_nuclide('O16', 1.0)
water.set_density('g/cm3', 1.0)
water.add_s_alpha_beta('c_H_in_H2O')
model.materials.extend([fuel, water])
cyl1 = openmc.ZCylinder(r=5.0)
cyl2 = openmc.ZCylinder(r=10.0, boundary_type='vacuum')
cell1 = openmc.Cell(fill=fuel, region=-cyl1)
cell2 = openmc.Cell(fill=water, region=+cyl1 & -cyl2)
model.geometry = openmc.Geometry([cell1, cell2])
model.settings.batches = 5
model.settings.inactive = 0
model.settings.particles = 1000
mesh = openmc.RegularMesh()
mesh.dimension = (2, 2)
mesh.lower_left = (-10.0, -10.0)
mesh.upper_right = (10.0, 10.0)
energy_filter = openmc.EnergyFilter((0.0, 10.0, 20.0e6))
material_filter = openmc.MaterialFilter((fuel, water))
mesh_filter = openmc.MeshFilter(mesh)
tally = openmc.Tally(name='tally 1')
tally.filters = [material_filter, energy_filter]
tally.scores = ['nu-fission', 'total']
tally.nuclides = ['U234', 'U235']
model.tallies.append(tally)
tally = openmc.Tally(name='tally 2')
tally.filters = [energy_filter, mesh_filter]
tally.scores = ['total', 'fission']
tally.nuclides = ['U238', 'U235']
model.tallies.append(tally)
return model
class TallyArithmeticTestHarness(PyAPITestHarness):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Initialize Mesh
mesh = openmc.RegularMesh(mesh_id=1)
mesh.dimension = [2, 2, 2]
mesh.lower_left = [-160.0, -160.0, -183.0]
mesh.upper_right = [160.0, 160.0, 183.0]
# Initialize the filters
energy_filter = openmc.EnergyFilter((0.0, 0.253e-6, 1.0e-3, 1.0, 20.0))
material_filter = openmc.MaterialFilter((1, 3))
distrib_filter = openmc.DistribcellFilter(60)
mesh_filter = openmc.MeshFilter(mesh)
# Initialized the tallies
tally = openmc.Tally(name='tally 1')
tally.filters = [material_filter, energy_filter, distrib_filter]
tally.scores = ['nu-fission', 'total']
tally.nuclides = ['U234', 'U235']
self._model.tallies.append(tally)
tally = openmc.Tally(name='tally 2')
tally.filters = [energy_filter, mesh_filter]
tally.scores = ['total', 'fission']
tally.nuclides = ['U238', 'U235']
self._model.tallies.append(tally)
def _get_results(self, hash_output=False):
"""Digest info in the statepoint and return as a string."""
@ -45,27 +67,29 @@ class TallyArithmeticTestHarness(PyAPITestHarness):
tally_2 = sp.get_tally(name='tally 2')
# Perform all the tally arithmetic operations and output results
outstr = ''
tally_3 = tally_1 * tally_2
outstr += str(tally_3.mean)
output = []
with np.printoptions(precision=5, threshold=np.inf):
mean = (tally_1 * tally_2).mean
output.append(str(mean[np.nonzero(mean)]))
tally_3 = tally_1.hybrid_product(tally_2, '*', 'entrywise', 'tensor',
'tensor')
outstr += str(tally_3.mean)
mean = tally_1.hybrid_product(
tally_2, '*', 'entrywise', 'tensor', 'tensor').mean
output.append(str(mean[np.nonzero(mean)]))
tally_3 = tally_1.hybrid_product(tally_2, '*', 'entrywise', 'entrywise',
'tensor')
outstr += str(tally_3.mean)
mean = tally_1.hybrid_product(
tally_2, '*', 'entrywise', 'entrywise', 'tensor').mean
output.append(str(mean[np.nonzero(mean)]))
tally_3 = tally_1.hybrid_product(tally_2, '*', 'entrywise', 'tensor',
'entrywise')
outstr += str(tally_3.mean)
mean = tally_1.hybrid_product(
tally_2, '*', 'entrywise', 'tensor', 'entrywise').mean
output.append(str(mean[np.nonzero(mean)]))
tally_3 = tally_1.hybrid_product(tally_2, '*', 'entrywise', 'entrywise',
'entrywise')
outstr += str(tally_3.mean)
mean = tally_1.hybrid_product(
tally_2, '*', 'entrywise', 'entrywise', 'entrywise').mean
output.append(str(mean[np.nonzero(mean)]))
# Hash the results if necessary
outstr = ''.join(output)
if hash_output:
sha512 = hashlib.sha512()
sha512.update(outstr.encode('utf-8'))
@ -74,6 +98,6 @@ class TallyArithmeticTestHarness(PyAPITestHarness):
return outstr
def test_tally_arithmetic():
harness = TallyArithmeticTestHarness('statepoint.10.h5')
def test_tally_arithmetic(model):
harness = TallyArithmeticTestHarness('statepoint.5.h5', model)
harness.main()

View file

@ -1,181 +1,9 @@
<?xml version="1.0"?>
<geometry>
<surface id="1" type="z-cylinder" coeffs="0. 0. 0.41" />
<surface id="2" type="z-cylinder" coeffs="0. 0. 0.475" />
<surface id="3" type="z-cylinder" coeffs="0. 0. 0.56" />
<surface id="4" type="z-cylinder" coeffs="0. 0. 0.62" />
<surface id="5" type="z-cylinder" coeffs="0. 0. 187.6" />
<surface id="6" type="z-cylinder" coeffs="0. 0. 209.0" />
<surface id="7" type="z-cylinder" coeffs="0. 0. 229.0" />
<surface id="8" type="z-cylinder" coeffs="0. 0. 249.0" boundary="vacuum" />
<surface id="31" type="z-plane" coeffs="-229.0" boundary="vacuum" />
<surface id="32" type="z-plane" coeffs="-199.0" />
<surface id="33" type="z-plane" coeffs="-193.0" />
<surface id="34" type="z-plane" coeffs="-183.0" />
<surface id="35" type="z-plane" coeffs="0.0" />
<surface id="36" type="z-plane" coeffs="183.0" />
<surface id="37" type="z-plane" coeffs="203.0" />
<surface id="38" type="z-plane" coeffs="215.0" />
<surface id="39" type="z-plane" coeffs="223.0" boundary="vacuum" />
<!-- All geometry on base universe -->
<cell id="1" fill="200" region=" -6 34 -35" /> <!-- Lower core -->
<cell id="2" fill="201" region=" -6 35 -36" /> <!-- Upper core -->
<cell id="3" material="8" region=" -7 31 -32" /> <!-- Lower core plate region -->
<cell id="4" material="9" region=" -5 32 -33" /> <!-- Bottom nozzle region -->
<cell id="5" material="12" region=" -5 33 -34" /> <!-- Bottom FA region -->
<cell id="6" material="11" region=" -5 36 -37" /> <!-- Top FA region -->
<cell id="7" material="10" region=" -5 37 -38" /> <!-- Top nozzle region -->
<cell id="8" material="7" region=" -7 38 -39" /> <!-- Upper plate region -->
<cell id="9" material="4" region="6 -7 32 -38" /> <!-- Downcomer -->
<cell id="10" material="5" region="7 -8 31 -39" /> <!-- RPV -->
<cell id="11" material="6" region="5 -6 32 -34" /> <!-- Bottom of radial reflector -->
<cell id="12" material="7" region="5 -6 36 -38" /> <!-- Top of radial reflector -->
<!-- Fuel pin, cladding, cold water -->
<cell id="21" universe="1" material="1" region="-1" />
<cell id="22" universe="1" material="2" region="1 -2" />
<cell id="23" universe="1" material="3" region="2" />
<!-- Instrumentation guide tube -->
<cell id="24" universe="2" material="3" region="-3" />
<cell id="25" universe="2" material="2" region="3 -4" />
<cell id="26" universe="2" material="3" region="4" />
<!-- Fuel pin, cladding, hot water -->
<cell id="27" universe="3" material="1" region="-1" />
<cell id="28" universe="3" material="2" region="1 -2" />
<cell id="29" universe="3" material="4" region="2" />
<!-- Instrumentation guide tube -->
<cell id="30" universe="4" material="4" region="-3" />
<cell id="31" universe="4" material="2" region="3 -4" />
<cell id="32" universe="4" material="4" region="4" />
<!-- cell for water assembly (cold) -->
<cell id="50" universe="5" material="4" region="34 -35" />
<!-- containing cell for fuel assembly -->
<cell id="60" universe="6" fill="100" region="34 -35" />
<!-- cell for water assembly (hot) -->
<cell id="70" universe="7" material="3" region="35 -36" />
<!-- containing cell for fuel assembly -->
<cell id="80" universe="8" fill="101" region="35 -36" />
<!-- Fuel Assembly (Lower Half) -->
<lattice id="100">
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<pitch>1.26 1.26</pitch>
<universes>
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
</universes>
</lattice>
<!-- Fuel Assembly (Upper Half) -->
<lattice id="101">
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<pitch>1.26 1.26</pitch>
<universes>
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 4 3 3 4 3 3 4 3 3 4 3 3 4 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3
3 3 3 3 3 4 3 3 4 3 3 4 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
</universes>
</lattice>
<!-- Core Lattice (Lower Half) -->
<lattice id="200">
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<pitch>21.42 21.42</pitch>
<universes>
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5
5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5
5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5
5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
</universes>
</lattice>
<!-- Core Lattice (Upper Half) -->
<lattice id="201">
<dimension>21 21</dimension>
<lower_left>-224.91 -224.91</lower_left>
<pitch>21.42 21.42</pitch>
<universes>
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7
7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7
7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7
7 7 7 7 7 7 7 8 8 8 8 8 8 8 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
</universes>
</lattice>
<surface id="1" type="z-cylinder" coeffs="0. 0. 5.0" />
<surface id="2" type="z-cylinder" coeffs="0. 0. 10.0" />
<surface id="3" type="z-cylinder" coeffs="0. 0. 15.0" boundary="vacuum" />
<cell id="1" material="1" region="-1" />
<cell id="2" material="2" region="1 -2" />
<cell id="3" material="3" region="2 -3" />
</geometry>

View file

@ -1,270 +1,15 @@
<?xml version="1.0"?>
<materials>
<!-- Fuel composition -->
<material id="1">
<density value="10.062" units="g/cm3" />
<nuclide name="U234" ao="4.9476e-6" />
<nuclide name="U235" ao="4.8218e-4" />
<nuclide name="U236" ao="9.0402e-5" />
<nuclide name="U238" ao="2.1504e-2" />
<nuclide name="Np237" ao="7.3733e-6" />
<nuclide name="Pu238" ao="1.5148e-6" />
<nuclide name="Pu239" ao="1.3955e-4" />
<nuclide name="Pu240" ao="3.4405e-5" />
<nuclide name="Pu241" ao="2.1439e-5" />
<nuclide name="Pu242" ao="3.7422e-6" />
<nuclide name="Am241" ao="4.5041e-7" />
<nuclide name="Am242_m1" ao="9.2301e-9" />
<nuclide name="Am243" ao="4.7878e-7" />
<nuclide name="Cm242" ao="1.0485e-7" />
<nuclide name="Cm243" ao="1.4268e-9" />
<nuclide name="Cm244" ao="8.8756e-8" />
<nuclide name="Cm245" ao="3.5285e-9" />
<nuclide name="Mo95" ao="2.6497e-5" />
<nuclide name="Tc99" ao="3.2772e-5" />
<nuclide name="Ru101" ao="3.0742e-5" />
<nuclide name="Ru103" ao="2.3505e-6" />
<nuclide name="Ag109" ao="2.0009e-6" />
<nuclide name="Xe135" ao="1.0801e-8" />
<nuclide name="Cs133" ao="3.4612e-5" />
<nuclide name="Nd143" ao="2.6078e-5" />
<nuclide name="Nd145" ao="1.9898e-5" />
<nuclide name="Sm147" ao="1.6128e-6" />
<nuclide name="Sm149" ao="1.1627e-7" />
<nuclide name="Sm150" ao="7.1727e-6" />
<nuclide name="Sm151" ao="5.4947e-7" />
<nuclide name="Sm152" ao="3.0221e-6" />
<nuclide name="Eu153" ao="2.6209e-6" />
<nuclide name="Gd155" ao="1.5369e-9" />
<nuclide name="O16" ao="4.5737e-2" />
<density value="10.0" units="g/cm3" />
<nuclide name="U235" ao="1.0" />
</material>
<!-- Cladding composition -->
<material id="2">
<density value="5.77" units="g/cm3" />
<nuclide name="Zr90" ao="0.5145" />
<nuclide name="Zr91" ao="0.1122" />
<nuclide name="Zr92" ao="0.1715" />
<nuclide name="Zr94" ao="0.1738" />
<nuclide name="Zr96" ao="0.0280" />
<density value="0.01" units="g/cm3" />
<nuclide name="He4" ao="1.0" />
</material>
<!-- Cold borated water -->
<material id="3">
<density value="0.07416" units="atom/b-cm" />
<nuclide name="H1" ao="2.0" />
<nuclide name="O16" ao="1.0" />
<nuclide name="B10" ao="6.490e-4" />
<nuclide name="B11" ao="2.689e-3" />
<sab name="c_H_in_H2O" />
<density value="5.77" units="g/cm3" />
<nuclide name="Zr90" ao="1.0" />
</material>
<!-- Hot borated water -->
<material id="4">
<density value="0.06614" units="atom/b-cm" />
<nuclide name="H1" ao="2.0" />
<nuclide name="O16" ao="1.0" />
<nuclide name="B10" ao="6.490e-4" />
<nuclide name="B11" ao="2.689e-3" />
<sab name="c_H_in_H2O" />
</material>
<!-- RPV Composition -->
<material id="5">
<density value="7.9" units="g/cm3" />
<nuclide name="Fe54" wo="0.05437098" />
<nuclide name="Fe56" wo="0.88500663" />
<nuclide name="Fe57" wo="0.0208008" />
<nuclide name="Fe58" wo="0.00282159" />
<nuclide name="Ni58" wo="0.0067198" />
<nuclide name="Ni60" wo="0.0026776" />
<nuclide name="Ni61" wo="0.0001183" />
<nuclide name="Ni62" wo="0.0003835" />
<nuclide name="Ni64" wo="0.0001008" />
<nuclide name="Mn55" wo="0.01" />
<nuclide name="Mo92" wo="0.000849" />
<nuclide name="Mo94" wo="0.0005418" />
<nuclide name="Mo95" wo="0.0009438" />
<nuclide name="Mo96" wo="0.0010002" />
<nuclide name="Mo97" wo="0.0005796" />
<nuclide name="Mo98" wo="0.0014814" />
<nuclide name="Mo100" wo="0.0006042" />
<nuclide name="Si28" wo="0.00367464" />
<nuclide name="Si29" wo="0.00019336" />
<nuclide name="Si30" wo="0.000132" />
<nuclide name="Cr50" wo="0.00010435" />
<nuclide name="Cr52" wo="0.002092475" />
<nuclide name="Cr53" wo="0.00024185" />
<nuclide name="Cr54" wo="6.1325e-05" />
<nuclide name="C0" wo="0.0025" />
<nuclide name="Cu63" wo="0.0013696" />
<nuclide name="Cu65" wo="0.0006304" />
</material>
<!-- Lower radial reflector -->
<material id="6">
<density value="4.32" units="g/cm3" />
<nuclide name="H1" wo="0.0095661" />
<nuclide name="O16" wo="0.0759107" />
<nuclide name="B10" wo="3.08409e-5" />
<nuclide name="B11" wo="1.40499e-4" />
<nuclide name="Fe54" wo="0.035620772088" />
<nuclide name="Fe56" wo="0.579805982228" />
<nuclide name="Fe57" wo="0.01362750048" />
<nuclide name="Fe58" wo="0.001848545204" />
<nuclide name="Ni58" wo="0.055298376566" />
<nuclide name="Ni60" wo="0.022034425592" />
<nuclide name="Ni61" wo="0.000973510811" />
<nuclide name="Ni62" wo="0.003155886695" />
<nuclide name="Ni64" wo="0.000829500336" />
<nuclide name="Mn55" wo="0.0182870" />
<nuclide name="Si28" wo="0.00839976771" />
<nuclide name="Si29" wo="0.00044199679" />
<nuclide name="Si30" wo="0.0003017355" />
<nuclide name="Cr50" wo="0.007251360806" />
<nuclide name="Cr52" wo="0.145407678031" />
<nuclide name="Cr53" wo="0.016806340306" />
<nuclide name="Cr54" wo="0.004261520857" />
<sab name="c_H_in_H2O" />
</material>
<!-- Upper radial reflector / Top plate region -->
<material id="7">
<density value="4.28" units="g/cm3" />
<nuclide name="H1" wo="0.0086117" />
<nuclide name="O16" wo="0.0683369" />
<nuclide name="B10" wo="2.77638e-5" />
<nuclide name="B11" wo="1.26481e-4" />
<nuclide name="Fe54" wo="0.035953677186" />
<nuclide name="Fe56" wo="0.585224740891" />
<nuclide name="Fe57" wo="0.01375486056" />
<nuclide name="Fe58" wo="0.001865821363" />
<nuclide name="Ni58" wo="0.055815129186" />
<nuclide name="Ni60" wo="0.022240333032" />
<nuclide name="Ni61" wo="0.000982608081" />
<nuclide name="Ni62" wo="0.003185377845" />
<nuclide name="Ni64" wo="0.000837251856" />
<nuclide name="Mn55" wo="0.0184579" />
<nuclide name="Si28" wo="0.00847831314" />
<nuclide name="Si29" wo="0.00044612986" />
<nuclide name="Si30" wo="0.000304557" />
<nuclide name="Cr50" wo="0.00731912987" />
<nuclide name="Cr52" wo="0.146766614995" />
<nuclide name="Cr53" wo="0.01696340737" />
<nuclide name="Cr54" wo="0.004301347765" />
<sab name="c_H_in_H2O" />
</material>
<!-- Bottom plate region -->
<material id="8">
<density value="7.184" units="g/cm3" />
<nuclide name="H1" wo="0.0011505" />
<nuclide name="O16" wo="0.0091296" />
<nuclide name="B10" wo="3.70915e-6" />
<nuclide name="B11" wo="1.68974e-5" />
<nuclide name="Fe54" wo="0.03855611055" />
<nuclide name="Fe56" wo="0.627585036425" />
<nuclide name="Fe57" wo="0.014750478" />
<nuclide name="Fe58" wo="0.002000875025" />
<nuclide name="Ni58" wo="0.059855207342" />
<nuclide name="Ni60" wo="0.023850159704" />
<nuclide name="Ni61" wo="0.001053732407" />
<nuclide name="Ni62" wo="0.003415945715" />
<nuclide name="Ni64" wo="0.000897854832" />
<nuclide name="Mn55" wo="0.0197940" />
<nuclide name="Si28" wo="0.00909197802" />
<nuclide name="Si29" wo="0.00047842098" />
<nuclide name="Si30" wo="0.000326601" />
<nuclide name="Cr50" wo="0.007848910646" />
<nuclide name="Cr52" wo="0.157390026871" />
<nuclide name="Cr53" wo="0.018191270146" />
<nuclide name="Cr54" wo="0.004612692337" />
<sab name="c_H_in_H2O" />
</material>
<!-- Bottom nozzle region -->
<material id="9">
<density value="2.53" units="g/cm3" />
<nuclide name="H1" wo="0.0245014" />
<nuclide name="O16" wo="0.1944274" />
<nuclide name="B10" wo="7.89917e-5" />
<nuclide name="B11" wo="3.59854e-4" />
<nuclide name="Fe54" wo="0.030411411144" />
<nuclide name="Fe56" wo="0.495012237964" />
<nuclide name="Fe57" wo="0.01163454624" />
<nuclide name="Fe58" wo="0.001578204652" />
<nuclide name="Ni58" wo="0.047211231662" />
<nuclide name="Ni60" wo="0.018811987544" />
<nuclide name="Ni61" wo="0.000831139127" />
<nuclide name="Ni62" wo="0.002694352115" />
<nuclide name="Ni64" wo="0.000708189552" />
<nuclide name="Mn55" wo="0.0156126" />
<nuclide name="Si28" wo="0.007171335558" />
<nuclide name="Si29" wo="0.000377356542" />
<nuclide name="Si30" wo="0.0002576079" />
<nuclide name="Cr50" wo="0.006190885148" />
<nuclide name="Cr52" wo="0.124142524198" />
<nuclide name="Cr53" wo="0.014348496148" />
<nuclide name="Cr54" wo="0.003638294506" />
<sab name="c_H_in_H2O" />
</material>
<!-- Top nozzle region -->
<material id="10">
<density value="1.746" units="g/cm3" />
<nuclide name="H1" wo="0.0358870" />
<nuclide name="O16" wo="0.2847761" />
<nuclide name="B10" wo="1.15699e-4" />
<nuclide name="B11" wo="5.27075e-4" />
<nuclide name="Fe54" wo="0.02644016154" />
<nuclide name="Fe56" wo="0.43037146399" />
<nuclide name="Fe57" wo="0.0101152584" />
<nuclide name="Fe58" wo="0.00137211607" />
<nuclide name="Ni58" wo="0.04104621835" />
<nuclide name="Ni60" wo="0.0163554502" />
<nuclide name="Ni61" wo="0.000722605975" />
<nuclide name="Ni62" wo="0.002342513875" />
<nuclide name="Ni64" wo="0.0006157116" />
<nuclide name="Mn55" wo="0.0135739" />
<nuclide name="Si28" wo="0.006234853554" />
<nuclide name="Si29" wo="0.000328078746" />
<nuclide name="Si30" wo="0.0002239677" />
<nuclide name="Cr50" wo="0.005382452306" />
<nuclide name="Cr52" wo="0.107931450781" />
<nuclide name="Cr53" wo="0.012474806806" />
<nuclide name="Cr54" wo="0.003163190107" />
<sab name="c_H_in_H2O" />
</material>
<!-- Top of Fuel Assemblies -->
<material id="11">
<density value="3.044" units="g/cm3" />
<nuclide name="H1" wo="0.0162913" />
<nuclide name="O16" wo="0.1292776" />
<nuclide name="B10" wo="5.25228e-5" />
<nuclide name="B11" wo="2.39272e-4" />
<nuclide name="Zr90" wo="0.43313403903" />
<nuclide name="Zr91" wo="0.09549277374" />
<nuclide name="Zr92" wo="0.14759527104" />
<nuclide name="Zr94" wo="0.15280552077" />
<nuclide name="Zr96" wo="0.02511169542" />
<sab name="c_H_in_H2O" />
</material>
<!-- Bottom of Fuel Assemblies -->
<material id="12">
<density value="1.762" units="g/cm3" />
<nuclide name="H1" wo="0.0292856" />
<nuclide name="O16" wo="0.2323919" />
<nuclide name="B10" wo="9.44159e-5" />
<nuclide name="B11" wo="4.30120e-4" />
<nuclide name="Zr90" wo="0.3741373658" />
<nuclide name="Zr91" wo="0.0824858164" />
<nuclide name="Zr92" wo="0.1274914944" />
<nuclide name="Zr94" wo="0.1319920622" />
<nuclide name="Zr96" wo="0.0216912612" />
<sab name="c_H_in_H2O" />
</material>
</materials>

View file

@ -1,11 +1,11 @@
k-combined:
9.581522E-01 4.261828E-02
6.161485E-01 2.229530E-02
tally 1:
1.529084E+01
4.769011E+01
7.433231E+00
1.122269E+01
tally 2:
3.198905E+00
2.114128E+00
2.545046E-01
1.340485E-02
tally 3:
4.510603E+01
4.183089E+02
1.136947E+01
2.646408E+01

View file

@ -1,18 +1,12 @@
<?xml version="1.0"?>
<settings>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
<source>
<space type="box">
<parameters>
-160 -160 -183
160 160 183
</parameters>
<space type="point">
<parameters>0.0 0.0 0.0</parameters>
</space>
</source>
</settings>

View file

@ -5,17 +5,17 @@
<filter id="1">
<type>cell</type>
<bins>21</bins>
<bins>1</bins>
</filter>
<filter id="2">
<type>cell</type>
<bins>22</bins>
<bins>2</bins>
</filter>
<filter id="3">
<type>cell</type>
<bins>23</bins>
<bins>3</bins>
</filter>
<tally id="1">

View file

@ -1,40 +0,0 @@
<?xml version="1.0"?>
<geometry>
<!-- pu-met-fast-019 -->
<surface id="1" type="sphere" coeffs="0. 0. 0. 1.4" />
<surface id="3" type="sphere" coeffs="0. 0. 0. 5.35" />
<surface id="4" type="sphere" coeffs="0. 0. 1.05 5.35" />
<surface id="5" type="z-cylinder" coeffs="0. 0. 5.50" />
<surface id="6" type="z-cylinder" coeffs="0. 0. 1.1" />
<surface id="7" type="sphere" coeffs="0. 0. 0. 11." />
<surface id="8" type="sphere" coeffs="0. 0. 1.05 11." />
<surface id="9" type="sphere" coeffs="0. 0. 0. 11.15" />
<surface id="10" type="z-plane" coeffs="0." />
<surface id="11" type="z-plane" coeffs="1." />
<surface id="12" type="z-plane" coeffs="1.20" />
<surface id="13" type="z-cylinder" coeffs="0. 0. 9.7" />
<surface id="14" type="z-cylinder" coeffs="0. 0. 2.5" />
<surface id="15" type="z-cylinder" coeffs="0. 0. 14." boundary="vacuum" />
<surface id="16" type="z-plane" coeffs="-0.15" />
<surface id="17" type="z-plane" coeffs="-14.15" boundary="vacuum" />
<surface id="18" type="z-plane" coeffs="14." boundary="vacuum" />
<cell id="1" material="void" region="-1" /> <!-- cavity -->
<cell id="2" material="1" region=" 1 -3" /> <!-- Pu Core -->
<cell id="3" material="void" region=" 3 -4 12" />
<cell id="4" material="void" region=" 3 -5 11 -12" />
<cell id="5" material="2" region=" 3 -7 -16" /> <!-- Bottom Reflector -->
<cell id="6" material="2" region=" 4 6 -8 12" /> <!-- top reflector -->
<cell id="7" material="void" region=" 3 10 -11 -15" />
<cell id="8" material="3" region=" 5 11 -12 -15" /> <!-- diaphragm -->
<cell id="9" material="void" region=" 7 -10 13 -15 17" />
<cell id="10" material="void" region=" 8 12 -15 -18" />
<cell id="11" material="4" region=" 7 -9 -13 -10" /> <!-- copper cup -->
<cell id="12" material="3" region=" 9 -10 -14 17" /> <!-- shaft -->
<cell id="13" material="void" region=" 9 -10 -13 14 17" />
<cell id="14" material="void" region=" 3 -7 -10 16" />
<cell id="15" material="void" region=" 4 -6 -8 12" /> <!-- polar hole in Top Reflector -->
</geometry>

View file

@ -0,0 +1,132 @@
<?xml version='1.0' encoding='utf-8'?>
<geometry>
<cell id="1" material="1" region="-1" universe="1" />
<cell id="2" material="void" region="1 -2" universe="1" />
<cell id="3" material="1" region="2 -3" universe="1" />
<cell id="4" material="void" region="3 -4" universe="1" />
<cell id="5" material="1" region="4 -5" universe="1" />
<cell id="6" material="void" region="5 -6" universe="1" />
<cell id="7" material="1" region="6 -7" universe="1" />
<cell id="8" material="void" region="7 -8" universe="1" />
<cell id="9" material="1" region="8 -9" universe="1" />
<cell id="10" material="void" region="9 -10" universe="1" />
<cell id="11" material="1" region="10 -11" universe="1" />
<cell id="12" material="void" region="11 -12" universe="1" />
<cell id="13" material="1" region="12 -13" universe="1" />
<cell id="14" material="void" region="13 -14" universe="1" />
<cell id="15" material="1" region="14 -15" universe="1" />
<cell id="16" material="void" region="15 -16" universe="1" />
<cell id="17" material="1" region="16 -17" universe="1" />
<cell id="18" material="void" region="17 -18" universe="1" />
<cell id="19" material="1" region="18 -19" universe="1" />
<cell id="20" material="void" region="19 -20" universe="1" />
<cell id="21" material="1" region="20 -21" universe="1" />
<cell id="22" material="void" region="21 -22" universe="1" />
<cell id="23" material="1" region="22 -23" universe="1" />
<cell id="24" material="void" region="23 -24" universe="1" />
<cell id="25" material="1" region="24 -25" universe="1" />
<cell id="26" material="void" region="25 -26" universe="1" />
<cell id="27" material="1" region="26 -27" universe="1" />
<cell id="28" material="void" region="27 -28" universe="1" />
<cell id="29" material="1" region="28 -29" universe="1" />
<cell id="30" material="void" region="29 -30" universe="1" />
<cell id="31" material="1" region="30 -31" universe="1" />
<cell id="32" material="void" region="31 -32" universe="1" />
<cell id="33" material="1" region="32 -33" universe="1" />
<cell id="34" material="void" region="33 -34" universe="1" />
<cell id="35" material="1" region="34 -35" universe="1" />
<cell id="36" material="void" region="35 -36" universe="1" />
<cell id="37" material="1" region="36 -37" universe="1" />
<cell id="38" material="void" region="37 -38" universe="1" />
<cell id="39" material="1" region="38 -39" universe="1" />
<cell id="40" material="void" region="39 -40" universe="1" />
<cell id="41" material="1" region="40 -41" universe="1" />
<cell id="42" material="void" region="41 -42" universe="1" />
<cell id="43" material="1" region="42 -43" universe="1" />
<cell id="44" material="void" region="43 -44" universe="1" />
<cell id="45" material="1" region="44 -45" universe="1" />
<cell id="46" material="void" region="45 -46" universe="1" />
<cell id="47" material="1" region="46 -47" universe="1" />
<cell id="48" material="void" region="47 -48" universe="1" />
<cell id="49" material="1" region="48 -49" universe="1" />
<cell id="50" material="void" region="49 -50" universe="1" />
<cell id="51" material="1" region="50" universe="1" />
<surface coeffs="0.0 0.0 0.0 1.0" id="1" type="sphere" />
<surface coeffs="0.0 0.0 0.0 3.020408163265306" id="2" type="sphere" />
<surface coeffs="0.0 0.0 0.0 5.040816326530612" id="3" type="sphere" />
<surface coeffs="0.0 0.0 0.0 7.061224489795918" id="4" type="sphere" />
<surface coeffs="0.0 0.0 0.0 9.081632653061224" id="5" type="sphere" />
<surface coeffs="0.0 0.0 0.0 11.102040816326529" id="6" type="sphere" />
<surface coeffs="0.0 0.0 0.0 13.122448979591836" id="7" type="sphere" />
<surface coeffs="0.0 0.0 0.0 15.142857142857142" id="8" type="sphere" />
<surface coeffs="0.0 0.0 0.0 17.163265306122447" id="9" type="sphere" />
<surface coeffs="0.0 0.0 0.0 19.183673469387752" id="10" type="sphere" />
<surface coeffs="0.0 0.0 0.0 21.204081632653057" id="11" type="sphere" />
<surface coeffs="0.0 0.0 0.0 23.224489795918366" id="12" type="sphere" />
<surface coeffs="0.0 0.0 0.0 25.24489795918367" id="13" type="sphere" />
<surface coeffs="0.0 0.0 0.0 27.265306122448976" id="14" type="sphere" />
<surface coeffs="0.0 0.0 0.0 29.285714285714285" id="15" type="sphere" />
<surface coeffs="0.0 0.0 0.0 31.30612244897959" id="16" type="sphere" />
<surface coeffs="0.0 0.0 0.0 33.326530612244895" id="17" type="sphere" />
<surface coeffs="0.0 0.0 0.0 35.3469387755102" id="18" type="sphere" />
<surface coeffs="0.0 0.0 0.0 37.367346938775505" id="19" type="sphere" />
<surface coeffs="0.0 0.0 0.0 39.38775510204081" id="20" type="sphere" />
<surface coeffs="0.0 0.0 0.0 41.408163265306115" id="21" type="sphere" />
<surface coeffs="0.0 0.0 0.0 43.42857142857142" id="22" type="sphere" />
<surface coeffs="0.0 0.0 0.0 45.44897959183673" id="23" type="sphere" />
<surface coeffs="0.0 0.0 0.0 47.469387755102034" id="24" type="sphere" />
<surface coeffs="0.0 0.0 0.0 49.48979591836734" id="25" type="sphere" />
<surface coeffs="0.0 0.0 0.0 51.51020408163265" id="26" type="sphere" />
<surface coeffs="0.0 0.0 0.0 53.53061224489795" id="27" type="sphere" />
<surface coeffs="0.0 0.0 0.0 55.55102040816326" id="28" type="sphere" />
<surface coeffs="0.0 0.0 0.0 57.57142857142857" id="29" type="sphere" />
<surface coeffs="0.0 0.0 0.0 59.59183673469387" id="30" type="sphere" />
<surface coeffs="0.0 0.0 0.0 61.61224489795918" id="31" type="sphere" />
<surface coeffs="0.0 0.0 0.0 63.63265306122448" id="32" type="sphere" />
<surface coeffs="0.0 0.0 0.0 65.65306122448979" id="33" type="sphere" />
<surface coeffs="0.0 0.0 0.0 67.67346938775509" id="34" type="sphere" />
<surface coeffs="0.0 0.0 0.0 69.6938775510204" id="35" type="sphere" />
<surface coeffs="0.0 0.0 0.0 71.71428571428571" id="36" type="sphere" />
<surface coeffs="0.0 0.0 0.0 73.73469387755101" id="37" type="sphere" />
<surface coeffs="0.0 0.0 0.0 75.75510204081633" id="38" type="sphere" />
<surface coeffs="0.0 0.0 0.0 77.77551020408163" id="39" type="sphere" />
<surface coeffs="0.0 0.0 0.0 79.79591836734693" id="40" type="sphere" />
<surface coeffs="0.0 0.0 0.0 81.81632653061223" id="41" type="sphere" />
<surface coeffs="0.0 0.0 0.0 83.83673469387755" id="42" type="sphere" />
<surface coeffs="0.0 0.0 0.0 85.85714285714285" id="43" type="sphere" />
<surface coeffs="0.0 0.0 0.0 87.87755102040815" id="44" type="sphere" />
<surface coeffs="0.0 0.0 0.0 89.89795918367346" id="45" type="sphere" />
<surface coeffs="0.0 0.0 0.0 91.91836734693877" id="46" type="sphere" />
<surface coeffs="0.0 0.0 0.0 93.93877551020407" id="47" type="sphere" />
<surface coeffs="0.0 0.0 0.0 95.95918367346938" id="48" type="sphere" />
<surface coeffs="0.0 0.0 0.0 97.97959183673468" id="49" type="sphere" />
<surface boundary="vacuum" coeffs="0.0 0.0 0.0 100.0" id="50" type="sphere" />
</geometry>
<?xml version='1.0' encoding='utf-8'?>
<materials>
<material id="1">
<density units="g/cm3" value="7.14" />
<nuclide ao="1.0" name="Zn64" />
</material>
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<run_mode>fixed source</run_mode>
<particles>1000</particles>
<batches>3</batches>
<source strength="1.0">
<space type="point">
<parameters>0.0 0.0 0.0</parameters>
</space>
</source>
</settings>
<?xml version='1.0' encoding='utf-8'?>
<tallies>
<filter id="1" type="cell">
<bins>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51</bins>
</filter>
<tally id="1">
<filters>1</filters>
<scores>total</scores>
</tally>
</tallies>

View file

@ -1,61 +0,0 @@
<?xml version="1.0"?>
<materials>
<!-- pu-met-fast-019 -->
<!-- Plutonium -->
<material id="1">
<density value="15.4757" units="g/cm3" />
<nuclide name="Pu239" ao="3.3930e-02" />
<nuclide name="Pu240" ao="3.5043e-03" />
<nuclide name="Pu241" ao="3.9189e-04" />
<nuclide name="Ga69" ao="1.3287e-03" />
<nuclide name="Ga71" ao="8.8181e-04" />
<nuclide name="Ni58" ao="9.6649e-04" />
<nuclide name="Ni60" ao="3.7229e-04" />
<nuclide name="Ni61" ao="1.6183e-05" />
<nuclide name="Ni62" ao="5.1599e-05" />
<nuclide name="Ni64" ao="1.3141e-05" />
<nuclide name="C0" ao="3.0246e-03" />
<!-- <nuclide name="W180" ao="8.8920e-08" /> -->
<nuclide name="W182" ao="1.9725e-05" />
<nuclide name="W183" ao="1.0604e-05" />
<nuclide name="W184" ao="2.2704e-05" />
<nuclide name="W186" ao="2.1067e-05" />
<nuclide name="Fe54" ao="1.9011e-05" />
<nuclide name="Fe56" ao="2.9843e-04" />
<nuclide name="Fe57" ao="6.8920e-06" />
<nuclide name="Fe58" ao="9.1720e-07" />
</material>
<!-- Reflector -->
<material id="2">
<density value="1.8169" units="g/cm3" />
<nuclide name="Be9" ao="1.2081e-01" />
<nuclide name="O16" ao="8.2033e-05" />
<nuclide name="O17" ao="3.1184e-08" />
<nuclide name="C0" ao="1.0020e-04" />
<nuclide name="Fe54" ao="2.9774e-06" />
<nuclide name="Fe56" ao="4.6739e-05" />
<nuclide name="Fe57" ao="1.0794e-06" />
<nuclide name="Fe58" ao="1.4365e-07" />
<sab name="c_Be" />
</material>
<!-- Steel Diaphragm and Steel Shaft -->
<material id="3">
<density value="7.5278" units="g/cm3" />
<nuclide name="Fe54" ao="4.7446e-03" />
<nuclide name="Fe56" ao="7.4480e-02" />
<nuclide name="Fe57" ao="1.7201e-03" />
<nuclide name="Fe58" ao="2.2891e-04" />
</material>
<!-- Copper Cup -->
<material id="4">
<density value="8.6913" units="g/cm3" />
<nuclide name="Cu63" ao="5.6972e-02" />
<nuclide name="Cu65" ao="2.5393e-02" />
</material>
</materials>

View file

@ -1,2 +1,103 @@
k-combined:
9.612556E-01 1.990135E-02
tally 1:
8.636087E-01
2.486134E-01
0.000000E+00
0.000000E+00
2.848447E+00
2.704761E+00
0.000000E+00
0.000000E+00
3.944691E+00
5.195294E+00
0.000000E+00
0.000000E+00
4.822264E+00
7.764351E+00
0.000000E+00
0.000000E+00
5.295627E+00
9.359046E+00
0.000000E+00
0.000000E+00
5.331702E+00
9.480054E+00
0.000000E+00
0.000000E+00
5.598029E+00
1.044833E+01
0.000000E+00
0.000000E+00
5.803138E+00
1.124136E+01
0.000000E+00
0.000000E+00
5.768440E+00
1.110547E+01
0.000000E+00
0.000000E+00
5.554687E+00
1.029492E+01
0.000000E+00
0.000000E+00
5.503880E+00
1.011832E+01
0.000000E+00
0.000000E+00
5.059080E+00
8.564408E+00
0.000000E+00
0.000000E+00
4.718153E+00
7.431929E+00
0.000000E+00
0.000000E+00
4.575826E+00
6.980348E+00
0.000000E+00
0.000000E+00
4.283929E+00
6.120164E+00
0.000000E+00
0.000000E+00
3.997971E+00
5.330979E+00
0.000000E+00
0.000000E+00
3.735927E+00
4.653022E+00
0.000000E+00
0.000000E+00
3.302545E+00
3.645387E+00
0.000000E+00
0.000000E+00
3.082630E+00
3.203343E+00
0.000000E+00
0.000000E+00
2.775434E+00
2.569844E+00
0.000000E+00
0.000000E+00
2.518170E+00
2.134420E+00
0.000000E+00
0.000000E+00
2.233921E+00
1.666795E+00
0.000000E+00
0.000000E+00
1.829991E+00
1.118883E+00
0.000000E+00
0.000000E+00
1.420528E+00
6.755061E-01
0.000000E+00
0.000000E+00
9.856494E-01
3.253539E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00

View file

@ -1,16 +0,0 @@
<?xml version="1.0"?>
<settings>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
<source>
<space>
<type>point</type>
<parameters>0.0 0.0 0.0</parameters>
</space>
</source>
</settings>

View file

@ -1,6 +1,39 @@
from tests.testing_harness import TestHarness
import numpy as np
import openmc
import pytest
from tests.testing_harness import PyAPITestHarness
@pytest.fixture
def model():
model = openmc.model.Model()
zn = openmc.Material()
zn.set_density('g/cm3', 7.14)
zn.add_nuclide('Zn64', 1.0)
model.materials.append(zn)
radii = np.linspace(1.0, 100.0)
surfs = [openmc.Sphere(r=r) for r in radii]
surfs[-1].boundary_type = 'vacuum'
cells = [openmc.Cell(fill=(zn if i % 2 == 0 else None), region=region)
for i, region in enumerate(openmc.model.subdivide(surfs))]
model.geometry = openmc.Geometry(cells)
model.settings.run_mode = 'fixed source'
model.settings.batches = 3
model.settings.particles = 1000
model.settings.source = openmc.Source(space=openmc.stats.Point())
cell_filter = openmc.CellFilter(cells)
tally = openmc.Tally()
tally.filters = [cell_filter]
tally.scores = ['total']
model.tallies.append(tally)
return model
def test_void():
harness = TestHarness('statepoint.10.h5')
def test_void(model):
harness = PyAPITestHarness('statepoint.3.h5', model)
harness.main()

View file

@ -72,10 +72,12 @@ class TestHarness(object):
# Read the statepoint file.
statepoint = glob.glob(self._sp_name)[0]
with openmc.StatePoint(statepoint) as sp:
# Write out k-combined.
outstr = 'k-combined:\n'
form = '{0:12.6E} {1:12.6E}\n'
outstr += form.format(sp.k_combined.n, sp.k_combined.s)
outstr = ''
if sp.run_mode == 'eigenvalue':
# Write out k-combined.
outstr += 'k-combined:\n'
form = '{0:12.6E} {1:12.6E}\n'
outstr += form.format(sp.k_combined.n, sp.k_combined.s)
# Write out tally data.
for i, tally_ind in enumerate(sp.tallies):

View file

@ -254,29 +254,29 @@ def test_set_fiss_q():
def test_get_set_chain_br(simple_chain):
"""Test minor modifications to capture branch ratios"""
expected = {"C": {"A": 0.7, "B": 0.3}}
assert simple_chain.get_capture_branches() == expected
assert simple_chain.get_branch_ratios() == expected
# safely modify
new_chain = Chain.from_xml("chain_test.xml")
new_br = {"C": {"A": 0.5, "B": 0.5}, "A": {"C": 0.99, "B": 0.01}}
new_chain.set_capture_branches(new_br)
assert new_chain.get_capture_branches() == new_br
new_chain.set_branch_ratios(new_br)
assert new_chain.get_branch_ratios() == new_br
# write, re-read
new_chain.export_to_xml("chain_mod.xml")
assert Chain.from_xml("chain_mod.xml").get_capture_branches() == new_br
assert Chain.from_xml("chain_mod.xml").get_branch_ratios() == new_br
# Test non-strict [warn, not error] setting
bad_br = {"B": {"X": 0.6, "A": 0.4}, "X": {"A": 0.5, "C": 0.5}}
bad_br.update(new_br)
new_chain.set_capture_branches(bad_br, strict=False)
assert new_chain.get_capture_branches() == new_br
new_chain.set_branch_ratios(bad_br, strict=False)
assert new_chain.get_branch_ratios() == new_br
# Ensure capture reactions are removed
rem_br = {"A": {"C": 1.0}}
new_chain.set_capture_branches(rem_br)
new_chain.set_branch_ratios(rem_br)
# A is not in returned dict because there is no branch
assert "A" not in new_chain.get_capture_branches()
assert "A" not in new_chain.get_branch_ratios()
def test_capture_branch_infer_ground():
@ -294,9 +294,9 @@ def test_capture_branch_infer_ground():
chain.nuclides.append(xe136m)
chain.nuclide_dict[xe136m.name] = len(chain.nuclides) - 1
chain.set_capture_branches(infer_br)
chain.set_branch_ratios(infer_br, "(n,gamma)")
assert chain.get_capture_branches() == set_br
assert chain.get_branch_ratios("(n,gamma)") == set_br
def test_capture_branch_no_rxn():
@ -311,9 +311,8 @@ def test_capture_branch_no_rxn():
chain.nuclides.append(u5m)
chain.nuclide_dict[u5m.name] = len(chain.nuclides) - 1
phrase = "U234 does not have capture reactions"
with pytest.raises(AttributeError, match=phrase):
chain.set_capture_branches(u4br)
with pytest.raises(AttributeError, match="U234"):
chain.set_branch_ratios(u4br)
def test_capture_branch_failures(simple_chain):
@ -322,17 +321,65 @@ def test_capture_branch_failures(simple_chain):
# Parent isotope not present
br = {"X": {"A": 0.6, "B": 0.7}}
with pytest.raises(KeyError, match="X"):
simple_chain.set_capture_branches(br)
simple_chain.set_branch_ratios(br)
# Product isotope not present
br = {"C": {"X": 0.4, "A": 0.2, "B": 0.4}}
with pytest.raises(KeyError, match="X"):
simple_chain.set_capture_branches(br)
simple_chain.set_branch_ratios(br)
# Sum of ratios > 1.0
br = {"C": {"A": 1.0, "B": 1.0}}
with pytest.raises(ValueError, match="C ratios"):
simple_chain.set_capture_branches(br)
with pytest.raises(ValueError, match=r"Sum of \(n,gamma\).*for C"):
simple_chain.set_branch_ratios(br, "(n,gamma)")
def test_set_alpha_branches():
"""Test setting of alpha reaction branching ratios"""
# Build a mock chain
chain = Chain()
parent = nuclide.Nuclide()
parent.name = "A"
he4 = nuclide.Nuclide()
he4.name = "He4"
ground_tgt = nuclide.Nuclide()
ground_tgt.name = "B"
meta_tgt = nuclide.Nuclide()
meta_tgt.name = "B_m1"
for ix, nuc in enumerate((parent, ground_tgt, meta_tgt, he4)):
chain.nuclides.append(nuc)
chain.nuclide_dict[nuc.name] = ix
# add reactions to parent
parent.reactions.append(nuclide.ReactionTuple(
"(n,a)", ground_tgt.name, 1.0, 0.6))
parent.reactions.append(nuclide.ReactionTuple(
"(n,a)", meta_tgt.name, 1.0, 0.4))
parent.reactions.append(nuclide.ReactionTuple(
"(n,a)", he4.name, 1.0, 1.0))
expected_ref = {"A": {"B": 0.6, "B_m1": 0.4}}
assert chain.get_branch_ratios("(n,a)") == expected_ref
# alter and check again
altered = {"A": {"B": 0.5, "B_m1": 0.5}}
chain.set_branch_ratios(altered, "(n,a)")
assert chain.get_branch_ratios("(n,a)") == altered
# make sure that alpha particle still produced
for r in parent.reactions:
if r.target == he4.name:
break
else:
raise ValueError("Helium has been removed and should not have been")
def test_simple_fission_yields(simple_chain):