Merge branch 'develop' into replicate-docstrings

This commit is contained in:
Will Boyd 2016-05-16 11:20:51 -04:00
commit 6dcc36eeb8
32 changed files with 1357 additions and 2471 deletions

File diff suppressed because one or more lines are too long

View file

@ -122,6 +122,16 @@ Many of the above classes are derived from several abstract classes:
openmc.Region
openmc.Lattice
One function is also available to create a hexagonal region defined by the
intersection of six surface half-spaces.
.. autosummary::
:toctree: generated
:nosignatures:
:template: myfunction.rst
openmc.make_hexagon_region
Constructing Tallies
--------------------

View file

@ -1033,6 +1033,20 @@ Each ``<cell>`` element can have the following attributes or sub-elements:
<cell fill="..." rotation="0 0 90" />
The rotation applied is an intrinsic rotation whose Tait-Bryan angles are
given as those specified about the x, y, and z axes respectively. That is to
say, if the angles are :math:`(\phi, \theta, \psi)`, then the rotation
matrix applied is :math:`R_z(\psi) R_y(\theta) R_x(\phi)` or
.. math::
\left [ \begin{array}{ccc} \cos\theta \cos\psi & -\cos\theta \sin\psi +
\sin\phi \sin\theta \cos\psi & \sin\phi \sin\psi + \cos\phi \sin\theta
\cos\psi \\ \cos\theta \sin\psi & \cos\phi \cos\psi + \sin\phi \sin\theta
\sin\psi & -\sin\phi \cos\psi + \cos\phi \sin\theta \sin\psi \\
-\sin\theta & \sin\phi \cos\theta & \cos\phi \cos\theta \end{array}
\right ]
*Default*: None
:translation:

View file

@ -23,7 +23,7 @@ def reset_auto_cell_id():
class Cell(object):
"""A region of space defined as the intersection of half-space created by
r"""A region of space defined as the intersection of half-space created by
quadric surfaces.
Parameters
@ -48,11 +48,24 @@ class Cell(object):
Indicates what the region of space is filled with
region : openmc.Region
Region of space that is assigned to the cell.
rotation : numpy.ndarray
rotation : Iterable of float
If the cell is filled with a universe, this array specifies the angles
in degrees about the x, y, and z axes that the filled universe should be
rotated.
translation : numpy.ndarray
rotated. The rotation applied is an intrinsic rotation with specified
Tait-Bryan angles. That is to say, if the angles are :math:`(\phi,
\theta, \psi)`, then the rotation matrix applied is :math:`R_z(\psi)
R_y(\theta) R_x(\phi)` or
.. math::
\left [ \begin{array}{ccc} \cos\theta \cos\psi & -\cos\theta \sin\psi
+ \sin\phi \sin\theta \cos\psi & \sin\phi \sin\psi + \cos\phi
\sin\theta \cos\psi \\ \cos\theta \sin\psi & \cos\phi \cos\psi +
\sin\phi \sin\theta \sin\psi & -\sin\phi \cos\psi + \cos\phi
\sin\theta \sin\psi \\ -\sin\theta & \sin\phi \cos\theta & \cos\phi
\cos\theta \end{array} \right ]
translation : Iterable of float
If the cell is filled with a universe, this array specifies a vector
that is used to translate (shift) the universe.
offsets : ndarray
@ -230,6 +243,10 @@ class Cell(object):
@rotation.setter
def rotation(self, rotation):
if not isinstance(self.fill, openmc.Universe):
raise RuntimeError('Cell rotation can only be applied if the cell '
'is filled with a Universe')
cv.check_type('cell rotation', rotation, Iterable, Real)
cv.check_length('cell rotation', rotation, 3)
self._rotation = rotation

View file

@ -1,7 +1,7 @@
import sys
import openmc
from openmc.checkvalue import check_type
from openmc.checkvalue import check_type, check_length
from openmc.data import natural_abundance
if sys.version_info[0] >= 3:
@ -99,7 +99,8 @@ class Element(object):
@name.setter
def name(self, name):
check_type('name', name, basestring)
check_type('element name', name, basestring)
check_length('element name', name, 1, 2)
self._name = name
@scattering.setter

View file

@ -30,8 +30,8 @@ class Lattice(object):
Unique identifier for the lattice
name : str
Name of the lattice
pitch : float
Pitch of the lattice in cm
pitch : Iterable of float
Pitch of the lattice in each direction in cm
outer : openmc.Universe
A universe to fill all space outside the lattice
universes : Iterable of Iterable of openmc.Universe
@ -259,8 +259,9 @@ class RectLattice(Lattice):
lower_left : Iterable of float
The coordinates of the lower-left corner of the lattice. If the lattice
is two-dimensional, only the x- and y-coordinates are specified.
pitch : float
Pitch of the lattice in cm
pitch : Iterable of float
Pitch of the lattice in the x, y, and (if applicable) z directions in
cm.
outer : openmc.Universe
A universe to fill all space outside the lattice
universes : Iterable of Iterable of openmc.Universe
@ -512,13 +513,19 @@ class HexLattice(Lattice):
center : Iterable of float
Coordinates of the center of the lattice. If the lattice does not have
axial sections then only the x- and y-coordinates are specified
pitch : float
Pitch of the lattice in cm
pitch : Iterable of float
Pitch of the lattice in cm. The first item in the iterable specifies the
pitch in the radial direction and, if the lattice is 3D, the second item
in the iterable specifies the pitch in the axial direction.
outer : openmc.Universe
A universe to fill all space outside the lattice
universes : Iterable of Iterable of openmc.Universe
A two- or three-dimensional list/array of universes filling each element
of the lattice
of the lattice. Each sub-list corresponds to one ring of universes and
should be ordered from outermost ring to innermost ring. The universes
within each sub-list are ordered from the "top" and proceed in a
clockwise fashion. The :meth:`HexLattice.show_indices` method can be
used to help figure out indices for this property.
"""
@ -882,3 +889,107 @@ class HexLattice(Lattice):
# Join the rows together and return the string.
universe_ids = '\n'.join(rows)
return universe_ids
@staticmethod
def show_indices(num_rings):
"""Return a diagram of the hexagonal lattice layout with indices.
This method can be used to show the proper indices to be used when
setting the :attr:`HexLattice.universes` property. For example, running
this method with num_rings=3 will return the following diagram::
(0, 0)
(0,11) (0, 1)
(0,10) (1, 0) (0, 2)
(1, 5) (1, 1)
(0, 9) (2, 0) (0, 3)
(1, 4) (1, 2)
(0, 8) (1, 3) (0, 4)
(0, 7) (0, 5)
(0, 6)
Parameters
----------
num_rings : int
Number of rings in the hexagonal lattice
Returns
-------
str
Diagram of the hexagonal lattice showing indices
"""
# Find the largest string and count the number of digits so we can
# properly pad the output string later
largest_index = 6*(num_rings - 1)
n_digits_index = len(str(largest_index))
n_digits_ring = len(str(num_rings - 1))
str_form = '({{:{}}},{{:{}}})'.format(n_digits_ring, n_digits_index)
pad = ' '*(n_digits_index + n_digits_ring + 3)
# Initialize the list for each row.
rows = [[] for i in range(1 + 4 * (num_rings-1))]
middle = 2 * (num_rings - 1)
# Start with the degenerate first ring.
rows[middle] = [str_form.format(num_rings - 1, 0)]
# Add universes one ring at a time.
for r in range(1, num_rings):
# r_prime increments down while r increments up.
r_prime = num_rings - 1 - r
theta = 0
y = middle + 2*r
for i in range(r):
# Climb down the top-right.
rows[y].append(str_form.format(r_prime, theta))
y -= 1
theta += 1
for i in range(r):
# Climb down the right.
rows[y].append(str_form.format(r_prime, theta))
y -= 2
theta += 1
for i in range(r):
# Climb down the bottom-right.
rows[y].append(str_form.format(r_prime, theta))
y -= 1
theta += 1
for i in range(r):
# Climb up the bottom-left.
rows[y].insert(0, str_form.format(r_prime, theta))
y += 1
theta += 1
for i in range(r):
# Climb up the left.
rows[y].insert(0, str_form.format(r_prime, theta))
y += 2
theta += 1
for i in range(r):
# Climb up the top-left.
rows[y].insert(0, str_form.format(r_prime, theta))
y += 1
theta += 1
# Flip the rows and join each row into a single string.
rows = [pad.join(x) for x in rows[::-1]]
# Pad the beginning of the rows so they line up properly.
for y in range(num_rings - 1):
rows[y] = (num_rings - 1 - y)*pad + rows[y]
rows[-1 - y] = (num_rings - 1 - y)*pad + rows[-1 - y]
for y in range(num_rings % 2, num_rings, 2):
rows[middle + y] = pad + rows[middle + y]
if y != 0:
rows[middle - y] = pad + rows[middle - y]
# Join the rows together and return the string.
return '\n'.join(rows)

View file

@ -506,7 +506,7 @@ class Material(object):
for nuclide_name in self._nuclides:
self._nuclides[nuclide_name][0].scattering = 'iso-in-lab'
for element_name in self._elements:
self._element[element_name][0].scattering = 'iso-in-lab'
self._elements[element_name][0].scattering = 'iso-in-lab'
def get_all_nuclides(self):
"""Returns all nuclides in the material

