mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 22:26:08 -04:00
Merge pull request #717 from samuelshaner/2d-mesh-tally
Implemented 1D and 2D mesh tallies
This commit is contained in:
commit
fe9c97c051
31 changed files with 734 additions and 11913 deletions
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
114
src/mesh.F90
114
src/mesh.F90
|
|
@ -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)
|
||||
|
|
|
|||
249
src/output.F90
249
src/output.F90
|
|
@ -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
|
||||
|
||||
|
|
|
|||
105
src/tally.F90
105
src/tally.F90
|
|
@ -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) &
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
177
src/trigger.F90
177
src/trigger.F90
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
1
tests/test_filter_mesh/inputs_true.dat
Normal file
1
tests/test_filter_mesh/inputs_true.dat
Normal file
|
|
@ -0,0 +1 @@
|
|||
5a9e65b8a8c9d7c575fc48c5d289bbc805739729a33d83aa79985473d83c8cc3a0c7dad8e95221090917c35ac4842667c8c9daecd06dc6b909a92475f5083753
|
||||
1
tests/test_filter_mesh/results_true.dat
Normal file
1
tests/test_filter_mesh/results_true.dat
Normal file
|
|
@ -0,0 +1 @@
|
|||
89387dd9e5b962c773e1782ff829846968dc456d899963f5dd98761fbde73a3f81676717ff3599bc26a1b77247826c38756735a9b2b329b80ad66286a62bd3f9
|
||||
91
tests/test_filter_mesh/test_filter_mesh.py
Normal file
91
tests/test_filter_mesh/test_filter_mesh.py
Normal 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()
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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()
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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()
|
||||
|
|
@ -1 +1 @@
|
|||
6e432700c1fb8641d106471f1fd19a0bf0f00f8b03a97131f2d73732c5a8eea48edf910c7b27b83058a7914c47c29dc7e7899b7dbb83485309b4f7d9f20471d2
|
||||
05f3d67355e823afe6c8f3a721a2a7b9468f128bd14eace44aa7b85f8b6535e099cb27219dd88b9b1a242d36cc5cefd6d4c4f3549f0463120837e6c6b57650e7
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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 \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue