Merge pull request #717 from samuelshaner/2d-mesh-tally

Implemented 1D and 2D mesh tallies
This commit is contained in:
Paul Romano 2016-09-19 16:18:00 -05:00 committed by GitHub
commit fe9c97c051
31 changed files with 734 additions and 11913 deletions

View file

@ -40,9 +40,9 @@
<!-- units of MeV/cm -->
<!-- If no kappa fission tallies, this is not needed; it will not be loaded
if there is no kappa fission scores anyways -->
<k_fission>
<kappa_fission>
1.0 1.0 1.0 1.0 1.0 1.0 1.0
</k_fission>
</kappa_fission>
<!-- for consistency must include nu-scatter -->
<!-- will be a matrix of (order+1) x g_in x g_out -->
@ -100,9 +100,9 @@
</fission>
<!-- units of MeV/cm -->
<k_fission>
<kappa_fission>
1.0 1.0 1.0 1.0 1.0 1.0 1.0
</k_fission>
</kappa_fission>
<!-- for consistency must include nu-scatter -->
<!-- will be a matrix of (order+1) x g_in x g_out -->
@ -156,9 +156,9 @@
</fission>
<!-- units of MeV/cm -->
<k_fission>
<kappa_fission>
1.0 1.0 1.0 1.0 1.0 1.0 1.0
</k_fission>
</kappa_fission>
<!-- for consistency must include nu-scatter -->
<!-- will be a matrix of (order+1) x g_in x g_out -->
@ -212,9 +212,9 @@
</fission>
<!-- units of MeV/cm -->
<k_fission>
<kappa_fission>
1.0 1.0 1.0 1.0 1.0 1.0 1.0
</k_fission>
</kappa_fission>
<!-- for consistency must include nu-scatter -->
<!-- will be a matrix of (order+1) x g_in x g_out -->
@ -262,9 +262,9 @@
</fission>
<!-- units of MeV/cm -->
<k_fission>
<kappa_fission>
1.0 1.0 1.0 1.0 1.0 1.0 1.0
</k_fission>
</kappa_fission>
<!-- for consistency must include nu-scatter -->
<!-- will be a matrix of (order+1) x g_in x g_out -->

View file