View file

@ -2672,7 +2672,7 @@ class ScatterMatrixXS(MGXS):
# Expand scores to match the format in the statepoint
# e.g., "scatter-P2" -> "scatter-0", "scatter-1", "scatter-2"
if self.legendre_order != 0:
if self.correction != 'P0' or self.legendre_order != 0:
tally_key = '{}-P{}'.format(self.rxn_type, self.legendre_order)
self.tallies[tally_key].scores = \
[self.rxn_type + '-{}'.format(i) for i in range(self.legendre_order+1)]
@ -2966,7 +2966,7 @@ class ScatterMatrixXS(MGXS):
# Place the moment column before the mean column
mean_index = df.columns.get_loc('mean')
columns = df.columns.tolist()
df = df[columns[:mean_index] + ['moment'] + columns[mean_index:-2]]
df = df[columns[:mean_index] + ['moment'] + columns[mean_index:-1]]
# Select rows corresponding to requested scattering moment
if moment != 'all':

View file

@ -1,6 +1,8 @@
import sys
import re
import os
import warnings
import numpy as np
import openmc

View file

@ -328,8 +328,8 @@ class Point(Spatial):
Parameters
----------
xyz : Iterable of float
Cartesian coordinates of location
xyz : Iterable of float, optional
Cartesian coordinates of location. Defaults to (0., 0., 0.).
Attributes
----------
@ -338,7 +338,7 @@ class Point(Spatial):
"""
def __init__(self, xyz):
def __init__(self, xyz=(0., 0., 0.)):
super(Point, self).__init__()
self.xyz = xyz

View file

@ -267,7 +267,7 @@ class Summary(object):
rotation = \
self._f['geometry/cells'][key]['rotation'][...]
rotation = np.asarray(rotation, dtype=np.int)
cell.rotation = rotation
cell._rotation = rotation
# Store Cell fill information for after Universe/Lattice creation
self._cell_fills[index] = (fill_type, fill)

View file

@ -2,11 +2,12 @@ from abc import ABCMeta
from numbers import Real, Integral
from xml.etree import ElementTree as ET
import sys
from math import sqrt
import numpy as np
from openmc.checkvalue import check_type, check_value, check_greater_than
from openmc.region import Region
from openmc.region import Region, Intersection
if sys.version_info[0] >= 3:
basestring = str
@ -1503,3 +1504,45 @@ class Halfspace(Region):
def __str__(self):
return '-' + str(self.surface.id) if self.side == '-' \
else str(self.surface.id)
def make_hexagon_region(edge_length=1., orientation='y'):
"""Create a hexagon region from six surface planes.
Parameters
----------
edge_length : float
Length of a side of the hexagon in cm
orientation : {'x', 'y'}
An 'x' orientation means that two sides of the hexagon are parallel to
the x-axis and a 'y' orientation means that two sides of the hexagon are
parallel to the y-axis.
Returns
-------
openmc.Region
The inside of a hexagonal prism
"""
l = edge_length
if orientation == 'x':
right = XPlane(x0=sqrt(3.)/2.*l)
left = XPlane(x0=-sqrt(3.)/2.*l)
c = sqrt(3.)/3.
ur = Plane(A=c, B=1., D=l) # y = -x/sqrt(3) + a
ul = Plane(A=-c, B=1., D=l) # y = x/sqrt(3) + a
lr = Plane(A=-c, B=1., D=-l) # y = x/sqrt(3) - a
ll = Plane(A=c, B=1., D=-l) # y = -x/sqrt(3) - a
return Intersection(-right, +left, -ur, -ul, +lr, +ll)
elif orientation == 'y':
top = YPlane(y0=sqrt(3.)/2.*l)
bottom = YPlane(y0=-sqrt(3.)/2.*l)
c = sqrt(3.)
ur = Plane(A=c, B=1., D=c*l) # y = -sqrt(3)*(x - a)
lr = Plane(A=-c, B=1., D=-c*l) # y = sqrt(3)*(x + a)
ll = Plane(A=c, B=1., D=-c*l) # y = -sqrt(3)*(x + a)
ul = Plane(A=-c, B=1., D=c*l) # y = sqrt(3)*(x + a)
return Intersection(-top, +bottom, -ur, +lr, +ll, -ul)

File diff suppressed because it is too large Load diff

View file

@ -375,7 +375,7 @@ contains
! Check what type of file this is
file_id = file_open(argv(i), 'r', parallel=.true.)
call read_dataset(file_id, 'filetype', filetype)
call read_dataset(filetype, file_id, 'filetype')
call file_close(file_id)
! Set path and flag for type of run
@ -401,7 +401,7 @@ contains
! Check file type is a source file
file_id = file_open(argv(i), 'r', parallel=.true.)
call read_dataset(file_id, 'filetype', filetype)
call read_dataset(filetype, file_id, 'filetype')
call file_close(file_id)
if (filetype /= 'source') then
call fatal_error("Second file after restart flag must be a &

View file

@ -34,7 +34,7 @@ contains
verbosity = 10
! Initialize the particle to be tracked
call p%initialize()
call p % initialize()
! Read in the restart information
call read_particle_restart(p, previous_run_mode)
@ -46,9 +46,9 @@ contains
select case (previous_run_mode)
case (MODE_EIGENVALUE)
particle_seed = ((current_batch - 1)*gen_per_batch + &
current_gen - 1)*n_particles + p%id
current_gen - 1)*n_particles + p % id
case (MODE_FIXEDSOURCE)
particle_seed = p%id
particle_seed = p % id
end select
call set_particle_seed(particle_seed)
@ -71,7 +71,7 @@ contains
integer :: int_scalar
integer(HID_T) :: file_id
character(MAX_WORD_LEN) :: mode
character(MAX_WORD_LEN) :: tempstr
! Write meessage
call write_message("Loading particle restart file " &
@ -81,32 +81,32 @@ contains
file_id = file_open(path_particle_restart, 'r')
! Read data from file
call read_dataset(file_id, 'filetype', int_scalar)
call read_dataset(file_id, 'revision', int_scalar)
call read_dataset(file_id, 'current_batch', current_batch)
call read_dataset(file_id, 'gen_per_batch', gen_per_batch)
call read_dataset(file_id, 'current_gen', current_gen)
call read_dataset(file_id, 'n_particles', n_particles)
call read_dataset(file_id, 'run_mode', mode)
select case (mode)
call read_dataset(tempstr, file_id, 'filetype')
call read_dataset(int_scalar, file_id, 'revision')
call read_dataset(current_batch, file_id, 'current_batch')
call read_dataset(gen_per_batch, file_id, 'gen_per_batch')
call read_dataset(current_gen, file_id, 'current_gen')
call read_dataset(n_particles, file_id, 'n_particles')
call read_dataset(tempstr, file_id, 'run_mode')
select case (tempstr)
case ('k-eigenvalue')
previous_run_mode = MODE_EIGENVALUE
case ('fixed source')
previous_run_mode = MODE_FIXEDSOURCE
end select
call read_dataset(file_id, 'id', p%id)
call read_dataset(file_id, 'weight', p%wgt)
call read_dataset(file_id, 'energy', p%E)
call read_dataset(file_id, 'energy_group', p%g)
call read_dataset(file_id, 'xyz', p%coord(1)%xyz)
call read_dataset(file_id, 'uvw', p%coord(1)%uvw)
call read_dataset(p % id, file_id, 'id')
call read_dataset(p % wgt, file_id, 'weight')
call read_dataset(p % E, file_id, 'energy')
call read_dataset(p % g, file_id, 'energy_group')
call read_dataset(p % coord(1) % xyz, file_id, 'xyz')
call read_dataset(p % coord(1) % uvw, file_id, 'uvw')
! Set particle last attributes
p%last_wgt = p%wgt
p%last_xyz = p%coord(1)%xyz
p%last_uvw = p%coord(1)%uvw
p%last_E = p%E
p%last_g = p%g
p % last_wgt = p % wgt
p % last_xyz = p % coord(1)%xyz
p % last_uvw = p % coord(1)%uvw
p % last_E = p % E
p % last_g = p % g
! Close hdf5 file
call file_close(file_id)

View file

@ -53,7 +53,7 @@ contains
file_id = file_open(path_source, 'r', parallel=.true.)
! Read the file type
call read_dataset(file_id, "filetype", filetype)
call read_dataset(filetype, file_id, "filetype")
! Check to make sure this is a source file
if (filetype /= 'source') then

View file

@ -703,25 +703,25 @@ contains
file_id = file_open(path_state_point, 'r', parallel=.true.)
! Read filetype
call read_dataset(file_id, "filetype", word)
call read_dataset(word, file_id, "filetype")
if (word /= 'statepoint') then
call fatal_error("OpenMC tried to restart from a non-statepoint file.")
end if
! Read revision number for state point file and make sure it matches with
! current version
call read_dataset(file_id, "revision", int_array(1))
call read_dataset(int_array(1), file_id, "revision")
if (int_array(1) /= REVISION_STATEPOINT) then
call fatal_error("State point version does not match current version &
&in OpenMC.")
end if
! Read and overwrite random number seed
call read_dataset(file_id, "seed", seed)
call read_dataset(seed, file_id, "seed")
! It is not impossible for a state point to be generated from a CE run but
! to be loaded in to an MG run (or vice versa), check to prevent that.
call read_dataset(file_id, "run_CE", sp_run_CE)
call read_dataset(sp_run_CE, file_id, "run_CE")
if (sp_run_CE == 0 .and. run_CE) then
call fatal_error("State point file is from multi-group run but &
& current run is continous-energy!")
@ -731,24 +731,24 @@ contains
end if
! Read and overwrite run information except number of batches
call read_dataset(file_id, "run_mode", word)
call read_dataset(word, file_id, "run_mode")
select case(word)
case ('fixed source')
run_mode = MODE_FIXEDSOURCE
case ('k-eigenvalue')
run_mode = MODE_EIGENVALUE
end select
call read_dataset(file_id, "n_particles", n_particles)
call read_dataset(file_id, "n_batches", int_array(1))
call read_dataset(n_particles, file_id, "n_particles")
call read_dataset(int_array(1), file_id, "n_batches")
! Take maximum of statepoint n_batches and input n_batches
n_batches = max(n_batches, int_array(1))
! Read batch number to restart at
call read_dataset(file_id, "current_batch", restart_batch)
call read_dataset(restart_batch, file_id, "current_batch")
! Check for source in statepoint if needed
call read_dataset(file_id, "source_present", int_array(1))
call read_dataset(int_array(1), file_id, "source_present")
if (int_array(1) == 1) then
source_present = .true.
else
@ -762,37 +762,37 @@ contains
! Read information specific to eigenvalue run
if (run_mode == MODE_EIGENVALUE) then
call read_dataset(file_id, "n_inactive", int_array(1))
call read_dataset(file_id, "gen_per_batch", gen_per_batch)
call read_dataset(file_id, "k_generation", &
k_generation(1:restart_batch*gen_per_batch))
call read_dataset(file_id, "entropy", &
entropy(1:restart_batch*gen_per_batch))
call read_dataset(file_id, "k_col_abs", k_col_abs)
call read_dataset(file_id, "k_col_tra", k_col_tra)
call read_dataset(file_id, "k_abs_tra", k_abs_tra)
call read_dataset(file_id, "k_combined", real_array(1:2))
call read_dataset(int_array(1), file_id, "n_inactive")
call read_dataset(gen_per_batch, file_id, "gen_per_batch")
call read_dataset(k_generation(1:restart_batch*gen_per_batch), &
file_id, "k_generation")
call read_dataset(entropy(1:restart_batch*gen_per_batch), &
file_id, "entropy")
call read_dataset(k_col_abs, file_id, "k_col_abs")
call read_dataset(k_col_tra, file_id, "k_col_tra")
call read_dataset(k_abs_tra, file_id, "k_abs_tra")
call read_dataset(real_array(1:2), file_id, "k_combined")
! Take maximum of statepoint n_inactive and input n_inactive
n_inactive = max(n_inactive, int_array(1))
! Read in to see if CMFD was on
call read_dataset(file_id, "cmfd_on", int_array(1))
call read_dataset(int_array(1), file_id, "cmfd_on")
! Read in CMFD info
if (int_array(1) == 1) then
cmfd_group = open_group(file_id, "cmfd")
call read_dataset(cmfd_group, "indices", cmfd%indices)
call read_dataset(cmfd_group, "k_cmfd", cmfd%k_cmfd(1:restart_batch))
call read_dataset(cmfd_group, "cmfd_src", cmfd%cmfd_src)
call read_dataset(cmfd_group, "cmfd_entropy", &
cmfd%entropy(1:restart_batch))
call read_dataset(cmfd_group, "cmfd_balance", &
cmfd%balance(1:restart_batch))
call read_dataset(cmfd_group, "cmfd_dominance", &
cmfd%dom(1:restart_batch))
call read_dataset(cmfd_group, "cmfd_srccmp", &
cmfd%src_cmp(1:restart_batch))
call read_dataset(cmfd % indices, cmfd_group, "indices")
call read_dataset(cmfd % k_cmfd(1:restart_batch), cmfd_group, "k_cmfd")
call read_dataset(cmfd % cmfd_src, cmfd_group, "cmfd_src")
call read_dataset(cmfd % entropy(1:restart_batch), cmfd_group, &
"cmfd_entropy")
call read_dataset(cmfd % balance(1:restart_batch), cmfd_group, &
"cmfd_balance")
call read_dataset(cmfd % dom(1:restart_batch), cmfd_group, &
"cmfd_dominance")
call read_dataset(cmfd % src_cmp(1:restart_batch), cmfd_group, &
"cmfd_srccmp")
call close_group(cmfd_group)
end if
end if
@ -812,14 +812,14 @@ contains
#endif
! Read number of realizations for global tallies
call read_dataset(file_id, "n_realizations", n_realizations, indep=.true.)
call read_dataset(n_realizations, file_id, "n_realizations", indep=.true.)
! Read global tally data
call read_dataset(file_id, "global_tallies", global_tallies)
! Check if tally results are present
tallies_group = open_group(file_id, "tallies")
call read_dataset(tallies_group, "tallies_present", int_array(1), &
call read_dataset(int_array(1), tallies_group, "tallies_present", &
indep=.true.)
! Read in sum and sum squared
@ -832,8 +832,8 @@ contains
tally_group = open_group(tallies_group, "tally " // &
trim(to_str(tally % id)))
call read_dataset(tally_group, "results", tally % results)
call read_dataset(tally_group, "n_realizations", &
tally % n_realizations)
call read_dataset(tally % n_realizations, tally_group, &
"n_realizations")
call close_group(tally_group)
end do TALLY_RESULTS
end if
@ -859,7 +859,7 @@ contains
file_id = file_open(path_source_point, 'r', parallel=.true.)
! Read file type
call read_dataset(file_id, "filetype", int_array(1))
call read_dataset(int_array(1), file_id, "filetype")
end if

View file

@ -1 +1 @@
ee40a2b826dea8323249c7261502f8339c78a5dc236e019842cc5244c048d5978fe66e036b86d46b262260556fbd62b19cbb2f0d70325b92b8c40275e75afe4f
104e7fb527770ac5d3fc636da7716e8fb05d55761253d30516c899f466e6b38ffd881611a3d0cdf65c6af058c32f6f6758c68782be7a170d21024bdae751862f

View file

@ -1,49 +1,85 @@
material group in nuclide mean std. dev.
0 1 1 total 0.412084 0.02359 material group in nuclide mean std. dev.
0 1 1 total 0.076425 0.003691 material group in group out nuclide mean std. dev.
0 1 1 1 total 0.345503 0.021465 material group out nuclide mean std. dev.
0 1 1 total 0.076425 0.003691 material group in group out nuclide moment mean std. dev.
0 1 1 1 total P0 0.384780 0.022253
1 1 1 1 total P1 0.039277 0.004308
2 1 1 1 total P2 0.017574 0.002402
3 1 1 1 total P3 0.012203 0.002164 material group out nuclide mean std. dev.
0 1 1 total 1.0 0.055333 material group in nuclide mean std. dev.
0 2 1 total 0.241262 0.00841 material group in nuclide mean std. dev.
0 2 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 2 1 1 total 0.241262 0.00841 material group out nuclide mean std. dev.
0 2 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 2 1 1 total P0 0.272369 0.006872
1 2 1 1 total P1 0.031107 0.005483
2 2 1 1 total P2 0.025999 0.006151
3 2 1 1 total P3 0.003219 0.003312 material group out nuclide mean std. dev.
0 2 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 3 1 total 0.400028 0.034667 material group in nuclide mean std. dev.
0 3 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 3 1 1 total 0.393462 0.033646 material group out nuclide mean std. dev.
0 3 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 3 1 1 total P0 0.794999 0.036548
1 3 1 1 total P1 0.401537 0.016175
2 3 1 1 total P2 0.143623 0.008719
3 3 1 1 total P3 0.001991 0.004433 material group out nuclide mean std. dev.
0 3 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 4 1 total 0.377402 0.072937 material group in nuclide mean std. dev.
0 4 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 4 1 1 total 0.371473 0.071226 material group out nuclide mean std. dev.
0 4 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 4 1 1 total P0 0.727311 0.080096
1 4 1 1 total P1 0.355839 0.037901
2 4 1 1 total P2 0.124483 0.015823
3 4 1 1 total P3 0.012168 0.006224 material group out nuclide mean std. dev.
0 4 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 5 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 5 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 5 1 1 total 0.0 0.0 material group out nuclide mean std. dev.
0 5 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 5 1 1 total P0 0.0 0.0
1 5 1 1 total P1 0.0 0.0
2 5 1 1 total P2 0.0 0.0
3 5 1 1 total P3 0.0 0.0 material group out nuclide mean std. dev.
0 5 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 6 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 6 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 6 1 1 total 0.0 0.0 material group out nuclide mean std. dev.
0 6 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 6 1 1 total P0 0.0 0.0
1 6 1 1 total P1 0.0 0.0
2 6 1 1 total P2 0.0 0.0
3 6 1 1 total P3 0.0 0.0 material group out nuclide mean std. dev.
0 6 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 7 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 7 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 7 1 1 total 0.0 0.0 material group out nuclide mean std. dev.
0 7 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 7 1 1 total P0 0.0 0.0
1 7 1 1 total P1 0.0 0.0
2 7 1 1 total P2 0.0 0.0
3 7 1 1 total P3 0.0 0.0 material group out nuclide mean std. dev.
0 7 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 8 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 8 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 8 1 1 total 0.0 0.0 material group out nuclide mean std. dev.
0 8 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 8 1 1 total P0 0.0 0.0
1 8 1 1 total P1 0.0 0.0
2 8 1 1 total P2 0.0 0.0
3 8 1 1 total P3 0.0 0.0 material group out nuclide mean std. dev.
0 8 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 9 1 total 0.600536 0.748875 material group in nuclide mean std. dev.
0 9 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 9 1 1 total 0.600536 0.748875 material group out nuclide mean std. dev.
0 9 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 9 1 1 total P0 0.720380 0.771015
1 9 1 1 total P1 0.119844 0.184691
2 9 1 1 total P2 0.038522 0.064485
3 9 1 1 total P3 0.056023 0.050595 material group out nuclide mean std. dev.
0 9 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 10 1 total 0.235515 0.613974 material group in nuclide mean std. dev.
0 10 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 10 1 1 total 0.235515 0.613974 material group out nuclide mean std. dev.
0 10 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 10 1 1 total P0 0.501009 0.708534
1 10 1 1 total P1 0.265494 0.375465
2 10 1 1 total P2 0.141979 0.200788
3 10 1 1 total P3 0.074258 0.105017 material group out nuclide mean std. dev.
0 10 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 11 1 total 0.510145 0.741941 material group in nuclide mean std. dev.
0 11 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 11 1 1 total 0.491857 0.715554 material group out nuclide mean std. dev.
0 11 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 11 1 1 total P0 0.804661 0.817658
1 11 1 1 total P1 0.312803 0.315315
2 11 1 1 total P2 0.168113 0.172935
3 11 1 1 total P3 0.003808 0.037911 material group out nuclide mean std. dev.
0 11 1 total 0.0 0.0 material group in nuclide mean std. dev.
0 12 1 total 0.73836 0.825631 material group in nuclide mean std. dev.
0 12 1 total 0.0 0.0 material group in group out nuclide mean std. dev.
0 12 1 1 total 0.723265 0.808231 material group out nuclide mean std. dev.
0 12 1 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
0 12 1 1 total P0 0.943429 0.856119
1 12 1 1 total P1 0.220164 0.163180
2 12 1 1 total P2 0.052884 0.042440
3 12 1 1 total P3 0.039939 0.032867 material group out nuclide mean std. dev.
0 12 1 total 0.0 0.0

View file

@ -28,6 +28,7 @@ class MGXSTestHarness(PyAPITestHarness):
self.mgxs_lib.mgxs_types = ['transport', 'nu-fission',
'nu-scatter matrix', 'chi']
self.mgxs_lib.energy_groups = energy_groups
self.mgxs_lib.legendre_order = 3
self.mgxs_lib.domain_type = 'material'
self.mgxs_lib.build_library()

View file

@ -1 +1 @@
c46381a2d86bd849ca20dc64022ffcf836ba0f236f392bba6335c42559df61d14d09a616bc3a9590d954a5bf099610eb071982296b75b10d1c168cc3e343d383
018bbbc2099f7b94180b391e46e42fc9a82498c60b3f8f7f4c91480ea373427932d287fe571d53b2397f329e71485e7155d7644f0f995bbcb458ba3e872ab043

View file

@ -1,5 +1,8 @@
avg(distribcell) group in nuclide mean std. dev.
0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 total 0.718919 0.520644 avg(distribcell) group in nuclide mean std. dev.
0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 total 0.0 0.0 avg(distribcell) group in group out nuclide mean std. dev.
0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 1 total 0.695166 0.510606 avg(distribcell) group out nuclide mean std. dev.
0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 total 0.0 0.0 avg(distribcell) group in group out nuclide moment mean std. dev.
0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 1 total P0 1.142547 0.570131
1 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 1 total P1 0.447381 0.216322
2 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 1 total P2 0.141202 0.066504
3 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 1 total P3 0.039228 0.024621 avg(distribcell) group out nuclide mean std. dev.
0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 total 0.0 0.0

View file

@ -29,6 +29,7 @@ class MGXSTestHarness(PyAPITestHarness):
self.mgxs_lib.mgxs_types = ['transport', 'nu-fission',
'nu-scatter matrix', 'chi']
self.mgxs_lib.energy_groups = energy_groups
self.mgxs_lib.legendre_order = 3
self.mgxs_lib.domain_type = 'distribcell'
material_cells = self.mgxs_lib.openmc_geometry.get_all_material_cells()
self.mgxs_lib.domains = [material_cells[-1]]

View file

@ -1 +1 @@
ee40a2b826dea8323249c7261502f8339c78a5dc236e019842cc5244c048d5978fe66e036b86d46b262260556fbd62b19cbb2f0d70325b92b8c40275e75afe4f
104e7fb527770ac5d3fc636da7716e8fb05d55761253d30516c899f466e6b38ffd881611a3d0cdf65c6af058c32f6f6758c68782be7a170d21024bdae751862f

View file

@ -5,10 +5,16 @@ domain=1 type=nu-fission
[ 0.02178897 0.71407658]
[ 0.00118187 0.04055185]
domain=1 type=nu-scatter matrix
[[ 0.33724504 0.00155945]
[ 0. 0.42205129]]
[[ 0.02301463 0.00051015]
[ 0. 0.02161702]]
[[[ 3.81546297e-01 4.43012537e-02 2.06462886e-02 1.36952959e-02]
[ 1.55945353e-03 -5.97269486e-04 -2.38789528e-04 1.75508083e-04]]
[[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]
[ 4.03915981e-01 -1.13103276e-02 -1.48065932e-02 -6.85505346e-03]]]
[[[ 0.02403322 0.00472203 0.00253903 0.00222437]
[ 0.00051015 0.00022485 0.00022157 0.00020939]]
[[ 0. 0. 0. 0. ]
[ 0.01896646 0.00783919 0.00862908 0.00904704]]]
domain=1 type=chi
[ 1. 0.]
[ 0.05533329 0. ]
@ -19,10 +25,16 @@ domain=2 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=2 type=nu-scatter matrix
[[ 0.23725441 0. ]
[ 0. 0.28593027]]
[[ 0.00818357 0. ]
[ 0. 0.04879593]]
[[[ 0.27311543 0.03586102 0.02970389 0.00224892]
[ 0. 0. 0. 0. ]]
[[ 0. 0. 0. 0. ]
[ 0.26405068 -0.02187959 -0.01529469 0.01403395]]]
[[[ 0.00625287 0.00587756 0.00664018 0.00337568]
[ 0. 0. 0. 0. ]]
[[ 0. 0. 0. 0. ]
[ 0.04539742 0.01221814 0.01027609 0.01431818]]]
domain=2 type=chi
[ 0. 0.]
[ 0. 0.]
@ -33,10 +45,16 @@ domain=3 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=3 type=nu-scatter matrix
[[ 0.25993686 0.02618721]
[ 0. 1.35952132]]
[[ 0.02611466 0.00166461]
[ 0. 0.2585046 ]]
[[[ 0.64334557 0.38340871 0.15218526 0.00303724]
[ 0.02618721 0.00736219 -0.00273849 -0.00271989]]
[[ 0. 0. 0. 0. ]
[ 1.92421362 0.4984312 0.09120485 0.01705441]]]
[[[ 0.02837604 0.01644677 0.00957372 0.00464802]
[ 0.00166461 0.00093414 0.00075617 0.00055807]]
[[ 0. 0. 0. 0. ]
[ 0.28406198 0.06342067 0.01372628 0.01391602]]]
domain=3 type=chi
[ 0. 0.]
[ 0. 0.]
@ -47,10 +65,16 @@ domain=4 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=4 type=nu-scatter matrix
[[ 0.2179296 0.023662 ]
[ 0. 1.21507398]]
[[ 0.0585649 0.00308328]
[ 0. 0.3810251 ]]
[[[ 0.54394096 0.32601136 0.13113269 0.01210477]
[ 0.023662 0.00752551 -0.00272975 -0.0031405 ]]
[[ 0. 0. 0. 0. ]
[ 1.76464845 0.50069481 0.09902596 0.03297543]]]
[[[ 0.06542705 0.03860196 0.0174751 0.00607268]
[ 0.00308328 0.00130111 0.00084112 0.00057761]]
[[ 0. 0. 0. 0. ]
[ 0.41620952 0.12217802 0.03871874 0.02510259]]]
domain=4 type=chi
[ 0. 0.]
[ 0. 0.]
@ -61,10 +85,16 @@ domain=5 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=5 type=nu-scatter matrix
[[ 0. 0.]
[ 0. 0.]]
[[ 0. 0.]
[ 0. 0.]]
[[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]]
[[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]]
domain=5 type=chi
[ 0. 0.]
[ 0. 0.]
@ -75,10 +105,16 @@ domain=6 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=6 type=nu-scatter matrix
[[ 0. 0.]
[ 0. 0.]]
[[ 0. 0.]
[ 0. 0.]]
[[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]]
[[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]]
domain=6 type=chi
[ 0. 0.]
[ 0. 0.]
@ -89,10 +125,16 @@ domain=7 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=7 type=nu-scatter matrix
[[ 0. 0.]
[ 0. 0.]]
[[ 0. 0.]
[ 0. 0.]]
[[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]]
[[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]]
domain=7 type=chi
[ 0. 0.]
[ 0. 0.]
@ -103,10 +145,16 @@ domain=8 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=8 type=nu-scatter matrix
[[ 0. 0.]
[ 0. 0.]]
[[ 0. 0.]
[ 0. 0.]]
[[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]]
[[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]]
domain=8 type=chi
[ 0. 0.]
[ 0. 0.]
@ -117,10 +165,16 @@ domain=9 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=9 type=nu-scatter matrix
[[ 0.60053598 0. ]
[ 0. 0. ]]
[[ 0.74887543 0. ]
[ 0. 0. ]]
[[[ 0.72037987 0.11984389 0.03852204 0.05602285]
[ 0. 0. 0. 0. ]]
[[ 0. 0. 0. 0. ]
[ 0. 0. 0. 0. ]]]
[[[ 0.77101455 0.18469083 0.06448453 0.05059534]
[ 0. 0. 0. 0. ]]
[[ 0. 0. 0. 0. ]
[ 0. 0. 0. 0. ]]]
domain=9 type=chi
[ 0. 0.]
[ 0. 0.]
@ -131,10 +185,16 @@ domain=10 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=10 type=nu-scatter matrix
[[ 0.23551495 0. ]
[ 0. 0. ]]
[[ 0.61397415 0. ]
[ 0. 0. ]]
[[[ 0.50100891 0.26549396 0.14197875 0.07425836]
[ 0. 0. 0. 0. ]]
[[ 0. 0. 0. 0. ]
[ 0. 0. 0. 0. ]]]
[[[ 0.70853359 0.37546516 0.20078827 0.10501718]
[ 0. 0. 0. 0. ]]
[[ 0. 0. 0. 0. ]
[ 0. 0. 0. 0. ]]]
domain=10 type=chi
[ 0. 0.]
[ 0. 0.]
@ -145,10 +205,16 @@ domain=11 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=11 type=nu-scatter matrix
[[ 0.15444875 0.03187517]
[ 0. 0.90308451]]
[[ 0.59768579 0.0450783 ]
[ 0. 1.53214394]]
[[[ 0.47812753 0.32367878 0.14337507 0.05400336]
[ 0.03187517 0.00858456 -0.01246962 -0.01132019]]
[[ 0. 0. 0. 0. ]
[ 1.20124973 0.28661101 0.21819147 -0.04851424]]]
[[[ 0.67617444 0.45775092 0.20276296 0.07637229]
[ 0.0450783 0.0121404 0.01763471 0.01600917]]
[[ 0. 0. 0. 0. ]
[ 1.69882367 0.40532917 0.30856933 0.0686095 ]]]
domain=11 type=chi
[ 0. 0.]
[ 0. 0.]
@ -159,10 +225,16 @@ domain=12 type=nu-fission
[ 0. 0.]
[ 0. 0.]
domain=12 type=nu-scatter matrix
[[ 0.18605249 0.02723959]
[ 0. 1.35711799]]
[[ 0.25763254 0.02955488]
[ 0. 2.08984614]]
[[[ 0.40859392 0.22254143 0.0909719 0.03100368]
[ 0.02723959 -0.01008785 -0.00694631 0.00969231]]
[[ 0. 0. 0. 0. ]
[ 1.57432766 0.22974802 0.01417839 0.03899727]]]
[[[ 0.27812309 0.14577636 0.06962553 0.03598053]
[ 0.02955488 0.01094529 0.00753673 0.01051613]]
[[ 0. 0. 0. 0. ]
[ 2.22643553 0.32491277 0.02005128 0.05515046]]]
domain=12 type=chi
[ 0. 0.]
[ 0. 0.]

View file

@ -29,6 +29,7 @@ class MGXSTestHarness(PyAPITestHarness):
self.mgxs_lib.mgxs_types = ['transport', 'nu-fission',
'nu-scatter matrix', 'chi']
self.mgxs_lib.energy_groups = energy_groups
self.mgxs_lib.legendre_order = 3
self.mgxs_lib.domain_type = 'material'
self.mgxs_lib.build_library()

View file

@ -1 +1 @@
ee40a2b826dea8323249c7261502f8339c78a5dc236e019842cc5244c048d5978fe66e036b86d46b262260556fbd62b19cbb2f0d70325b92b8c40275e75afe4f
104e7fb527770ac5d3fc636da7716e8fb05d55761253d30516c899f466e6b38ffd881611a3d0cdf65c6af058c32f6f6758c68782be7a170d21024bdae751862f

View file

@ -2,120 +2,264 @@
1 1 1 total 0.372745 0.024269
0 1 2 total 0.861607 0.032349 material group in nuclide mean std. dev.
1 1 1 total 0.021789 0.001182
0 1 2 total 0.714077 0.040552 material group in group out nuclide mean std. dev.
3 1 1 1 total 0.337245 0.023015
2 1 1 2 total 0.001559 0.000510
1 1 2 1 total 0.000000 0.000000
0 1 2 2 total 0.422051 0.021617 material group out nuclide mean std. dev.
0 1 2 total 0.714077 0.040552 material group in group out nuclide moment mean std. dev.
12 1 1 1 total P0 0.381546 0.024033
13 1 1 1 total P1 0.044301 0.004722
14 1 1 1 total P2 0.020646 0.002539
15 1 1 1 total P3 0.013695 0.002224
8 1 1 2 total P0 0.001559 0.000510
9 1 1 2 total P1 -0.000597 0.000225
10 1 1 2 total P2 -0.000239 0.000222
11 1 1 2 total P3 0.000176 0.000209
4 1 2 1 total P0 0.000000 0.000000
5 1 2 1 total P1 0.000000 0.000000
6 1 2 1 total P2 0.000000 0.000000
7 1 2 1 total P3 0.000000 0.000000
0 1 2 2 total P0 0.403916 0.018966
1 1 2 2 total P1 -0.011310 0.007839
2 1 2 2 total P2 -0.014807 0.008629
3 1 2 2 total P3 -0.006855 0.009047 material group out nuclide mean std. dev.
1 1 1 total 1.0 0.055333
0 1 2 total 0.0 0.000000 material group in nuclide mean std. dev.
1 2 1 total 0.237254 0.008184
0 2 2 total 0.285930 0.048796 material group in nuclide mean std. dev.
1 2 1 total 0.0 0.0
0 2 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 2 1 1 total 0.237254 0.008184
2 2 1 2 total 0.000000 0.000000
1 2 2 1 total 0.000000 0.000000
0 2 2 2 total 0.285930 0.048796 material group out nuclide mean std. dev.
0 2 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 2 1 1 total P0 0.273115 0.006253
13 2 1 1 total P1 0.035861 0.005878
14 2 1 1 total P2 0.029704 0.006640
15 2 1 1 total P3 0.002249 0.003376
8 2 1 2 total P0 0.000000 0.000000
9 2 1 2 total P1 0.000000 0.000000
10 2 1 2 total P2 0.000000 0.000000
11 2 1 2 total P3 0.000000 0.000000
4 2 2 1 total P0 0.000000 0.000000
5 2 2 1 total P1 0.000000 0.000000
6 2 2 1 total P2 0.000000 0.000000
7 2 2 1 total P3 0.000000 0.000000
0 2 2 2 total P0 0.264051 0.045397
1 2 2 2 total P1 -0.021880 0.012218
2 2 2 2 total P2 -0.015295 0.010276
3 2 2 2 total P3 0.014034 0.014318 material group out nuclide mean std. dev.
1 2 1 total 0.0 0.0
0 2 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 3 1 total 0.286906 0.027401
0 3 2 total 1.418151 0.265308 material group in nuclide mean std. dev.
1 3 1 total 0.0 0.0
0 3 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 3 1 1 total 0.259937 0.026115
2 3 1 2 total 0.026187 0.001665
1 3 2 1 total 0.000000 0.000000
0 3 2 2 total 1.359521 0.258505 material group out nuclide mean std. dev.
0 3 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 3 1 1 total P0 0.643346 0.028376
13 3 1 1 total P1 0.383409 0.016447
14 3 1 1 total P2 0.152185 0.009574
15 3 1 1 total P3 0.003037 0.004648
8 3 1 2 total P0 0.026187 0.001665
9 3 1 2 total P1 0.007362 0.000934
10 3 1 2 total P2 -0.002738 0.000756
11 3 1 2 total P3 -0.002720 0.000558
4 3 2 1 total P0 0.000000 0.000000
5 3 2 1 total P1 0.000000 0.000000
6 3 2 1 total P2 0.000000 0.000000
7 3 2 1 total P3 0.000000 0.000000
0 3 2 2 total P0 1.924214 0.284062
1 3 2 2 total P1 0.498431 0.063421
2 3 2 2 total P2 0.091205 0.013726
3 3 2 2 total P3 0.017054 0.013916 material group out nuclide mean std. dev.
1 3 1 total 0.0 0.0
0 3 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 4 1 total 0.242447 0.061031
0 4 2 total 1.253959 0.388363 material group in nuclide mean std. dev.
1 4 1 total 0.0 0.0
0 4 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 4 1 1 total 0.217930 0.058565
2 4 1 2 total 0.023662 0.003083
1 4 2 1 total 0.000000 0.000000
0 4 2 2 total 1.215074 0.381025 material group out nuclide mean std. dev.
0 4 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 4 1 1 total P0 0.543941 0.065427
13 4 1 1 total P1 0.326011 0.038602
14 4 1 1 total P2 0.131133 0.017475
15 4 1 1 total P3 0.012105 0.006073
8 4 1 2 total P0 0.023662 0.003083
9 4 1 2 total P1 0.007526 0.001301
10 4 1 2 total P2 -0.002730 0.000841
11 4 1 2 total P3 -0.003140 0.000578
4 4 2 1 total P0 0.000000 0.000000
5 4 2 1 total P1 0.000000 0.000000
6 4 2 1 total P2 0.000000 0.000000
7 4 2 1 total P3 0.000000 0.000000
0 4 2 2 total P0 1.764648 0.416210
1 4 2 2 total P1 0.500695 0.122178
2 4 2 2 total P2 0.099026 0.038719
3 4 2 2 total P3 0.032975 0.025103 material group out nuclide mean std. dev.
1 4 1 total 0.0 0.0
0 4 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 5 1 total 0.0 0.0
0 5 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 5 1 total 0.0 0.0
0 5 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 5 1 1 total 0.0 0.0
2 5 1 2 total 0.0 0.0
1 5 2 1 total 0.0 0.0
0 5 2 2 total 0.0 0.0 material group out nuclide mean std. dev.
0 5 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 5 1 1 total P0 0.0 0.0
13 5 1 1 total P1 0.0 0.0
14 5 1 1 total P2 0.0 0.0
15 5 1 1 total P3 0.0 0.0
8 5 1 2 total P0 0.0 0.0
9 5 1 2 total P1 0.0 0.0
10 5 1 2 total P2 0.0 0.0
11 5 1 2 total P3 0.0 0.0
4 5 2 1 total P0 0.0 0.0
5 5 2 1 total P1 0.0 0.0
6 5 2 1 total P2 0.0 0.0
7 5 2 1 total P3 0.0 0.0
0 5 2 2 total P0 0.0 0.0
1 5 2 2 total P1 0.0 0.0
2 5 2 2 total P2 0.0 0.0
3 5 2 2 total P3 0.0 0.0 material group out nuclide mean std. dev.
1 5 1 total 0.0 0.0
0 5 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 6 1 total 0.0 0.0
0 6 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 6 1 total 0.0 0.0
0 6 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 6 1 1 total 0.0 0.0
2 6 1 2 total 0.0 0.0
1 6 2 1 total 0.0 0.0
0 6 2 2 total 0.0 0.0 material group out nuclide mean std. dev.
0 6 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 6 1 1 total P0 0.0 0.0
13 6 1 1 total P1 0.0 0.0
14 6 1 1 total P2 0.0 0.0
15 6 1 1 total P3 0.0 0.0
8 6 1 2 total P0 0.0 0.0
9 6 1 2 total P1 0.0 0.0
10 6 1 2 total P2 0.0 0.0
11 6 1 2 total P3 0.0 0.0
4 6 2 1 total P0 0.0 0.0
5 6 2 1 total P1 0.0 0.0
6 6 2 1 total P2 0.0 0.0
7 6 2 1 total P3 0.0 0.0
0 6 2 2 total P0 0.0 0.0
1 6 2 2 total P1 0.0 0.0
2 6 2 2 total P2 0.0 0.0
3 6 2 2 total P3 0.0 0.0 material group out nuclide mean std. dev.
1 6 1 total 0.0 0.0
0 6 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 7 1 total 0.0 0.0
0 7 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 7 1 total 0.0 0.0
0 7 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 7 1 1 total 0.0 0.0
2 7 1 2 total 0.0 0.0
1 7 2 1 total 0.0 0.0
0 7 2 2 total 0.0 0.0 material group out nuclide mean std. dev.
0 7 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 7 1 1 total P0 0.0 0.0
13 7 1 1 total P1 0.0 0.0
14 7 1 1 total P2 0.0 0.0
15 7 1 1 total P3 0.0 0.0
8 7 1 2 total P0 0.0 0.0
9 7 1 2 total P1 0.0 0.0
10 7 1 2 total P2 0.0 0.0
11 7 1 2 total P3 0.0 0.0
4 7 2 1 total P0 0.0 0.0
5 7 2 1 total P1 0.0 0.0
6 7 2 1 total P2 0.0 0.0
7 7 2 1 total P3 0.0 0.0
0 7 2 2 total P0 0.0 0.0
1 7 2 2 total P1 0.0 0.0
2 7 2 2 total P2 0.0 0.0
3 7 2 2 total P3 0.0 0.0 material group out nuclide mean std. dev.
1 7 1 total 0.0 0.0
0 7 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 8 1 total 0.0 0.0
0 8 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 8 1 total 0.0 0.0
0 8 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 8 1 1 total 0.0 0.0
2 8 1 2 total 0.0 0.0
1 8 2 1 total 0.0 0.0
0 8 2 2 total 0.0 0.0 material group out nuclide mean std. dev.
0 8 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 8 1 1 total P0 0.0 0.0
13 8 1 1 total P1 0.0 0.0
14 8 1 1 total P2 0.0 0.0
15 8 1 1 total P3 0.0 0.0
8 8 1 2 total P0 0.0 0.0
9 8 1 2 total P1 0.0 0.0
10 8 1 2 total P2 0.0 0.0
11 8 1 2 total P3 0.0 0.0
4 8 2 1 total P0 0.0 0.0
5 8 2 1 total P1 0.0 0.0
6 8 2 1 total P2 0.0 0.0
7 8 2 1 total P3 0.0 0.0
0 8 2 2 total P0 0.0 0.0
1 8 2 2 total P1 0.0 0.0
2 8 2 2 total P2 0.0 0.0
3 8 2 2 total P3 0.0 0.0 material group out nuclide mean std. dev.
1 8 1 total 0.0 0.0
0 8 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 9 1 total 0.600536 0.748875
0 9 2 total 0.000000 0.000000 material group in nuclide mean std. dev.
1 9 1 total 0.0 0.0
0 9 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 9 1 1 total 0.600536 0.748875
2 9 1 2 total 0.000000 0.000000
1 9 2 1 total 0.000000 0.000000
0 9 2 2 total 0.000000 0.000000 material group out nuclide mean std. dev.
0 9 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 9 1 1 total P0 0.720380 0.771015
13 9 1 1 total P1 0.119844 0.184691
14 9 1 1 total P2 0.038522 0.064485
15 9 1 1 total P3 0.056023 0.050595
8 9 1 2 total P0 0.000000 0.000000
9 9 1 2 total P1 0.000000 0.000000
10 9 1 2 total P2 0.000000 0.000000
11 9 1 2 total P3 0.000000 0.000000
4 9 2 1 total P0 0.000000 0.000000
5 9 2 1 total P1 0.000000 0.000000
6 9 2 1 total P2 0.000000 0.000000
7 9 2 1 total P3 0.000000 0.000000
0 9 2 2 total P0 0.000000 0.000000
1 9 2 2 total P1 0.000000 0.000000
2 9 2 2 total P2 0.000000 0.000000
3 9 2 2 total P3 0.000000 0.000000 material group out nuclide mean std. dev.
1 9 1 total 0.0 0.0
0 9 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 10 1 total 0.235515 0.613974
0 10 2 total 0.000000 0.000000 material group in nuclide mean std. dev.
1 10 1 total 0.0 0.0
0 10 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 10 1 1 total 0.235515 0.613974
2 10 1 2 total 0.000000 0.000000
1 10 2 1 total 0.000000 0.000000
0 10 2 2 total 0.000000 0.000000 material group out nuclide mean std. dev.
0 10 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 10 1 1 total P0 0.501009 0.708534
13 10 1 1 total P1 0.265494 0.375465
14 10 1 1 total P2 0.141979 0.200788
15 10 1 1 total P3 0.074258 0.105017
8 10 1 2 total P0 0.000000 0.000000
9 10 1 2 total P1 0.000000 0.000000
10 10 1 2 total P2 0.000000 0.000000
11 10 1 2 total P3 0.000000 0.000000
4 10 2 1 total P0 0.000000 0.000000
5 10 2 1 total P1 0.000000 0.000000
6 10 2 1 total P2 0.000000 0.000000
7 10 2 1 total P3 0.000000 0.000000
0 10 2 2 total P0 0.000000 0.000000
1 10 2 2 total P1 0.000000 0.000000
2 10 2 2 total P2 0.000000 0.000000
3 10 2 2 total P3 0.000000 0.000000 material group out nuclide mean std. dev.
1 10 1 total 0.0 0.0
0 10 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 11 1 total 0.186324 0.632129
0 11 2 total 0.945986 1.591133 material group in nuclide mean std. dev.
1 11 1 total 0.0 0.0
0 11 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 11 1 1 total 0.154449 0.597686
2 11 1 2 total 0.031875 0.045078
1 11 2 1 total 0.000000 0.000000
0 11 2 2 total 0.903085 1.532144 material group out nuclide mean std. dev.
0 11 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 11 1 1 total P0 0.478128 0.676174
13 11 1 1 total P1 0.323679 0.457751
14 11 1 1 total P2 0.143375 0.202763
15 11 1 1 total P3 0.054003 0.076372
8 11 1 2 total P0 0.031875 0.045078
9 11 1 2 total P1 0.008585 0.012140
10 11 1 2 total P2 -0.012470 0.017635
11 11 1 2 total P3 -0.011320 0.016009
4 11 2 1 total P0 0.000000 0.000000
5 11 2 1 total P1 0.000000 0.000000
6 11 2 1 total P2 0.000000 0.000000
7 11 2 1 total P3 0.000000 0.000000
0 11 2 2 total P0 1.201250 1.698824
1 11 2 2 total P1 0.286611 0.405329
2 11 2 2 total P2 0.218191 0.308569
3 11 2 2 total P3 -0.048514 0.068609 material group out nuclide mean std. dev.
1 11 1 total 0.0 0.0
0 11 2 total 0.0 0.0 material group in nuclide mean std. dev.
1 12 1 total 0.213292 0.271444
0 12 2 total 1.390975 2.137346 material group in nuclide mean std. dev.
1 12 1 total 0.0 0.0
0 12 2 total 0.0 0.0 material group in group out nuclide mean std. dev.
3 12 1 1 total 0.186052 0.257633
2 12 1 2 total 0.027240 0.029555
1 12 2 1 total 0.000000 0.000000
0 12 2 2 total 1.357118 2.089846 material group out nuclide mean std. dev.
0 12 2 total 0.0 0.0 material group in group out nuclide moment mean std. dev.
12 12 1 1 total P0 0.408594 0.278123
13 12 1 1 total P1 0.222541 0.145776
14 12 1 1 total P2 0.090972 0.069626
15 12 1 1 total P3 0.031004 0.035981
8 12 1 2 total P0 0.027240 0.029555
9 12 1 2 total P1 -0.010088 0.010945
10 12 1 2 total P2 -0.006946 0.007537
11 12 1 2 total P3 0.009692 0.010516
4 12 2 1 total P0 0.000000 0.000000
5 12 2 1 total P1 0.000000 0.000000
6 12 2 1 total P2 0.000000 0.000000
7 12 2 1 total P3 0.000000 0.000000
0 12 2 2 total P0 1.574328 2.226436
1 12 2 2 total P1 0.229748 0.324913
2 12 2 2 total P2 0.014178 0.020051
3 12 2 2 total P3 0.038997 0.055150 material group out nuclide mean std. dev.
1 12 1 total 0.0 0.0
0 12 2 total 0.0 0.0

View file

@ -28,6 +28,7 @@ class MGXSTestHarness(PyAPITestHarness):
self.mgxs_lib.mgxs_types = ['transport', 'nu-fission',
'nu-scatter matrix', 'chi']
self.mgxs_lib.energy_groups = energy_groups
self.mgxs_lib.legendre_order = 3
self.mgxs_lib.domain_type = 'material'
self.mgxs_lib.build_library()

View file

@ -1 +1 @@
f4abbd7867b0f0d2d9d93ed089c95904541f970522e1ef3a843373b60094ef4571a64a7b5f68efe9e51fd49754bc9e20a3bcc85c0bde3a8224608f8b97c01b85
791a2bd647b8bae03aafc39e29ff1ce1ffc44063b0d757ccba4e1eda6eb73b8a275020f4f5774b17dede49fbf15549787279c8b2fc45caba0097155b32e56fa8

File diff suppressed because it is too large Load diff

View file

@ -28,6 +28,7 @@ class MGXSTestHarness(PyAPITestHarness):
self.mgxs_lib.mgxs_types = ['transport', 'nu-fission',
'nu-scatter matrix', 'chi']
self.mgxs_lib.energy_groups = energy_groups
self.mgxs_lib.legendre_order = 3
self.mgxs_lib.domain_type = 'material'
self.mgxs_lib.build_library()
@ -36,7 +37,7 @@ class MGXSTestHarness(PyAPITestHarness):
self.mgxs_lib.add_to_tallies_file(self._input_set.tallies, merge=False)
self._input_set.tallies.export_to_xml()
def _get_results(self, hash_output=False):
def _get_results(self, hash_output=True):
"""Digest info in the statepoint and return as a string."""
# Read the statepoint file.