@ -17,12 +17,12 @@ _FILTER_TYPES = ['universe', 'material', 'cell', 'cellborn', 'surface',
'mesh', 'energy', 'energyout', 'mu', 'polar', 'azimuthal',
'distribcell', 'delayedgroup']
_CURRENT_NAMES = {1: 'x-min out', 2: 'x-max out',
3: 'y-min out', 4: 'y-max out',
5: 'z-min out', 6: 'z-max out',
7: 'x-min in', 8: 'x-max in',
9: 'y-min in', 10: 'y-max in',
11: 'z-min in', 12: 'z-max in'}
_CURRENT_NAMES = {1: 'x-min out', 2: 'x-min in',
3: 'x-max out', 4: 'x-max in',
5: 'y-min out', 6: 'y-min in',
7: 'y-max out', 8: 'y-max in',
9: 'z-min out', 10: 'z-min in',
11: 'z-max out', 12: 'z-max in'}
class Filter(object):
"""A filter used to constrain a tally to a specific criterion, e.g. only

View file

@ -23,7 +23,7 @@ def reset_auto_mesh_id():
class Mesh(object):
"""A structured Cartesian mesh in two or three dimensions
"""A structured Cartesian mesh in one, two, or three dimensions
Parameters
----------
@ -147,25 +147,25 @@ class Mesh(object):
@dimension.setter
def dimension(self, dimension):
cv.check_type('mesh dimension', dimension, Iterable, Integral)
cv.check_length('mesh dimension', dimension, 2, 3)
cv.check_length('mesh dimension', dimension, 1, 3)
self._dimension = dimension
@lower_left.setter
def lower_left(self, lower_left):
cv.check_type('mesh lower_left', lower_left, Iterable, Real)
cv.check_length('mesh lower_left', lower_left, 2, 3)
cv.check_length('mesh lower_left', lower_left, 1, 3)
self._lower_left = lower_left
@upper_right.setter
def upper_right(self, upper_right):
cv.check_type('mesh upper_right', upper_right, Iterable, Real)
cv.check_length('mesh upper_right', upper_right, 2, 3)
cv.check_length('mesh upper_right', upper_right, 1, 3)
self._upper_right = upper_right
@width.setter
def width(self, width):
cv.check_type('mesh width', width, Iterable, Real)
cv.check_length('mesh width', width, 2, 3)
cv.check_length('mesh width', width, 1, 3)
self._width = width
def __hash__(self):
@ -204,7 +204,10 @@ class Mesh(object):
"""
if len(self.dimension) == 2:
if len(self.dimension) == 1:
for x in range(self.dimension[0]):
yield [x + 1, 1, 1]
elif len(self.dimension) == 2:
for x in range(self.dimension[0]):
for y in range(self.dimension[1]):
yield [x + 1, y + 1, 1]
@ -272,7 +275,6 @@ class Mesh(object):
"""
twod = len(self.dimension) == 2
cv.check_length('bc', bc, length_min=4, length_max=6)
for entry in bc:
cv.check_value('bc', entry, ['transmission', 'vacuum',
@ -283,11 +285,18 @@ class Mesh(object):
boundary_type=bc[0]),
openmc.XPlane(x0=self.upper_right[0],
boundary_type=bc[1])]
yplanes = [openmc.YPlane(y0=self.lower_left[1],
boundary_type=bc[2]),
openmc.YPlane(y0=self.upper_right[1],
boundary_type=bc[3])]
if twod:
if len(self.dimension) == 1:
yplanes = [openmc.YPlane(y0=np.finfo(np.float).min,
boundary_type='reflective'),
openmc.YPlane(y0=np.finfo(np.float).max,
boundary_type='reflective')]
else:
yplanes = [openmc.YPlane(y0=self.lower_left[1],
boundary_type=bc[2]),
openmc.YPlane(y0=self.upper_right[1],
boundary_type=bc[3])]
if len(self.dimension) <= 2:
zplanes = [openmc.ZPlane(z0=np.finfo(np.float).min,
boundary_type='reflective'),
openmc.ZPlane(z0=np.finfo(np.float).max,
@ -308,7 +317,11 @@ class Mesh(object):
universes = np.ndarray(self.dimension[::-1], dtype=np.object)
cells = []
for [i, j, k] in self.cell_generator():
if twod:
if len(self.dimension) == 1:
universes[i - 1] = openmc.Universe()
cells.append(openmc.Cell())
universes[i - 1].add_cells([cells[-1]])
elif len(self.dimension) == 2:
universes[j - 1, i - 1] = openmc.Universe()
cells.append(openmc.Cell())
universes[j - 1, i - 1].add_cells([cells[-1]])
@ -325,11 +338,16 @@ class Mesh(object):
else:
dx = ((self.upper_right[0] - self.lower_left[0]) /
self.dimension[0])
dy = ((self.upper_right[1] - self.lower_left[1]) /
self.dimension[1])
if twod:
if len(self.dimension) == 1:
lattice.pitch = [dx]
elif len(self.dimension) == 2:
dy = ((self.upper_right[1] - self.lower_left[1]) /
self.dimension[1])
lattice.pitch = [dx, dy]
else:
dy = ((self.upper_right[1] - self.lower_left[1]) /
self.dimension[1])
dz = ((self.upper_right[2] - self.lower_left[2]) /
self.dimension[2])
lattice.pitch = [dx, dy, dz]

View file

@ -367,16 +367,16 @@ module constants
! Tally surface current directions
integer, parameter :: &
OUT_LEFT = 1, & ! x min
OUT_RIGHT = 2, & ! x max
OUT_BACK = 3, & ! y min
OUT_FRONT = 4, & ! y max
OUT_BOTTOM = 5, & ! z min
OUT_TOP = 6, & ! z max
IN_LEFT = 7, & ! x min
IN_RIGHT = 8, & ! x max
IN_BACK = 9, & ! y min
IN_FRONT = 10, & ! y max
IN_BOTTOM = 11, & ! z min
IN_LEFT = 2, & ! x min
OUT_RIGHT = 3, & ! x max
IN_RIGHT = 4, & ! x max
OUT_BACK = 5, & ! y min
IN_BACK = 6, & ! y min
OUT_FRONT = 7, & ! y max
IN_FRONT = 8, & ! y max
OUT_BOTTOM = 9, & ! z min
IN_BOTTOM = 10, & ! z min
OUT_TOP = 11, & ! z max
IN_TOP = 12 ! z max
! Tally trigger types and threshold

View file

@ -2716,8 +2716,8 @@ contains
! Determine number of dimensions for mesh
n = get_arraysize_integer(node_mesh, "dimension")
if (n /= 2 .and. n /= 3) then
call fatal_error("Mesh must be two or three dimensions.")
if (n /= 1 .and. n /= 2 .and. n /= 3) then
call fatal_error("Mesh must be one, two, or three dimensions.")
end if
m % n_dimension = n
@ -3607,7 +3607,9 @@ contains
type is (SurfaceFilter)
filt % n_bins = 4 * m % n_dimension
allocate(filt % surfaces(4 * m % n_dimension))
if (m % n_dimension == 2) then
if (m % n_dimension == 1) then
filt % surfaces = (/ OUT_LEFT, OUT_RIGHT, IN_LEFT, IN_RIGHT /)
elseif (m % n_dimension == 2) then
filt % surfaces = (/ OUT_LEFT, OUT_RIGHT, OUT_BACK, OUT_FRONT, &
IN_LEFT, IN_RIGHT, IN_BACK, IN_FRONT /)
elseif (m % n_dimension == 3) then

View file

@ -22,39 +22,29 @@ contains
real(8), intent(in) :: xyz(:) ! coordinates
integer, intent(out) :: bin ! tally bin
integer :: n ! size of mesh (2 or 3)
integer :: n ! size of mesh
integer :: d ! mesh dimension index
integer :: ijk(3) ! indices in mesh
logical :: in_mesh ! was given coordinate in mesh at all?
! Get number of dimensions
n = m % n_dimension
! Check for cases where particle is outside of mesh
if (xyz(1) < m % lower_left(1)) then
bin = NO_BIN_FOUND
return
elseif (xyz(1) > m % upper_right(1)) then
bin = NO_BIN_FOUND
return
elseif (xyz(2) < m % lower_left(2)) then
bin = NO_BIN_FOUND
return
elseif (xyz(2) > m % upper_right(2)) then
bin = NO_BIN_FOUND
return
end if
if (n > 2) then
if (xyz(3) < m % lower_left(3)) then
! Loop over the dimensions of the mesh
do d = 1, n
! Check for cases where particle is outside of mesh
if (xyz(d) < m % lower_left(d)) then
bin = NO_BIN_FOUND
return
elseif (xyz(3) > m % upper_right(3)) then
elseif (xyz(d) > m % upper_right(d)) then
bin = NO_BIN_FOUND
return
end if
end if
end do
! Determine indices
call get_mesh_indices(m, xyz(1:n), ijk(1:n), in_mesh)
call get_mesh_indices(m, xyz, ijk, in_mesh)
! Convert indices to bin
if (in_mesh) then
@ -76,7 +66,7 @@ contains
logical, intent(out) :: in_mesh ! were given coords in mesh?
! Find particle in mesh
ijk = ceiling((xyz(:m % n_dimension) - m % lower_left)/m % width)
ijk(:m % n_dimension) = ceiling((xyz(:m % n_dimension) - m % lower_left)/m % width)
! Determine if particle is in mesh
if (any(ijk(:m % n_dimension) < 1) .or. &
@ -89,8 +79,8 @@ contains
end subroutine get_mesh_indices
!===============================================================================
! MESH_INDICES_TO_BIN maps (i,j) or (i,j,k) indices to a single bin number for
! use in a TallyObject results array
! MESH_INDICES_TO_BIN maps (i), (i,j), or (i,j,k) indices to a single bin number
! for use in a TallyObject results array
!===============================================================================
pure function mesh_indices_to_bin(m, ijk) result(bin)
@ -98,23 +88,20 @@ contains
integer, intent(in) :: ijk(:)
integer :: bin
integer :: n_x ! number of mesh cells in x direction
integer :: n_y ! number of mesh cells in y direction
n_x = m % dimension(1)
n_y = m % dimension(2)
if (m % n_dimension == 2) then
bin = (ijk(2) - 1)*n_x + ijk(1)
if (m % n_dimension == 1) then
bin = ijk(1)
elseif (m % n_dimension == 2) then
bin = (ijk(2) - 1) * m % dimension(1) + ijk(1)
elseif (m % n_dimension == 3) then
bin = (ijk(3) - 1)*n_y*n_x + (ijk(2) - 1)*n_x + ijk(1)
bin = ((ijk(3) - 1) * m % dimension(2) + (ijk(2) - 1)) &
* m % dimension(1) + ijk(1)
end if
end function mesh_indices_to_bin
!===============================================================================
! BIN_TO_MESH_INDICES maps a single mesh bin from a TallyObject results array to
! (i,j) or (i,j,k) indices
! (i), (i,j), or (i,j,k) indices
!===============================================================================
pure subroutine bin_to_mesh_indices(m, bin, ijk)
@ -122,19 +109,16 @@ contains
integer, intent(in) :: bin
integer, intent(out) :: ijk(:)
integer :: n_x ! number of mesh cells in x direction
integer :: n_y ! number of mesh cells in y direction
n_x = m % dimension(1)
n_y = m % dimension(2)
if (m % n_dimension == 2) then
ijk(1) = mod(bin - 1, n_x) + 1
ijk(2) = (bin - 1)/n_x + 1
if (m % n_dimension == 1) then
ijk(1) = bin
else if (m % n_dimension == 2) then
ijk(1) = mod(bin - 1, m % dimension(1)) + 1
ijk(2) = (bin - 1)/m % dimension(1) + 1
else if (m % n_dimension == 3) then
ijk(1) = mod(bin - 1, n_x) + 1
ijk(2) = mod(bin - 1, n_x*n_y)/n_x + 1
ijk(3) = (bin - 1)/(n_x*n_y) + 1
ijk(1) = mod(bin - 1, m % dimension(1)) + 1
ijk(2) = mod(bin - 1, m % dimension(1) * m % dimension(2)) &
/ m % dimension(1) + 1
ijk(3) = (bin - 1)/(m % dimension(1) * m % dimension(2)) + 1
end if
end subroutine bin_to_mesh_indices
@ -248,6 +232,46 @@ contains
! track will score to a mesh tally.
!===============================================================================
pure function mesh_intersects_1d(m, xyz0, xyz1) result(intersects)
type(RegularMesh), intent(in) :: m
real(8), intent(in) :: xyz0(1)
real(8), intent(in) :: xyz1(1)
logical :: intersects
real(8) :: x0 ! track start point
real(8) :: x1 ! track end point
real(8) :: xm0 ! lower-left coordinates of mesh
real(8) :: xm1 ! upper-right coordinates of mesh
! Copy coordinates of starting point
x0 = xyz0(1)
! Copy coordinates of ending point
x1 = xyz1(1)
! Copy coordinates of mesh lower_left
xm0 = m % lower_left(1)
! Copy coordinates of mesh upper_right
xm1 = m % upper_right(1)
! Set default value for intersects
intersects = .false.
! Check if line intersects left surface
if ((x0 < xm0 .and. x1 > xm0) .or. (x0 > xm0 .and. x1 < xm0)) then
intersects = .true.
return
end if
! Check if line intersects right surface
if ((x0 < xm1 .and. x1 > xm1) .or. (x0 > xm1 .and. x1 < xm1)) then
intersects = .true.
return
end if
end function mesh_intersects_1d
pure function mesh_intersects_2d(m, xyz0, xyz1) result(intersects)
type(RegularMesh), intent(in) :: m
real(8), intent(in) :: xyz0(2)

View file

@ -939,16 +939,15 @@ contains
type(TallyObject), intent(in) :: t
integer, intent(in) :: unit_tally
integer :: i ! mesh index for x
integer :: j ! mesh index for y
integer :: k ! mesh index for z
integer :: i ! mesh index
integer :: ijk(3) ! indices of mesh cells
integer :: n_dim ! number of mesh dimensions
integer :: n_cells ! number of mesh cells
integer :: l ! index for energy
integer :: i_filter_mesh ! index for mesh filter
integer :: i_filter_ein ! index for incoming energy filter
integer :: i_filter_surf ! index for surface filter
integer :: n ! number of incoming energy bins
integer :: len1 ! length of string
integer :: len2 ! length of string
integer :: filter_index ! index in results array for filters
logical :: print_ebin ! should incoming energy bin be displayed?
character(MAX_LINE_LEN) :: string
@ -975,135 +974,147 @@ contains
n = 1
end if
do i = 1, m % dimension(1)
string = "Mesh Index (" // trim(to_str(i)) // ", "
len1 = len_trim(string)
do j = 1, m % dimension(2)
string = string(1:len1+1) // trim(to_str(j)) // ", "
len2 = len_trim(string)
do k = 1, m % dimension(3)
! Write mesh cell index
string = string(1:len2+1) // trim(to_str(k)) // ")"
write(UNIT=unit_tally, FMT='(1X,A)') trim(string)
! Get the dimensions and number of cells in the mesh
n_dim = m % n_dimension
n_cells = product(m % dimension)
do l = 1, n
if (print_ebin) then
! Set incoming energy bin
matching_bins(i_filter_ein) = l
! Loop over all the mesh cells
do i = 1, n_cells
! Write incoming energy bin
write(UNIT=unit_tally, FMT='(3X,A)') &
trim(t % filters(i_filter_ein) % obj % text_label( &
matching_bins(i_filter_ein)))
end if
! Get the indices for this cell
call bin_to_mesh_indices(m, i, ijk)
matching_bins(i_filter_mesh) = i
! Get the bin for this mesh cell
matching_bins(i_filter_mesh) = &
mesh_indices_to_bin(m, (/ i, j, k /))
! Write the header for this cell
if (n_dim == 1) then
string = "Mesh Index (" // trim(to_str(ijk(1))) // ")"
else if (n_dim == 2) then
string = "Mesh Index (" // trim(to_str(ijk(1))) // ", " &
// trim(to_str(ijk(2))) // ")"
else if (n_dim == 3) then
string = "Mesh Index (" // trim(to_str(ijk(1))) // ", " &
// trim(to_str(ijk(2))) // ", " // trim(to_str(ijk(3))) // ")"
end if
! Left Surface
matching_bins(i_filter_surf) = OUT_LEFT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Outgoing Current on Left", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
write(UNIT=unit_tally, FMT='(1X,A)') trim(string)
matching_bins(i_filter_surf) = IN_LEFT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Incoming Current on Left", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
do l = 1, n
if (print_ebin) then
! Set incoming energy bin
matching_bins(i_filter_ein) = l
! Right Surface
matching_bins(i_filter_surf) = OUT_RIGHT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Outgoing Current on Right", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
! Write incoming energy bin
write(UNIT=unit_tally, FMT='(3X,A)') &
trim(t % filters(i_filter_ein) % obj % text_label( &
matching_bins(i_filter_ein)))
end if
matching_bins(i_filter_surf) = IN_RIGHT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Incoming Current on Right", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
! Left Surface
matching_bins(i_filter_surf) = OUT_LEFT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Outgoing Current on Left", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
! Back Surface
matching_bins(i_filter_surf) = OUT_BACK
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Outgoing Current on Back", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
matching_bins(i_filter_surf) = IN_LEFT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Incoming Current on Left", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
matching_bins(i_filter_surf) = IN_BACK
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Incoming Current on Back", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
! Right Surface
matching_bins(i_filter_surf) = OUT_RIGHT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Outgoing Current on Right", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
! Front Surface
matching_bins(i_filter_surf) = OUT_FRONT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Net Current on Front", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
matching_bins(i_filter_surf) = IN_RIGHT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Incoming Current on Right", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
matching_bins(i_filter_surf) = IN_FRONT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Net Current on Front", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
if (n_dim >= 2) then
! Bottom Surface
matching_bins(i_filter_surf) = OUT_BOTTOM
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Outgoing Current on Bottom", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
! Back Surface
matching_bins(i_filter_surf) = OUT_BACK
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Outgoing Current on Back", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
matching_bins(i_filter_surf) = IN_BOTTOM
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Incoming Current on Bottom", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
matching_bins(i_filter_surf) = IN_BACK
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Incoming Current on Back", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
! Top Surface
matching_bins(i_filter_surf) = OUT_TOP
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Outgoing Current on Top", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
! Front Surface
matching_bins(i_filter_surf) = OUT_FRONT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Net Current on Front", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
matching_bins(i_filter_surf) = IN_TOP
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Incoming Current on Top", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
end do
end do
matching_bins(i_filter_surf) = IN_FRONT
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Net Current on Front", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
end if
if (n_dim == 3) then
! Bottom Surface
matching_bins(i_filter_surf) = OUT_BOTTOM
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Outgoing Current on Bottom", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
matching_bins(i_filter_surf) = IN_BOTTOM
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Incoming Current on Bottom", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
! Top Surface
matching_bins(i_filter_surf) = OUT_TOP
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Outgoing Current on Top", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
matching_bins(i_filter_surf) = IN_TOP
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
* t % stride) + 1
write(UNIT=unit_tally, FMT='(5X,A,T35,A,"+/- ",A)') &
"Incoming Current on Top", &
to_str(t % results(1,filter_index) % sum), &
trim(to_str(t % results(1,filter_index) % sum_sq))
end if
end do
end do

View file

@ -12,7 +12,8 @@ module tally
use math, only: t_percentile, calc_pn, calc_rn
use mesh, only: get_mesh_bin, bin_to_mesh_indices, &
get_mesh_indices, mesh_indices_to_bin, &
mesh_intersects_2d, mesh_intersects_3d
mesh_intersects_1d, mesh_intersects_2d, &
mesh_intersects_3d
use mesh_header, only: RegularMesh
use output, only: header
use particle_header, only: LocalCoord, Particle
@ -2463,6 +2464,7 @@ contains
integer :: i
integer :: i_tally
integer :: j ! loop indices
integer :: n_dim ! num dimensions of the mesh
integer :: d1 ! dimension index
integer :: d2 ! dimension index
integer :: d3 ! dimension index
@ -2482,6 +2484,7 @@ contains
real(8) :: filt_score ! score applied by filters
logical :: start_in_mesh ! particle's starting xyz in mesh?
logical :: end_in_mesh ! particle's ending xyz in mesh?
logical :: cross_surface ! whether the particle crosses a surface
type(TallyObject), pointer :: t
type(RegularMesh), pointer :: m
@ -2505,14 +2508,18 @@ contains
m => meshes(filt % mesh)
end select
n_dim = m % n_dimension
! Determine indices for starting and ending location
call get_mesh_indices(m, xyz0, ijk0(:m % n_dimension), start_in_mesh)
call get_mesh_indices(m, xyz1, ijk1(:m % n_dimension), end_in_mesh)
call get_mesh_indices(m, xyz0, ijk0, start_in_mesh)
call get_mesh_indices(m, xyz1, ijk1, end_in_mesh)
! Check to see if start or end is in mesh -- if not, check if track still
! intersects with mesh
if ((.not. start_in_mesh) .and. (.not. end_in_mesh)) then
if (m % n_dimension == 2) then
if (n_dim == 1) then
if (.not. mesh_intersects_1d(m, xyz0, xyz1)) cycle
else if (n_dim == 2) then
if (.not. mesh_intersects_2d(m, xyz0, xyz1)) cycle
else
if (.not. mesh_intersects_3d(m, xyz0, xyz1)) cycle
@ -2520,7 +2527,7 @@ contains
end if
! Calculate number of surface crossings
n_cross = sum(abs(ijk1 - ijk0))
n_cross = sum(abs(ijk1(:n_dim) - ijk0(:n_dim)))
if (n_cross == 0) then
cycle
end if
@ -2538,7 +2545,7 @@ contains
end if
! Bounding coordinates
do d1 = 1, 3
do d1 = 1, n_dim
if (uvw(d1) > 0) then
xyz_cross(d1) = m % lower_left(d1) + ijk0(d1) * m % width(d1)
else
@ -2550,10 +2557,13 @@ contains
! Reset scoring bin index
matching_bins(i_filter_surf) = 0
! Set the distances to infinity
d = INFINITY
! Calculate distance to each bounding surface. We need to treat
! special case where the cosine of the angle is zero since this would
! result in a divide-by-zero.
do d1 = 1, 3
do d1 = 1, n_dim
if (uvw(d1) == 0) then
d(d1) = INFINITY
else
@ -2567,11 +2577,16 @@ contains
distance = minval(d)
! Loop over the dimensions
do d1 = 1, 3
do d1 = 1, n_dim
! Get the other dimensions
d2 = mod(d1, 3) + 1
d3 = mod(d1 + 1, 3) + 1
! Get the other dimensions.
if (d1 == 1) then
d2 = mod(d1, 3) + 1
d3 = mod(d1 + 1, 3) + 1
else
d2 = mod(d1 + 1, 3) + 1
d3 = mod(d1, 3) + 1
end if
! Check whether distance is the shortest distance
if (distance == d(d1)) then
@ -2580,8 +2595,9 @@ contains
if (uvw(d1) > 0) then
! Outward current on d1 max surface
if (all(ijk0 >= 1) .and. all(ijk0 <= m % dimension)) then
matching_bins(i_filter_surf) = d1 * 2
if (all(ijk0(:n_dim) >= 1) .and. &
all(ijk0(:n_dim) <= m % dimension)) then
matching_bins(i_filter_surf) = d1 * 4 - 1
matching_bins(i_filter_mesh) = &
mesh_indices_to_bin(m, ijk0)
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
@ -2592,11 +2608,32 @@ contains
end if
! Inward current on d1 min surface
if (ijk0(d1) >= 0 .and. ijk0(d1) < m % dimension(d1) .and. &
ijk0(d2) >= 1 .and. ijk0(d2) <= m % dimension(d2) .and. &
ijk0(d3) >= 1 .and. ijk0(d3) <= m % dimension(d3)) then
cross_surface = .false.
select case(n_dim)
case (1)
if (ijk0(d1) >= 0 .and. ijk0(d1) < m % dimension(d1)) then
cross_surface = .true.
end if
case (2)
if (ijk0(d1) >= 0 .and. ijk0(d1) < m % dimension(d1) .and. &
ijk0(d2) >= 1 .and. ijk0(d2) <= m % dimension(d2)) then
cross_surface = .true.
end if
case (3)
if (ijk0(d1) >= 0 .and. ijk0(d1) < m % dimension(d1) .and. &
ijk0(d2) >= 1 .and. ijk0(d2) <= m % dimension(d2) .and. &
ijk0(d3) >= 1 .and. ijk0(d3) <= m % dimension(d3)) then
cross_surface = .true.
end if
end select
! If the particle crossed the surface, tally the current
if (cross_surface) then
ijk0(d1) = ijk0(d1) + 1
matching_bins(i_filter_surf) = d1 * 2 + 5
matching_bins(i_filter_surf) = d1 * 4 - 2
matching_bins(i_filter_mesh) = &
mesh_indices_to_bin(m, ijk0)
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
@ -2614,8 +2651,9 @@ contains
else
! Outward current on d1 min surface
if (all(ijk0 >= 1) .and. all(ijk0 <= m % dimension)) then
matching_bins(i_filter_surf) = d1 * 2 - 1
if (all(ijk0(:n_dim) >= 1) .and. &
all(ijk0(:n_dim) <= m % dimension)) then
matching_bins(i_filter_surf) = d1 * 4 - 3
matching_bins(i_filter_mesh) = &
mesh_indices_to_bin(m, ijk0)
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &
@ -2626,11 +2664,32 @@ contains
end if
! Inward current on d1 max surface
if (ijk0(d1) > 1 .and. ijk0(d1) <= m % dimension(d1) + 1 .and. &
ijk0(d2) >= 1 .and. ijk0(d2) <= m % dimension(d2) .and. &
ijk0(d3) >= 1 .and. ijk0(d3) <= m % dimension(d3)) then
cross_surface = .false.
select case(n_dim)
case (1)
if (ijk0(d1) > 1 .and. ijk0(d1) <= m % dimension(d1) + 1) then
cross_surface = .true.
end if
case (2)
if (ijk0(d1) > 1 .and. ijk0(d1) <= m % dimension(d1) + 1 .and.&
ijk0(d2) >= 1 .and. ijk0(d2) <= m % dimension(d2)) then
cross_surface = .true.
end if
case (3)
if (ijk0(d1) > 1 .and. ijk0(d1) <= m % dimension(d1) + 1 .and.&
ijk0(d2) >= 1 .and. ijk0(d2) <= m % dimension(d2) .and. &
ijk0(d3) >= 1 .and. ijk0(d3) <= m % dimension(d3)) then
cross_surface = .true.
end if
end select
! If the particle crossed the surface, tally the current
if (cross_surface) then
ijk0(d1) = ijk0(d1) - 1
matching_bins(i_filter_surf) = d1 * 2 + 6
matching_bins(i_filter_surf) = d1 * 4
matching_bins(i_filter_mesh) = &
mesh_indices_to_bin(m, ijk0)
filter_index = sum((matching_bins(1:size(t % filters)) - 1) &

View file

@ -9,7 +9,8 @@ module tally_filter
use mesh_header, only: RegularMesh
use mesh, only: get_mesh_bin, bin_to_mesh_indices, &
get_mesh_indices, mesh_indices_to_bin, &
mesh_intersects_2d, mesh_intersects_3d
mesh_intersects_1d, mesh_intersects_2d, &
mesh_intersects_3d
use particle_header, only: Particle
use string, only: to_str
use tally_filter_header, only: TallyFilter, TallyFilterContainer
@ -261,7 +262,12 @@ contains
! intersects any part of the mesh.
if (current_bin == NO_BIN_FOUND) then
if ((.not. start_in_mesh) .and. (.not. end_in_mesh)) then
if (m % n_dimension == 2) then
if (m % n_dimension == 1) then
if (.not. mesh_intersects_1d(m, xyz0, xyz1)) then
next_bin = NO_BIN_FOUND
return
end if
else if (m % n_dimension == 2) then
if (.not. mesh_intersects_2d(m, xyz0, xyz1)) then
next_bin = NO_BIN_FOUND
return
@ -427,7 +433,9 @@ contains
m => meshes(this % mesh)
allocate(ijk(m % n_dimension))
call bin_to_mesh_indices(m, bin, ijk)
if (m % n_dimension == 2) then
if (m % n_dimension == 1) then
label = "Mesh Index (" // trim(to_str(ijk(1))) // ")"
elseif (m % n_dimension == 2) then
label = "Mesh Index (" // trim(to_str(ijk(1))) // ", " // &
trim(to_str(ijk(2))) // ")"
elseif (m % n_dimension == 3) then

View file

@ -8,7 +8,7 @@ module trigger
use global
use string, only: to_str
use output, only: warning, write_message
use mesh, only: mesh_indices_to_bin
use mesh, only: bin_to_mesh_indices
use mesh_header, only: RegularMesh
use trigger_header, only: TriggerObject
use tally, only: TallyObject
@ -282,9 +282,10 @@ contains
subroutine compute_tally_current(t, trigger)
integer :: i ! mesh index for x
integer :: j ! mesh index for y
integer :: k ! mesh index for z
integer :: i ! mesh index
integer :: ijk(3) ! indices of mesh cells
integer :: n_dim ! number of mesh dimensions
integer :: n_cells ! number of mesh cells
integer :: l ! index for energy
integer :: i_filter_mesh ! index for mesh filter
integer :: i_filter_ein ! index for incoming energy filter
@ -319,99 +320,101 @@ contains
n = 1
end if
do i = 1, m % dimension(1)
do j = 1, m % dimension(2)
do k = 1, m % dimension(3)
do l = 1, n
! Get the dimensions and number of cells in the mesh
n_dim = m % n_dimension
n_cells = product(m % dimension)
if (print_ebin) then
matching_bins(i_filter_ein) = l
end if
! Loop over all the mesh cells
do i = 1, n_cells
matching_bins(i_filter_mesh) = &
mesh_indices_to_bin(m, (/ i, j, k /))
! Get the indices for this cell
call bin_to_mesh_indices(m, i, ijk)
matching_bins(i_filter_mesh) = i
! Left Surface
matching_bins(i_filter_surf) = OUT_LEFT
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = std_dev**2
do l = 1, n
! Right Surface
matching_bins(i_filter_surf) = OUT_RIGHT
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = trigger % std_dev**2
if (print_ebin) then
matching_bins(i_filter_ein) = l
end if
! Back Surface
matching_bins(i_filter_surf) = OUT_BACK
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = trigger % std_dev**2
! Left Surface
matching_bins(i_filter_surf) = OUT_LEFT
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = std_dev**2
! Front Surface
matching_bins(i_filter_surf) = OUT_FRONT
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = trigger % std_dev**2
! Right Surface
matching_bins(i_filter_surf) = OUT_RIGHT
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = trigger % std_dev**2
! Bottom Surface
matching_bins(i_filter_surf) = OUT_BOTTOM
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = trigger % std_dev**2
! Back Surface
matching_bins(i_filter_surf) = OUT_BACK
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = trigger % std_dev**2
! Top Surface
matching_bins(i_filter_surf) = OUT_TOP
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = trigger % std_dev**2
! Front Surface
matching_bins(i_filter_surf) = OUT_FRONT
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = trigger % std_dev**2
end do
! Bottom Surface
matching_bins(i_filter_surf) = OUT_BOTTOM
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = trigger % std_dev**2
! Top Surface
matching_bins(i_filter_surf) = OUT_TOP
filter_index = &
sum((matching_bins(1:size(t % filters)) - 1) * t % stride) + 1
call get_trigger_uncertainty(std_dev, rel_err, 1, filter_index, t)
if (trigger % std_dev < std_dev) then
trigger % std_dev = std_dev
end if
if (trigger % rel_err < rel_err) then
trigger % rel_err = rel_err
end if
trigger % variance = trigger % std_dev**2
end do
end do
end do

View file

@ -389,7 +389,7 @@ contains
allocate(temp(size(this % domain_id), k))
temp(:, 1:nm) = hits(:, 1:nm)
call move_alloc(FROM=temp, TO=indices)
call move_alloc(FROM=temp, TO=hits)
end if
! Add an entry to both the indices list and the hits list

View file

@ -126,8 +126,18 @@ tally 3:
tally 4:
3.049469E+00
4.677325E-01
0.000000E+00
0.000000E+00
2.770358E+00
3.879191E-01
5.514939E+00
1.528899E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -140,28 +150,10 @@ tally 4:
0.000000E+00
5.514939E+00
1.528899E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
5.514939E+00
1.528899E+00
2.770358E+00
3.879191E-01
5.032131E+00
1.275040E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
2.770358E+00
3.879191E-01
7.294002E+00
2.675589E+00
0.000000E+00
@ -172,20 +164,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
7.294002E+00
2.675589E+00
5.032131E+00
1.275040E+00
7.036008E+00
2.490719E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
5.032131E+00
1.275040E+00
8.668860E+00
3.776102E+00
0.000000E+00
@ -196,20 +188,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
8.668860E+00
3.776102E+00
7.036008E+00
2.490719E+00
8.352414E+00
3.501945E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
7.036008E+00
2.490719E+00
9.345868E+00
4.380719E+00
0.000000E+00
@ -220,20 +212,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.345868E+00
4.380719E+00
8.352414E+00
3.501945E+00
9.093766E+00
4.158282E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
8.352414E+00
3.501945E+00
9.223771E+00
4.270119E+00
0.000000E+00
@ -244,20 +236,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.223771E+00
4.270119E+00
9.093766E+00
4.158282E+00
9.219150E+00
4.264346E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.093766E+00
4.158282E+00
8.530966E+00
3.651778E+00
0.000000E+00
@ -268,20 +260,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
8.530966E+00
3.651778E+00
9.219150E+00
4.264346E+00
8.690373E+00
3.785262E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.219150E+00
4.264346E+00
7.204424E+00
2.604203E+00
0.000000E+00
@ -292,20 +284,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
7.204424E+00
2.604203E+00
8.690373E+00
3.785262E+00
7.513640E+00
2.833028E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
8.690373E+00
3.785262E+00
5.326721E+00
1.426975E+00
0.000000E+00
@ -316,20 +308,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
5.326721E+00
1.426975E+00
7.513640E+00
2.833028E+00
5.661144E+00
1.607138E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
7.513640E+00
2.833028E+00
2.847310E+00
4.090440E-01
0.000000E+00
@ -340,8 +332,18 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
2.847310E+00
4.090440E-01
5.661144E+00
1.607138E+00
3.025812E+00
4.597241E-01
0.000000E+00
@ -352,8 +354,6 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.661144E+00
1.607138E+00
0.000000E+00
0.000000E+00
0.000000E+00

View file

@ -126,8 +126,18 @@ tally 3:
tally 4:
3.090000E+00
4.810640E-01
0.000000E+00
0.000000E+00
2.833000E+00
4.078910E-01
5.555000E+00
1.551579E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -140,28 +150,10 @@ tally 4:
0.000000E+00
5.555000E+00
1.551579E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
5.555000E+00
1.551579E+00
2.833000E+00
4.078910E-01
5.095000E+00
1.310819E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
2.833000E+00
4.078910E-01
7.271000E+00
2.659755E+00
0.000000E+00
@ -172,20 +164,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
7.271000E+00
2.659755E+00
5.095000E+00
1.310819E+00
7.026000E+00
2.486552E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
5.095000E+00
1.310819E+00
8.577000E+00
3.703215E+00
0.000000E+00
@ -196,20 +188,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
8.577000E+00
3.703215E+00
7.026000E+00
2.486552E+00
8.572000E+00
3.680852E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
7.026000E+00
2.486552E+00
9.393000E+00
4.422429E+00
0.000000E+00
@ -220,20 +212,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.393000E+00
4.422429E+00
8.572000E+00
3.680852E+00
9.261000E+00
4.304411E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
8.572000E+00
3.680852E+00
9.265000E+00
4.305625E+00
0.000000E+00
@ -244,20 +236,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.265000E+00
4.305625E+00
9.261000E+00
4.304411E+00
9.303000E+00
4.350791E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.261000E+00
4.304411E+00
8.535000E+00
3.659395E+00
0.000000E+00
@ -268,20 +260,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
8.535000E+00
3.659395E+00
9.303000E+00
4.350791E+00
8.693000E+00
3.799545E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.303000E+00
4.350791E+00
7.104000E+00
2.544182E+00
0.000000E+00
@ -292,20 +284,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
7.104000E+00
2.544182E+00
8.693000E+00
3.799545E+00
7.334000E+00
2.700052E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
8.693000E+00
3.799545E+00
5.168000E+00
1.344390E+00
0.000000E+00
@ -316,20 +308,20 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
5.168000E+00
1.344390E+00
7.334000E+00
2.700052E+00
5.416000E+00
1.471086E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
7.334000E+00
2.700052E+00
2.724000E+00
3.745680E-01
0.000000E+00
@ -340,8 +332,18 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
2.724000E+00
3.745680E-01
5.416000E+00
1.471086E+00
2.960000E+00
4.397840E-01
0.000000E+00
@ -352,8 +354,6 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.416000E+00
1.471086E+00
0.000000E+00
0.000000E+00
0.000000E+00

View file

@ -0,0 +1 @@
5a9e65b8a8c9d7c575fc48c5d289bbc805739729a33d83aa79985473d83c8cc3a0c7dad8e95221090917c35ac4842667c8c9daecd06dc6b909a92475f5083753

View file

@ -0,0 +1 @@
89387dd9e5b962c773e1782ff829846968dc456d899963f5dd98761fbde73a3f81676717ff3599bc26a1b77247826c38756735a9b2b329b80ad66286a62bd3f9

View file

@ -0,0 +1,91 @@
#!/usr/bin/env python
import os
import sys
import glob
import hashlib
sys.path.insert(0, os.pardir)
from testing_harness import HashedPyAPITestHarness
import openmc
class FilterMeshTestHarness(HashedPyAPITestHarness):
def _build_inputs(self):
# The summary.h5 file needs to be created to read in the tallies
self._input_set.settings.output = {'summary': True}
# Initialize the tallies file
tallies_file = openmc.Tallies()
# Initialize Meshes
mesh_1d = openmc.Mesh(mesh_id=1)
mesh_1d.type = 'regular'
mesh_1d.dimension = [17]
mesh_1d.lower_left = [-182.07]
mesh_1d.upper_right = [182.07]
mesh_2d = openmc.Mesh(mesh_id=2)
mesh_2d.type = 'regular'
mesh_2d.dimension = [17, 17]
mesh_2d.lower_left = [-182.07, -182.07]
mesh_2d.upper_right = [182.07, 182.07]
mesh_3d = openmc.Mesh(mesh_id=3)
mesh_3d.type = 'regular'
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]
# Initialize the filters
mesh_1d_filter = openmc.Filter(type='mesh')
mesh_2d_filter = openmc.Filter(type='mesh')
mesh_3d_filter = openmc.Filter(type='mesh')
mesh_1d_filter.mesh = mesh_1d
mesh_2d_filter.mesh = mesh_2d
mesh_3d_filter.mesh = mesh_3d
# Initialized the tallies
tally = openmc.Tally(name='tally 1')
tally.filters = [mesh_1d_filter]
tally.scores = ['total']
tallies_file.append(tally)
tally = openmc.Tally(name='tally 2')
tally.filters = [mesh_1d_filter]
tally.scores = ['current']
tallies_file.append(tally)
tally = openmc.Tally(name='tally 3')
tally.filters = [mesh_2d_filter]
tally.scores = ['total']
tallies_file.append(tally)
tally = openmc.Tally(name='tally 4')
tally.filters = [mesh_2d_filter]
tally.scores = ['current']
tallies_file.append(tally)
tally = openmc.Tally(name='tally 5')
tally.filters = [mesh_3d_filter]
tally.scores = ['total']
tallies_file.append(tally)
tally = openmc.Tally(name='tally 6')
tally.filters = [mesh_3d_filter]
tally.scores = ['current']
tallies_file.append(tally)
# Export tallies to file
self._input_set.tallies = tallies_file
super(FilterMeshTestHarness, self)._build_inputs()
def _cleanup(self):
super(FilterMeshTestHarness, self)._cleanup()
f = os.path.join(os.getcwd(), 'tallies.xml')
if os.path.exists(f): os.remove(f)
if __name__ == '__main__':
harness = FilterMeshTestHarness('statepoint.10.*', True)
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

@ -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,581 +0,0 @@
k-combined:
9.581522E-01 4.261830E-02
tally 1:
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
2.486634E-01
2.561523E-02
5.574899E-01
1.049542E-01
7.713789E-01
2.948263E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.149324E-01
1.320945E-02
2.001407E+00
1.600000E+00
9.572791E-01
8.942065E-01
0.000000E+00
0.000000E+00
2.501129E-02
6.255649E-04
1.484996E-01
2.205214E-02
3.079994E-03
9.486363E-06
1.090478E+00
5.381842E-01
4.235354E+00
5.638989E+00
3.267703E-01
4.763836E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
2.465048E-02
3.049063E-04
7.159080E-01
2.988090E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.984785E-01
1.486414E-01
9.889831E-01
3.657975E-01
1.492571E+00
6.318792E-01
6.314497E-01
1.552199E-01
2.034493E+00
1.162774E+00
1.252153E+00
4.563949E-01
3.452042E-02
1.191659E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.251028E-01
1.306358E-02
2.850134E+00
2.250972E+00
2.083542E+00
1.599782E+00
3.417016E+00
2.972256E+00
1.533605E+00
8.644495E-01
1.962807E-01
2.410165E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
4.131352E-01
6.756111E-02
2.677440E+00
2.382024E+00
5.709899E+00
7.095076E+00
4.663027E+00
5.641430E+00
1.357567E+00
4.362757E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.473499E-01
1.206520E-01
5.299733E-01
2.205463E-01
4.425042E-01
5.854257E-02
9.831996E-01
4.846833E-01
8.393183E-03
7.044551E-05
4.457483E-01
5.194318E-02
1.194169E+00
4.790398E-01
1.261505E+00
7.705206E-01
2.356462E-01
3.082678E-02
3.679762E-01
1.354065E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.597805E-01
1.297695E-02
1.349846E+00
6.808561E-01
2.237774E+00
1.109643E+00
4.237107E-01
6.002592E-02
0.000000E+00
0.000000E+00
5.424180E-02
2.942173E-03
1.420269E-01
2.017163E-02
1.954689E+00
9.874394E-01
1.380025E+00
4.289689E-01
5.043842E-02
2.544034E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.438568E-01
1.597365E-02
6.874433E-01
2.287801E-01
7.495196E-01
1.939234E-01
8.922533E-01
2.835397E-01
7.462571E-02
5.568996E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.449729E-01
2.101714E-02
1.876891E-01
1.675278E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
7.002118E-02
4.902965E-03
8.612279E-02
5.910825E-03
5.651386E-01
1.286874E-01
3.804197E-01
1.225870E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
2.355899E-02
5.550260E-04
3.214464E-01
1.033278E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.474078E-01
2.172907E-02
5.128548E-01
1.258296E-01
9.004671E-01
2.791173E-01
5.729905E-01
2.680764E-01
1.009880E-01
9.392497E-03
3.174349E-01
1.007649E-01
2.560771E-01
6.557550E-02
3.571813E-02
1.275785E-03
2.222160E-02
4.937996E-04
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
6.386562E-02
4.078817E-03
1.379070E+00
4.300261E-01
6.485841E+00
1.046238E+01
5.509254E-01
1.200498E-01
2.424177E+00
1.613025E+00
1.260449E+00
5.881747E-01
9.262861E-03
8.580060E-05
6.588191E-01
2.543824E-01
2.028040E-01
4.112944E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.040956E+00
3.089102E-01
6.743595E+00
1.135216E+01
1.494910E+00
6.327940E-01
2.226123E+00
1.203763E+00
3.147407E+00
3.333589E+00
2.505905E-01
6.279558E-02
4.171440E-01
8.701395E-02
1.417427E+00
9.671327E-01
1.398153E-01
1.954832E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
2.905797E-02
8.443654E-04
1.237157E+00
6.284409E-01
7.681046E-01
1.896252E-01
2.444256E-01
2.804968E-02
1.939766E+00
1.132042E+00
2.021896E+00
1.425606E+00
5.136552E-01
2.638417E-01
7.735493E-01
1.575534E-01
1.453489E+00
6.697189E-01
5.089636E-01
8.836228E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.678278E-01
2.097037E-02
5.208007E-01
2.057626E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
7.532560E-03
5.673946E-05
9.539296E-01
5.206980E-01
0.000000E+00
0.000000E+00
6.927475E-01
2.317744E-01
3.953753E-01
1.420303E-01
1.377786E-01
1.716503E-02
1.441275E+00
5.086865E-01
4.033076E-01
5.492660E-02
8.534416E-01
2.290345E-01
1.422521E+00
6.953668E-01
1.940736E-01
2.763730E-02
0.000000E+00
0.000000E+00
5.312751E-02
1.423243E-03
1.050464E+00
5.524605E-01
5.214580E-02
2.719184E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.011069E-02
9.066538E-04
2.913901E+00
1.841912E+00
4.513270E+00
5.611449E+00
5.367404E+00
6.853344E+00
1.137705E+00
5.670907E-01
6.059470E-02
3.671718E-03
0.000000E+00
0.000000E+00
3.374418E-01
1.138670E-01
7.171591E-02
5.143172E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
6.978650E-01
2.584000E-01
1.653243E+00
8.369762E-01
1.237276E+00
4.961691E-01
3.521780E-01
6.575561E-02
3.479381E-01
1.210609E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
5.118696E-02
2.620104E-03
1.451562E-02
2.107031E-04
1.045336E-01
1.092727E-02
5.835684E-02
3.405521E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00

View file

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

View file

@ -1,16 +0,0 @@
<?xml version="1.0"?>
<tallies>
<mesh id="1">
<type>regular</type>
<lower_left>-182.07 -182.07</lower_left>
<upper_right>182.07 182.07</upper_right>
<dimension>17 17</dimension>
</mesh>
<tally id="1">
<filter type="mesh" bins="1" />
<scores>total</scores>
</tally>
</tallies>

View file

@ -1,11 +0,0 @@
#!/usr/bin/env python
import os
import sys
sys.path.insert(0, os.pardir)
from testing_harness import TestHarness
if __name__ == '__main__':
harness = TestHarness('statepoint.10.*', True)
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

@ -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,19 +0,0 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
</eigenvalue>
<source>
<space type="box">
<parameters>
-160 -160 -183
160 160 183
</parameters>
</space>
</source>
</settings>

View file

@ -1,16 +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>
<tally id="1">
<filter type="mesh" bins="1" />
<scores>total</scores>
</tally>
</tallies>

View file

@ -1,11 +0,0 @@
#!/usr/bin/env python
import os
import sys
sys.path.insert(0, os.pardir)
from testing_harness import TestHarness
if __name__ == '__main__':
harness = TestHarness('statepoint.10.*', True)
harness.main()

View file

@ -1 +1 @@
6e432700c1fb8641d106471f1fd19a0bf0f00f8b03a97131f2d73732c5a8eea48edf910c7b27b83058a7914c47c29dc7e7899b7dbb83485309b4f7d9f20471d2
05f3d67355e823afe6c8f3a721a2a7b9468f128bd14eace44aa7b85f8b6535e099cb27219dd88b9b1a242d36cc5cefd6d4c4f3549f0463120837e6c6b57650e7

View file

@ -344,3 +344,10 @@ class PyAPITestHarness(TestHarness):
for f in output:
if os.path.exists(f):
os.remove(f)
class HashedPyAPITestHarness(PyAPITestHarness):
def _get_results(self):
"""Digest info in the statepoint and return as a string."""
return super(HashedPyAPITestHarness, self)._get_results(True)

View file

@ -15,7 +15,7 @@ fi
# Build PHDF5
if [[ ! -e $HOME/phdf5_install/bin/h5pfc ]]; then
wget -q http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.15/src/hdf5-1.8.15.tar.gz
wget -q http://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.15/src/hdf5-1.8.15.tar.gz
tar -xzvf hdf5-1.8.15.tar.gz >/dev/null 2>&1
mv hdf5-1.8.15 phdf5-1.8.15; cd phdf5-1.8.15
CC=$HOME/mpich_install/bin/mpicc FC=$HOME/mpich_install/bin/mpif90 \