mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 22:26:08 -04:00
Added capabilities for tallying over polar and azimuthal angles, added bounds checking for these new filters and mu while doing filter match searching, updated docs and tests.
This commit is contained in:
parent
e6c264ac86
commit
95a5271790
27 changed files with 10627 additions and 3531 deletions
|
|
@ -1266,6 +1266,34 @@ The ``<tally>`` element accepts the following sub-elements:
|
|||
:math:'\[-1,1\]' can be instead written as:
|
||||
``<filter type="mu" bins="5" />``.
|
||||
|
||||
:polar:
|
||||
A monotonically increasing list of bounding particle polar angles
|
||||
which represents a portion of the possible values of :math:'\[0,\pi\]'.
|
||||
For example, spanning all of :math:'\[0,\pi\]' with five equi-width
|
||||
bins can be specified as:
|
||||
``<filter type="polar" bins="0.0 0.6283 1.2566 1.8850 2.5132 3.1416"/>``
|
||||
|
||||
Alternatively, if only one value is provided as a bin, OpenMC will
|
||||
interpret this to mean the complete range of :math:'\[0,\pi\]' should
|
||||
be automatically subdivided in to the provided value for the bin.
|
||||
That is, the above example of five equi-width bins spanning
|
||||
:math:'\[0,\pi\]' can be instead written as:
|
||||
``<filter type="polar" bins="5" />``.
|
||||
|
||||
:azimuthal:
|
||||
A monotonically increasing list of bounding particle azimuthal angles
|
||||
which represents a portion of the possible values of :math:'\[-\pi,\pi\]'.
|
||||
For example, spanning all of :math:'\[-\pi,\pi\]' with five equi-width
|
||||
bins can be specified as:
|
||||
``<filter type="azimuthal" bins="-3.1416 -1.8850 -0.6283 0.6283 1.8850 3.1416" />``
|
||||
|
||||
Alternatively, if only one value is provided as a bin, OpenMC will
|
||||
interpret this to mean the complete range of :math:'\[-\pi,\pi\]' should
|
||||
be automatically subdivided in to the provided value for the bin.
|
||||
That is, the above example of five equi-width bins spanning
|
||||
:math:'\[-\pi,\pi\]' can be instead written as:
|
||||
``<filter type="azimuthal" bins="5" />``.
|
||||
|
||||
:mesh:
|
||||
The ``id`` of a structured mesh to be tallied over.
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@ FILTER_TYPES = {1: 'universe',
|
|||
7: 'energy',
|
||||
8: 'energyout',
|
||||
9: 'distribcell',
|
||||
10:'mu'}
|
||||
10:'mu',
|
||||
11: 'polar',
|
||||
12: 'azimuthal'}
|
||||
|
||||
SCORE_TYPES = {-1: 'flux',
|
||||
-2: 'total',
|
||||
|
|
|
|||
|
|
@ -377,7 +377,8 @@ class StatePoint(object):
|
|||
raise ValueError(msg)
|
||||
|
||||
# Read the bin values
|
||||
if FILTER_TYPES[filter_type] in ['energy', 'energyout', 'mu']:
|
||||
if FILTER_TYPES[filter_type] in ['energy', 'energyout', 'mu',
|
||||
'polar', 'azimuthal']:
|
||||
bins = self._get_double(
|
||||
n_bins+1, path='{0}{1}/bins'.format(subbase, j))
|
||||
|
||||
|
|
|
|||
|
|
@ -896,7 +896,8 @@ class Tally(object):
|
|||
bins = list(itertools.product(*xyz))
|
||||
|
||||
# Create list of 2-tuples for energy boundary bins
|
||||
elif filter.type in ['energy', 'energyout', 'mu']:
|
||||
elif filter.type in ['energy', 'energyout', 'mu', 'polar',
|
||||
'azimuthal']:
|
||||
bins = []
|
||||
for k in range(filter.num_bins):
|
||||
bins.append((filter.bins[k], filter.bins[k+1]))
|
||||
|
|
@ -1251,12 +1252,12 @@ class Tally(object):
|
|||
filter_bins = np.tile(filter_bins, tile_factor)
|
||||
df[filter.type + ' [MeV]'] = filter_bins
|
||||
|
||||
elif 'mu' is filter.type:
|
||||
elif filter.type in ['mu', 'polar', 'azimuthal']:
|
||||
bins = filter.bins
|
||||
num_bins = filter.num_bins
|
||||
|
||||
# Create strings for
|
||||
template = '{0:.2f} - {1:.2f}'
|
||||
template = '{0:1.2f} - {1:1.2f}'
|
||||
filter_bins = []
|
||||
for i in range(num_bins):
|
||||
filter_bins.append(template.format(bins[i], bins[i+1]))
|
||||
|
|
|
|||
|
|
@ -303,18 +303,20 @@ module constants
|
|||
integer, parameter :: NO_BIN_FOUND = -1
|
||||
|
||||
! Tally filter and map types
|
||||
integer, parameter :: N_FILTER_TYPES = 10
|
||||
integer, parameter :: N_FILTER_TYPES = 12
|
||||
integer, parameter :: &
|
||||
FILTER_UNIVERSE = 1, &
|
||||
FILTER_MATERIAL = 2, &
|
||||
FILTER_CELL = 3, &
|
||||
FILTER_CELLBORN = 4, &
|
||||
FILTER_SURFACE = 5, &
|
||||
FILTER_MESH = 6, &
|
||||
FILTER_ENERGYIN = 7, &
|
||||
FILTER_ENERGYOUT = 8, &
|
||||
FILTER_DISTRIBCELL = 9, &
|
||||
FILTER_MU = 10
|
||||
FILTER_UNIVERSE = 1, &
|
||||
FILTER_MATERIAL = 2, &
|
||||
FILTER_CELL = 3, &
|
||||
FILTER_CELLBORN = 4, &
|
||||
FILTER_SURFACE = 5, &
|
||||
FILTER_MESH = 6, &
|
||||
FILTER_ENERGYIN = 7, &
|
||||
FILTER_ENERGYOUT = 8, &
|
||||
FILTER_DISTRIBCELL = 9, &
|
||||
FILTER_MU = 10, &
|
||||
FILTER_POLAR = 11, &
|
||||
FILTER_AZIMUTHAL = 12
|
||||
|
||||
! Tally surface current directions
|
||||
integer, parameter :: &
|
||||
|
|
|
|||
|
|
@ -608,7 +608,9 @@ contains
|
|||
! Write filter bins
|
||||
if (t % filters(j) % type == FILTER_ENERGYIN .or. &
|
||||
t % filters(j) % type == FILTER_ENERGYOUT .or. &
|
||||
t % filters(j) % type == FILTER_MU) then
|
||||
t % filters(j) % type == FILTER_MU .or. &
|
||||
t % filters(j) % type == FILTER_POLAR .or. &
|
||||
t % filters(j) % type == FILTER_AZIMUTHAL) then
|
||||
call su % write_data(t % filters(j) % real_bins, "bins", &
|
||||
length=size(t % filters(j) % real_bins), &
|
||||
group="tallies/tally " // trim(to_str(t % id)) &
|
||||
|
|
@ -658,6 +660,14 @@ contains
|
|||
call su % write_data("mu", "type_name", &
|
||||
group="tallies/tally " // trim(to_str(t % id)) &
|
||||
// "/filter " // trim(to_str(j)))
|
||||
case(FILTER_POLAR)
|
||||
call su % write_data("polar", "type_name", &
|
||||
group="tallies/tally " // trim(to_str(t % id)) &
|
||||
// "/filter " // trim(to_str(j)))
|
||||
case(FILTER_AZIMUTHAL)
|
||||
call su % write_data("azimuthal", "type_name", &
|
||||
group="tallies/tally " // trim(to_str(t % id)) &
|
||||
// "/filter " // trim(to_str(j)))
|
||||
end select
|
||||
|
||||
end do FILTER_LOOP
|
||||
|
|
|
|||
|
|
@ -2085,9 +2085,9 @@ contains
|
|||
integer :: imomstr ! Index of MOMENT_STRS & MOMENT_N_STRS
|
||||
logical :: file_exists ! does tallies.xml file exist?
|
||||
real(8) :: rarray3(3) ! temporary double prec. array
|
||||
integer :: Nmu ! Number of angular bins
|
||||
real(8) :: dmu ! Mu spacing if using automatic allocation
|
||||
integer :: imu ! Loop counter for building mu filter bins
|
||||
integer :: Nangle ! Number of angular bins
|
||||
real(8) :: dangle ! Mu spacing if using automatic allocation
|
||||
integer :: iangle ! Loop counter for building mu filter bins
|
||||
character(MAX_LINE_LEN) :: filename
|
||||
character(MAX_WORD_LEN) :: word
|
||||
character(MAX_WORD_LEN) :: score_name
|
||||
|
|
@ -2355,7 +2355,8 @@ contains
|
|||
if (check_for_node(node_filt, "bins")) then
|
||||
if ((trim(temp_str) == 'energy' .or. &
|
||||
trim(temp_str) == 'energyout') .or. &
|
||||
(trim(temp_str) == 'mu')) then
|
||||
(trim(temp_str) == 'mu' .or. trim(temp_str) == 'polar') .or. &
|
||||
(trim(temp_str) == 'azimuthal')) then
|
||||
n_words = get_arraysize_double(node_filt, "bins")
|
||||
else
|
||||
n_words = get_arraysize_integer(node_filt, "bins")
|
||||
|
|
@ -2502,23 +2503,22 @@ contains
|
|||
allocate(t % filters(j) % real_bins(n_words))
|
||||
call get_node_array(node_filt, "bins", t % filters(j) % real_bins)
|
||||
|
||||
! Easter egg! Allow a user to input a negative number, if it is only one
|
||||
! and that will mean you subivide [-1,1] evenly with the input
|
||||
! being the number of bins
|
||||
! Allow a user to input a lone number which will mean that
|
||||
! you subivide [-1,1] evenly with the input being the number of bins
|
||||
if (n_words == 1) then
|
||||
Nmu = abs(int(t % filters(j) % real_bins(1)))
|
||||
if (Nmu > 1) then
|
||||
t % filters(j) % n_bins = Nmu
|
||||
dmu = TWO / (real(Nmu,8))
|
||||
Nangle = abs(int(t % filters(j) % real_bins(1)))
|
||||
if (Nangle > 1) then
|
||||
t % filters(j) % n_bins = Nangle
|
||||
dangle = TWO / (real(Nangle,8))
|
||||
deallocate(t % filters(j) % real_bins)
|
||||
allocate(t % filters(j) % real_bins(Nmu + 1))
|
||||
do imu = 1, Nmu + 1
|
||||
t % filters(j) % real_bins(imu) = -ONE + (imu - 1) * dmu
|
||||
allocate(t % filters(j) % real_bins(Nangle + 1))
|
||||
do iangle = 1, Nangle + 1
|
||||
t % filters(j) % real_bins(iangle) = -ONE + (iangle - 1) * dangle
|
||||
end do
|
||||
t % filters(j) % real_bins(Nmu + 1) = ONE
|
||||
t % filters(j) % real_bins(Nangle + 1) = ONE
|
||||
else
|
||||
call fatal_error("Must have more than one bin for mu filter &
|
||||
& on tally " // trim(to_str(t % id)) // ".")
|
||||
call fatal_error("Number of bins for mu filter must be&
|
||||
& greater than 1 on tally " // trim(to_str(t % id)) // ".")
|
||||
end if
|
||||
|
||||
end if
|
||||
|
|
@ -2526,6 +2526,68 @@ contains
|
|||
! Set to analog estimator
|
||||
t % estimator = ESTIMATOR_ANALOG
|
||||
|
||||
case ('polar')
|
||||
! Set type of filter
|
||||
t % filters(j) % type = FILTER_POLAR
|
||||
|
||||
! Set number of bins
|
||||
t % filters(j) % n_bins = n_words - 1
|
||||
|
||||
! Allocate and store bins
|
||||
allocate(t % filters(j) % real_bins(n_words))
|
||||
call get_node_array(node_filt, "bins", t % filters(j) % real_bins)
|
||||
|
||||
! Allow a user to input a lone number which will mean that
|
||||
! you subivide [0,pi] evenly with the input being the number of bins
|
||||
if (n_words == 1) then
|
||||
Nangle = abs(int(t % filters(j) % real_bins(1)))
|
||||
if (Nangle > 1) then
|
||||
t % filters(j) % n_bins = Nangle
|
||||
dangle = PI / (real(Nangle,8))
|
||||
deallocate(t % filters(j) % real_bins)
|
||||
allocate(t % filters(j) % real_bins(Nangle + 1))
|
||||
do iangle = 1, Nangle + 1
|
||||
t % filters(j) % real_bins(iangle) = (iangle - 1) * dangle
|
||||
end do
|
||||
t % filters(j) % real_bins(Nangle + 1) = PI
|
||||
else
|
||||
call fatal_error("Number of bins for polar filter must be&
|
||||
& greater than 1 on tally " // trim(to_str(t % id)) // ".")
|
||||
end if
|
||||
|
||||
end if
|
||||
|
||||
case ('azimuthal')
|
||||
! Set type of filter
|
||||
t % filters(j) % type = FILTER_AZIMUTHAL
|
||||
|
||||
! Set number of bins
|
||||
t % filters(j) % n_bins = n_words - 1
|
||||
|
||||
! Allocate and store bins
|
||||
allocate(t % filters(j) % real_bins(n_words))
|
||||
call get_node_array(node_filt, "bins", t % filters(j) % real_bins)
|
||||
|
||||
! Allow a user to input a lone number which will mean that
|
||||
! you subivide [0,2pi] evenly with the input being the number of bins
|
||||
if (n_words == 1) then
|
||||
Nangle = abs(int(t % filters(j) % real_bins(1)))
|
||||
if (Nangle > 1) then
|
||||
t % filters(j) % n_bins = Nangle
|
||||
dangle = TWO * PI / (real(Nangle,8))
|
||||
deallocate(t % filters(j) % real_bins)
|
||||
allocate(t % filters(j) % real_bins(Nangle + 1))
|
||||
do iangle = 1, Nangle + 1
|
||||
t % filters(j) % real_bins(iangle) = -PI + (iangle - 1) * dangle
|
||||
end do
|
||||
t % filters(j) % real_bins(Nangle + 1) = PI
|
||||
else
|
||||
call fatal_error("Number of bins for azimuthal filter must be&
|
||||
& greater than 1 on tally " // trim(to_str(t % id)) // ".")
|
||||
end if
|
||||
|
||||
end if
|
||||
|
||||
case default
|
||||
! Specified tally filter is invalid, raise error
|
||||
call fatal_error("Unknown filter type '" &
|
||||
|
|
|
|||
|
|
@ -864,6 +864,26 @@ contains
|
|||
write(unit_,*) ' Change-in-Angle Bins:' // trim(string)
|
||||
end if
|
||||
|
||||
! Write any neutron angle bins if present, first polar then azimuthal
|
||||
j = t % find_filter(FILTER_POLAR)
|
||||
if (j > 0) then
|
||||
string = ""
|
||||
do i = 1, t % filters(j) % n_bins + 1
|
||||
string = trim(string) // ' ' // trim(to_str(&
|
||||
t % filters(j) % real_bins(i)))
|
||||
end do
|
||||
write(unit_,*) ' Polar Angle Bins:' // trim(string)
|
||||
end if
|
||||
j = t % find_filter(FILTER_AZIMUTHAL)
|
||||
if (j > 0) then
|
||||
string = ""
|
||||
do i = 1, t % filters(j) % n_bins + 1
|
||||
string = trim(string) // ' ' // trim(to_str(&
|
||||
t % filters(j) % real_bins(i)))
|
||||
end do
|
||||
write(unit_,*) ' Azimuthal Angle Bins:' // trim(string)
|
||||
end if
|
||||
|
||||
! Write nuclides bins
|
||||
write(unit_,fmt='(1X,A)',advance='no') ' Nuclide Bins:'
|
||||
do i = 1, t % n_nuclide_bins
|
||||
|
|
@ -1750,6 +1770,8 @@ contains
|
|||
filter_name(FILTER_ENERGYIN) = "Incoming Energy"
|
||||
filter_name(FILTER_ENERGYOUT) = "Outgoing Energy"
|
||||
filter_name(FILTER_MU) = "Change-in-Angle"
|
||||
filter_name(FILTER_POLAR) = "Polar Angle"
|
||||
filter_name(FILTER_AZIMUTHAL) = "Azimuthal Angle"
|
||||
|
||||
! Initialize names for scores
|
||||
score_names(abs(SCORE_FLUX)) = "Flux"
|
||||
|
|
@ -2187,7 +2209,8 @@ contains
|
|||
label = "Index (" // trim(to_str(ijk(1))) // ", " // &
|
||||
trim(to_str(ijk(2))) // ", " // trim(to_str(ijk(3))) // ")"
|
||||
end if
|
||||
case (FILTER_ENERGYIN, FILTER_ENERGYOUT, FILTER_MU)
|
||||
case (FILTER_ENERGYIN, FILTER_ENERGYOUT, FILTER_MU, FILTER_POLAR, &
|
||||
FILTER_AZIMUTHAL)
|
||||
E0 = t % filters(i_filter) % real_bins(bin)
|
||||
E1 = t % filters(i_filter) % real_bins(bin + 1)
|
||||
label = "[" // trim(to_str(E0)) // ", " // trim(to_str(E1)) // ")"
|
||||
|
|
|
|||
|
|
@ -472,6 +472,12 @@ contains
|
|||
! Set energy and direction of particle in LAB frame
|
||||
uvw = v_n / vel
|
||||
|
||||
! Because of floating-point roundoff, it may be possible for mu_lab to be
|
||||
! outside of the range [-1,1). In these cases, we just set mu_lab to exactly
|
||||
! -1 or 1
|
||||
|
||||
if (abs(mu_lab) > ONE) mu_lab = sign(ONE,mu_lab)
|
||||
|
||||
end subroutine elastic_scatter
|
||||
|
||||
!===============================================================================
|
||||
|
|
@ -718,6 +724,12 @@ contains
|
|||
end if ! (inelastic secondary energy treatment)
|
||||
end if ! (elastic or inelastic)
|
||||
|
||||
! Because of floating-point roundoff, it may be possible for mu to be
|
||||
! outside of the range [-1,1). In these cases, we just set mu to exactly
|
||||
! -1 or 1
|
||||
|
||||
if (abs(mu) > ONE) mu = sign(ONE,mu)
|
||||
|
||||
! change direction of particle
|
||||
uvw = rotate_angle(uvw, mu)
|
||||
|
||||
|
|
@ -1305,6 +1317,11 @@ contains
|
|||
! sample outgoing energy
|
||||
if (law == 44 .or. law == 61) then
|
||||
call sample_energy(rxn%edist, E_in, E, mu)
|
||||
! Because of floating-point roundoff, it may be possible for mu to be
|
||||
! outside of the range [-1,1). In these cases, we just set mu to exactly
|
||||
! -1 or 1
|
||||
|
||||
if (abs(mu) > ONE) mu = sign(ONE,mu)
|
||||
elseif (law == 66) then
|
||||
call sample_energy(rxn%edist, E_in, E, A=A, Q=Q)
|
||||
else
|
||||
|
|
@ -1322,6 +1339,12 @@ contains
|
|||
|
||||
! determine outgoing angle in lab
|
||||
mu = mu * sqrt(E_cm/E) + ONE/(A+ONE) * sqrt(E_in/E)
|
||||
|
||||
! Because of floating-point roundoff, it may be possible for mu to be
|
||||
! outside of the range [-1,1). In these cases, we just set mu to exactly
|
||||
! -1 or 1
|
||||
|
||||
if (abs(mu) > ONE) mu = sign(ONE,mu)
|
||||
end if
|
||||
|
||||
! Set outgoing energy and scattering angle
|
||||
|
|
|
|||
|
|
@ -23,9 +23,11 @@ element tallies {
|
|||
attribute estimator { ( "analog" | "tracklength" ) })? &
|
||||
element filter {
|
||||
(element type { ( "cell" | "cellborn" | "material" | "universe" |
|
||||
"surface" | "distribcell" | "mesh" | "energy" | "energyout" | "mu") } |
|
||||
"surface" | "distribcell" | "mesh" | "energy" | "energyout" | "mu" |
|
||||
"polar" | "azimuthal") } |
|
||||
attribute type { ( "cell" | "cellborn" | "material" | "universe" |
|
||||
"surface" | "distribcell" | "mesh" | "energy" | "energyout" | "mu") }) &
|
||||
"surface" | "distribcell" | "mesh" | "energy" | "energyout" | "mu" |
|
||||
"polar" | "azimuthal") }) &
|
||||
(element bins { list { xsd:double+ } } |
|
||||
attribute bins { list { xsd:double+ } })
|
||||
}* &
|
||||
|
|
|
|||
|
|
@ -152,6 +152,8 @@
|
|||
<value>energy</value>
|
||||
<value>energyout</value>
|
||||
<value>mu</value>
|
||||
<value>polar</value>
|
||||
<value>azimuthal</value>
|
||||
</choice>
|
||||
</element>
|
||||
<attribute name="type">
|
||||
|
|
@ -166,6 +168,8 @@
|
|||
<value>energy</value>
|
||||
<value>energyout</value>
|
||||
<value>mu</value>
|
||||
<value>polar</value>
|
||||
<value>azimuthal</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</choice>
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ contains
|
|||
R = n
|
||||
|
||||
if (val < array(L) .or. val > array(R)) then
|
||||
write(*,*) val
|
||||
write(*,*) array
|
||||
call fatal_error("Value outside of array during binary search")
|
||||
end if
|
||||
|
||||
|
|
|
|||
|
|
@ -257,7 +257,9 @@ contains
|
|||
"/filter " // to_str(j))
|
||||
if (tally % filters(j) % type == FILTER_ENERGYIN .or. &
|
||||
tally % filters(j) % type == FILTER_ENERGYOUT .or. &
|
||||
tally % filters(j) % type == FILTER_MU) then
|
||||
tally % filters(j) % type == FILTER_MU .or. &
|
||||
tally % filters(j) % type == FILTER_POLAR .or. &
|
||||
tally % filters(j) % type == FILTER_AZIMUTHAL) then
|
||||
call sp % write_data(tally % filters(j) % real_bins, "bins", &
|
||||
group="tallies/tally " // trim(to_str(tally % id)) // &
|
||||
"/filter " // to_str(j), &
|
||||
|
|
@ -845,7 +847,9 @@ contains
|
|||
"/filter " // to_str(j))
|
||||
if (tally % filters(j) % type == FILTER_ENERGYIN .or. &
|
||||
tally % filters(j) % type == FILTER_ENERGYOUT .or. &
|
||||
tally % filters(j) % type == FILTER_MU) then
|
||||
tally % filters(j) % type == FILTER_MU .or. &
|
||||
tally % filters(j) % type == FILTER_POLAR .or. &
|
||||
tally % filters(j) % type == FILTER_AZIMUTHAL) then
|
||||
call sp % read_data(tally % filters(j) % real_bins, "bins", &
|
||||
group="tallies/tally " // trim(to_str(curr_key)) // &
|
||||
"/filter " // to_str(j), &
|
||||
|
|
|
|||
|
|
@ -1134,6 +1134,7 @@ contains
|
|||
integer :: n ! number of bins for single filter
|
||||
integer :: offset ! offset for distribcell
|
||||
real(8) :: E ! particle energy
|
||||
real(8) :: theta, phi ! Polar and Azimuthal Angles, respectively
|
||||
type(TallyObject), pointer :: t
|
||||
type(StructuredMesh), pointer :: m
|
||||
|
||||
|
|
@ -1248,9 +1249,56 @@ contains
|
|||
! determine mu bin
|
||||
n = t % filters(i) % n_bins
|
||||
|
||||
! search to find incoming energy bin
|
||||
matching_bins(i) = binary_search(t % filters(i) % real_bins, &
|
||||
n + 1, p % mu)
|
||||
! check if particle is within mu bins
|
||||
if (p % mu < t % filters(i) % real_bins(1) .or. &
|
||||
p % mu > t % filters(i) % real_bins(n + 1)) then
|
||||
matching_bins(i) = NO_BIN_FOUND
|
||||
else
|
||||
! search to find mu bin
|
||||
matching_bins(i) = binary_search(t % filters(i) % real_bins, &
|
||||
n + 1, p % mu)
|
||||
end if
|
||||
|
||||
case (FILTER_POLAR)
|
||||
! make sure the correct direction vector is used
|
||||
if (t % estimator == ESTIMATOR_TRACKLENGTH) then
|
||||
theta = acos(p % coord(1) % uvw(3))
|
||||
else
|
||||
theta = acos(p % last_uvw(3))
|
||||
end if
|
||||
|
||||
! determine polar angle bin
|
||||
n = t % filters(i) % n_bins
|
||||
|
||||
! check if particle is within polar angle bins
|
||||
if (theta < t % filters(i) % real_bins(1) .or. &
|
||||
theta > t % filters(i) % real_bins(n + 1)) then
|
||||
matching_bins(i) = NO_BIN_FOUND
|
||||
else
|
||||
! search to find polar angle bin
|
||||
matching_bins(i) = binary_search(t % filters(i) % real_bins, &
|
||||
n + 1, theta)
|
||||
end if
|
||||
|
||||
case (FILTER_AZIMUTHAL)
|
||||
! make sure the correct direction vector is used
|
||||
if (t % estimator == ESTIMATOR_TRACKLENGTH) then
|
||||
phi = atan2(p % coord(1) % uvw(2), p % coord(1) % uvw(1))
|
||||
else
|
||||
phi = atan2(p % last_uvw(2), p % last_uvw(1))
|
||||
end if
|
||||
! determine mu bin
|
||||
n = t % filters(i) % n_bins
|
||||
|
||||
! check if particle is within azimuthal angle bins
|
||||
if (phi < t % filters(i) % real_bins(1) .or. &
|
||||
phi > t % filters(i) % real_bins(n + 1)) then
|
||||
matching_bins(i) = NO_BIN_FOUND
|
||||
else
|
||||
! search to find azimuthal angle bin
|
||||
matching_bins(i) = binary_search(t % filters(i) % real_bins, &
|
||||
n + 1, phi)
|
||||
end if
|
||||
|
||||
end select
|
||||
|
||||
|
|
|
|||
181
tests/test_filter_azimuthal/geometry.xml
Normal file
181
tests/test_filter_azimuthal/geometry.xml
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
<?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" surfaces=" -6 34 -35" /> <!-- Lower core -->
|
||||
<cell id="2" fill="201" surfaces=" -6 35 -36" /> <!-- Upper core -->
|
||||
<cell id="3" material="8" surfaces=" -7 31 -32" /> <!-- Lower core plate region -->
|
||||
<cell id="4" material="9" surfaces=" -5 32 -33" /> <!-- Bottom nozzle region -->
|
||||
<cell id="5" material="12" surfaces=" -5 33 -34" /> <!-- Bottom FA region -->
|
||||
<cell id="6" material="11" surfaces=" -5 36 -37" /> <!-- Top FA region -->
|
||||
<cell id="7" material="10" surfaces=" -5 37 -38" /> <!-- Top nozzle region -->
|
||||
<cell id="8" material="7" surfaces=" -7 38 -39" /> <!-- Upper plate region -->
|
||||
<cell id="9" material="4" surfaces="6 -7 32 -38" /> <!-- Downcomer -->
|
||||
<cell id="10" material="5" surfaces="7 -8 31 -39" /> <!-- RPV -->
|
||||
<cell id="11" material="6" surfaces="5 -6 32 -34" /> <!-- Bottom of radial reflector -->
|
||||
<cell id="12" material="7" surfaces="5 -6 36 -38" /> <!-- Top of radial reflector -->
|
||||
|
||||
<!-- Fuel pin, cladding, cold water -->
|
||||
<cell id="21" universe="1" material="1" surfaces="-1" />
|
||||
<cell id="22" universe="1" material="2" surfaces="1 -2" />
|
||||
<cell id="23" universe="1" material="3" surfaces="2" />
|
||||
|
||||
<!-- Instrumentation guide tube -->
|
||||
<cell id="24" universe="2" material="3" surfaces="-3" />
|
||||
<cell id="25" universe="2" material="2" surfaces="3 -4" />
|
||||
<cell id="26" universe="2" material="3" surfaces="4" />
|
||||
|
||||
<!-- Fuel pin, cladding, hot water -->
|
||||
<cell id="27" universe="3" material="1" surfaces="-1" />
|
||||
<cell id="28" universe="3" material="2" surfaces="1 -2" />
|
||||
<cell id="29" universe="3" material="4" surfaces="2" />
|
||||
|
||||
<!-- Instrumentation guide tube -->
|
||||
<cell id="30" universe="4" material="4" surfaces="-3" />
|
||||
<cell id="31" universe="4" material="2" surfaces="3 -4" />
|
||||
<cell id="32" universe="4" material="4" surfaces="4" />
|
||||
|
||||
<!-- cell for water assembly (cold) -->
|
||||
<cell id="50" universe="5" material="4" surfaces="34 -35" />
|
||||
|
||||
<!-- containing cell for fuel assembly -->
|
||||
<cell id="60" universe="6" fill="100" surfaces="34 -35" />
|
||||
|
||||
<!-- cell for water assembly (hot) -->
|
||||
<cell id="70" universe="7" material="3" surfaces="35 -36" />
|
||||
|
||||
<!-- containing cell for fuel assembly -->
|
||||
<cell id="80" universe="8" fill="101" surfaces="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>
|
||||
272
tests/test_filter_azimuthal/materials.xml
Normal file
272
tests/test_filter_azimuthal/materials.xml
Normal file
|
|
@ -0,0 +1,272 @@
|
|||
<?xml version="1.0"?>
|
||||
<materials>
|
||||
|
||||
<default_xs>71c</default_xs>
|
||||
|
||||
<!-- Fuel composition -->
|
||||
<material id="1">
|
||||
<density value="10.062" units="g/cm3" />
|
||||
<nuclide name="U-234" ao="4.9476e-6" />
|
||||
<nuclide name="U-235" ao="4.8218e-4" />
|
||||
<nuclide name="U-236" ao="9.0402e-5" />
|
||||
<nuclide name="U-238" ao="2.1504e-2" />
|
||||
<nuclide name="Np-237" ao="7.3733e-6" />
|
||||
<nuclide name="Pu-238" ao="1.5148e-6" />
|
||||
<nuclide name="Pu-239" ao="1.3955e-4" />
|
||||
<nuclide name="Pu-240" ao="3.4405e-5" />
|
||||
<nuclide name="Pu-241" ao="2.1439e-5" />
|
||||
<nuclide name="Pu-242" ao="3.7422e-6" />
|
||||
<nuclide name="Am-241" ao="4.5041e-7" />
|
||||
<nuclide name="Am-242m" ao="9.2301e-9" />
|
||||
<nuclide name="Am-243" ao="4.7878e-7" />
|
||||
<nuclide name="Cm-242" ao="1.0485e-7" />
|
||||
<nuclide name="Cm-243" ao="1.4268e-9" />
|
||||
<nuclide name="Cm-244" ao="8.8756e-8" />
|
||||
<nuclide name="Cm-245" ao="3.5285e-9" />
|
||||
<nuclide name="Mo-95" ao="2.6497e-5" />
|
||||
<nuclide name="Tc-99" ao="3.2772e-5" />
|
||||
<nuclide name="Ru-101" ao="3.0742e-5" />
|
||||
<nuclide name="Ru-103" ao="2.3505e-6" />
|
||||
<nuclide name="Ag-109" ao="2.0009e-6" />
|
||||
<nuclide name="Xe-135" ao="1.0801e-8" />
|
||||
<nuclide name="Cs-133" ao="3.4612e-5" />
|
||||
<nuclide name="Nd-143" ao="2.6078e-5" />
|
||||
<nuclide name="Nd-145" ao="1.9898e-5" />
|
||||
<nuclide name="Sm-147" ao="1.6128e-6" />
|
||||
<nuclide name="Sm-149" ao="1.1627e-7" />
|
||||
<nuclide name="Sm-150" ao="7.1727e-6" />
|
||||
<nuclide name="Sm-151" ao="5.4947e-7" />
|
||||
<nuclide name="Sm-152" ao="3.0221e-6" />
|
||||
<nuclide name="Eu-153" ao="2.6209e-6" />
|
||||
<nuclide name="Gd-155" ao="1.5369e-9" />
|
||||
<nuclide name="O-16" ao="4.5737e-2" />
|
||||
</material>
|
||||
|
||||
<!-- Cladding composition -->
|
||||
<material id="2">
|
||||
<density value="5.77" units="g/cm3" />
|
||||
<nuclide name="Zr-90" ao="0.5145" />
|
||||
<nuclide name="Zr-91" ao="0.1122" />
|
||||
<nuclide name="Zr-92" ao="0.1715" />
|
||||
<nuclide name="Zr-94" ao="0.1738" />
|
||||
<nuclide name="Zr-96" ao="0.0280" />
|
||||
</material>
|
||||
|
||||
<!-- Cold borated water -->
|
||||
<material id="3">
|
||||
<density value="0.07416" units="atom/b-cm" />
|
||||
<nuclide name="H-1" ao="2.0" />
|
||||
<nuclide name="O-16" ao="1.0" />
|
||||
<nuclide name="B-10" ao="6.490e-4" />
|
||||
<nuclide name="B-11" ao="2.689e-3" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Hot borated water -->
|
||||
<material id="4">
|
||||
<density value="0.06614" units="atom/b-cm" />
|
||||
<nuclide name="H-1" ao="2.0" />
|
||||
<nuclide name="O-16" ao="1.0" />
|
||||
<nuclide name="B-10" ao="6.490e-4" />
|
||||
<nuclide name="B-11" ao="2.689e-3" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- RPV Composition -->
|
||||
<material id="5">
|
||||
<density value="7.9" units="g/cm3" />
|
||||
<nuclide name="Fe-54" wo="0.05437098" />
|
||||
<nuclide name="Fe-56" wo="0.88500663" />
|
||||
<nuclide name="Fe-57" wo="0.0208008" />
|
||||
<nuclide name="Fe-58" wo="0.00282159" />
|
||||
<nuclide name="Ni-58" wo="0.0067198" />
|
||||
<nuclide name="Ni-60" wo="0.0026776" />
|
||||
<nuclide name="Ni-61" wo="0.0001183" />
|
||||
<nuclide name="Ni-62" wo="0.0003835" />
|
||||
<nuclide name="Ni-64" wo="0.0001008" />
|
||||
<nuclide name="Mn-55" wo="0.01" />
|
||||
<nuclide name="Mo-92" wo="0.000849" />
|
||||
<nuclide name="Mo-94" wo="0.0005418" />
|
||||
<nuclide name="Mo-95" wo="0.0009438" />
|
||||
<nuclide name="Mo-96" wo="0.0010002" />
|
||||
<nuclide name="Mo-97" wo="0.0005796" />
|
||||
<nuclide name="Mo-98" wo="0.0014814" />
|
||||
<nuclide name="Mo-100" wo="0.0006042" />
|
||||
<nuclide name="Si-28" wo="0.00367464" />
|
||||
<nuclide name="Si-29" wo="0.00019336" />
|
||||
<nuclide name="Si-30" wo="0.000132" />
|
||||
<nuclide name="Cr-50" wo="0.00010435" />
|
||||
<nuclide name="Cr-52" wo="0.002092475" />
|
||||
<nuclide name="Cr-53" wo="0.00024185" />
|
||||
<nuclide name="Cr-54" wo="6.1325e-05" />
|
||||
<nuclide name="C-Nat" wo="0.0025" />
|
||||
<nuclide name="Cu-63" wo="0.0013696" />
|
||||
<nuclide name="Cu-65" wo="0.0006304" />
|
||||
</material>
|
||||
|
||||
<!-- Lower radial reflector -->
|
||||
<material id="6">
|
||||
<density value="4.32" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0095661" />
|
||||
<nuclide name="O-16" wo="0.0759107" />
|
||||
<nuclide name="B-10" wo="3.08409e-5" />
|
||||
<nuclide name="B-11" wo="1.40499e-4" />
|
||||
<nuclide name="Fe-54" wo="0.035620772088" />
|
||||
<nuclide name="Fe-56" wo="0.579805982228" />
|
||||
<nuclide name="Fe-57" wo="0.01362750048" />
|
||||
<nuclide name="Fe-58" wo="0.001848545204" />
|
||||
<nuclide name="Ni-58" wo="0.055298376566" />
|
||||
<nuclide name="Ni-60" wo="0.022034425592" />
|
||||
<nuclide name="Ni-61" wo="0.000973510811" />
|
||||
<nuclide name="Ni-62" wo="0.003155886695" />
|
||||
<nuclide name="Ni-64" wo="0.000829500336" />
|
||||
<nuclide name="Mn-55" wo="0.0182870" />
|
||||
<nuclide name="Si-28" wo="0.00839976771" />
|
||||
<nuclide name="Si-29" wo="0.00044199679" />
|
||||
<nuclide name="Si-30" wo="0.0003017355" />
|
||||
<nuclide name="Cr-50" wo="0.007251360806" />
|
||||
<nuclide name="Cr-52" wo="0.145407678031" />
|
||||
<nuclide name="Cr-53" wo="0.016806340306" />
|
||||
<nuclide name="Cr-54" wo="0.004261520857" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Upper radial reflector / Top plate region -->
|
||||
<material id="7">
|
||||
<density value="4.28" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0086117" />
|
||||
<nuclide name="O-16" wo="0.0683369" />
|
||||
<nuclide name="B-10" wo="2.77638e-5" />
|
||||
<nuclide name="B-11" wo="1.26481e-4" />
|
||||
<nuclide name="Fe-54" wo="0.035953677186" />
|
||||
<nuclide name="Fe-56" wo="0.585224740891" />
|
||||
<nuclide name="Fe-57" wo="0.01375486056" />
|
||||
<nuclide name="Fe-58" wo="0.001865821363" />
|
||||
<nuclide name="Ni-58" wo="0.055815129186" />
|
||||
<nuclide name="Ni-60" wo="0.022240333032" />
|
||||
<nuclide name="Ni-61" wo="0.000982608081" />
|
||||
<nuclide name="Ni-62" wo="0.003185377845" />
|
||||
<nuclide name="Ni-64" wo="0.000837251856" />
|
||||
<nuclide name="Mn-55" wo="0.0184579" />
|
||||
<nuclide name="Si-28" wo="0.00847831314" />
|
||||
<nuclide name="Si-29" wo="0.00044612986" />
|
||||
<nuclide name="Si-30" wo="0.000304557" />
|
||||
<nuclide name="Cr-50" wo="0.00731912987" />
|
||||
<nuclide name="Cr-52" wo="0.146766614995" />
|
||||
<nuclide name="Cr-53" wo="0.01696340737" />
|
||||
<nuclide name="Cr-54" wo="0.004301347765" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Bottom plate region -->
|
||||
<material id="8">
|
||||
<density value="7.184" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0011505" />
|
||||
<nuclide name="O-16" wo="0.0091296" />
|
||||
<nuclide name="B-10" wo="3.70915e-6" />
|
||||
<nuclide name="B-11" wo="1.68974e-5" />
|
||||
<nuclide name="Fe-54" wo="0.03855611055" />
|
||||
<nuclide name="Fe-56" wo="0.627585036425" />
|
||||
<nuclide name="Fe-57" wo="0.014750478" />
|
||||
<nuclide name="Fe-58" wo="0.002000875025" />
|
||||
<nuclide name="Ni-58" wo="0.059855207342" />
|
||||
<nuclide name="Ni-60" wo="0.023850159704" />
|
||||
<nuclide name="Ni-61" wo="0.001053732407" />
|
||||
<nuclide name="Ni-62" wo="0.003415945715" />
|
||||
<nuclide name="Ni-64" wo="0.000897854832" />
|
||||
<nuclide name="Mn-55" wo="0.0197940" />
|
||||
<nuclide name="Si-28" wo="0.00909197802" />
|
||||
<nuclide name="Si-29" wo="0.00047842098" />
|
||||
<nuclide name="Si-30" wo="0.000326601" />
|
||||
<nuclide name="Cr-50" wo="0.007848910646" />
|
||||
<nuclide name="Cr-52" wo="0.157390026871" />
|
||||
<nuclide name="Cr-53" wo="0.018191270146" />
|
||||
<nuclide name="Cr-54" wo="0.004612692337" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Bottom nozzle region -->
|
||||
<material id="9">
|
||||
<density value="2.53" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0245014" />
|
||||
<nuclide name="O-16" wo="0.1944274" />
|
||||
<nuclide name="B-10" wo="7.89917e-5" />
|
||||
<nuclide name="B-11" wo="3.59854e-4" />
|
||||
<nuclide name="Fe-54" wo="0.030411411144" />
|
||||
<nuclide name="Fe-56" wo="0.495012237964" />
|
||||
<nuclide name="Fe-57" wo="0.01163454624" />
|
||||
<nuclide name="Fe-58" wo="0.001578204652" />
|
||||
<nuclide name="Ni-58" wo="0.047211231662" />
|
||||
<nuclide name="Ni-60" wo="0.018811987544" />
|
||||
<nuclide name="Ni-61" wo="0.000831139127" />
|
||||
<nuclide name="Ni-62" wo="0.002694352115" />
|
||||
<nuclide name="Ni-64" wo="0.000708189552" />
|
||||
<nuclide name="Mn-55" wo="0.0156126" />
|
||||
<nuclide name="Si-28" wo="0.007171335558" />
|
||||
<nuclide name="Si-29" wo="0.000377356542" />
|
||||
<nuclide name="Si-30" wo="0.0002576079" />
|
||||
<nuclide name="Cr-50" wo="0.006190885148" />
|
||||
<nuclide name="Cr-52" wo="0.124142524198" />
|
||||
<nuclide name="Cr-53" wo="0.014348496148" />
|
||||
<nuclide name="Cr-54" wo="0.003638294506" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Top nozzle region -->
|
||||
<material id="10">
|
||||
<density value="1.746" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0358870" />
|
||||
<nuclide name="O-16" wo="0.2847761" />
|
||||
<nuclide name="B-10" wo="1.15699e-4" />
|
||||
<nuclide name="B-11" wo="5.27075e-4" />
|
||||
<nuclide name="Fe-54" wo="0.02644016154" />
|
||||
<nuclide name="Fe-56" wo="0.43037146399" />
|
||||
<nuclide name="Fe-57" wo="0.0101152584" />
|
||||
<nuclide name="Fe-58" wo="0.00137211607" />
|
||||
<nuclide name="Ni-58" wo="0.04104621835" />
|
||||
<nuclide name="Ni-60" wo="0.0163554502" />
|
||||
<nuclide name="Ni-61" wo="0.000722605975" />
|
||||
<nuclide name="Ni-62" wo="0.002342513875" />
|
||||
<nuclide name="Ni-64" wo="0.0006157116" />
|
||||
<nuclide name="Mn-55" wo="0.0135739" />
|
||||
<nuclide name="Si-28" wo="0.006234853554" />
|
||||
<nuclide name="Si-29" wo="0.000328078746" />
|
||||
<nuclide name="Si-30" wo="0.0002239677" />
|
||||
<nuclide name="Cr-50" wo="0.005382452306" />
|
||||
<nuclide name="Cr-52" wo="0.107931450781" />
|
||||
<nuclide name="Cr-53" wo="0.012474806806" />
|
||||
<nuclide name="Cr-54" wo="0.003163190107" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Top of Fuel Assemblies -->
|
||||
<material id="11">
|
||||
<density value="3.044" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0162913" />
|
||||
<nuclide name="O-16" wo="0.1292776" />
|
||||
<nuclide name="B-10" wo="5.25228e-5" />
|
||||
<nuclide name="B-11" wo="2.39272e-4" />
|
||||
<nuclide name="Zr-90" wo="0.43313403903" />
|
||||
<nuclide name="Zr-91" wo="0.09549277374" />
|
||||
<nuclide name="Zr-92" wo="0.14759527104" />
|
||||
<nuclide name="Zr-94" wo="0.15280552077" />
|
||||
<nuclide name="Zr-96" wo="0.02511169542" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Bottom of Fuel Assemblies -->
|
||||
<material id="12">
|
||||
<density value="1.762" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0292856" />
|
||||
<nuclide name="O-16" wo="0.2323919" />
|
||||
<nuclide name="B-10" wo="9.44159e-5" />
|
||||
<nuclide name="B-11" wo="4.30120e-4" />
|
||||
<nuclide name="Zr-90" wo="0.3741373658" />
|
||||
<nuclide name="Zr-91" wo="0.0824858164" />
|
||||
<nuclide name="Zr-92" wo="0.1274914944" />
|
||||
<nuclide name="Zr-94" wo="0.1319920622" />
|
||||
<nuclide name="Zr-96" wo="0.0216912612" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
</materials>
|
||||
2926
tests/test_filter_azimuthal/results_true.dat
Normal file
2926
tests/test_filter_azimuthal/results_true.dat
Normal file
File diff suppressed because it is too large
Load diff
19
tests/test_filter_azimuthal/settings.xml
Normal file
19
tests/test_filter_azimuthal/settings.xml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?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>
|
||||
34
tests/test_filter_azimuthal/tallies.xml
Normal file
34
tests/test_filter_azimuthal/tallies.xml
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0"?>
|
||||
<tallies>
|
||||
|
||||
<mesh id="1">
|
||||
<type>rectangular</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="azimuthal" bins="-3.1416 -1.8850 -0.6283 0.6283 1.8850 3.1416" />
|
||||
<scores>flux</scores>
|
||||
</tally>
|
||||
|
||||
<tally id="2">
|
||||
<filter type="azimuthal" bins="-3.1416 -1.8850 -0.6283 0.6283 1.8850 3.1416" />
|
||||
<scores>flux</scores>
|
||||
<estimator>analog</estimator>
|
||||
</tally>
|
||||
|
||||
|
||||
<tally id="3">
|
||||
<filter type="azimuthal" bins="5" />
|
||||
<scores>flux</scores>
|
||||
</tally>
|
||||
|
||||
<tally id="4">
|
||||
<filter type="mesh" bins="1" />
|
||||
<filter type="azimuthal" bins="5" />
|
||||
<scores>flux</scores>
|
||||
</tally>
|
||||
|
||||
</tallies>
|
||||
10
tests/test_filter_azimuthal/test_filter_azimuthal.py
Normal file
10
tests/test_filter_azimuthal/test_filter_azimuthal.py
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
sys.path.insert(0, '..')
|
||||
from testing_harness import TestHarness
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
harness = TestHarness('statepoint.10.*', True)
|
||||
harness.main()
|
||||
File diff suppressed because it is too large
Load diff
181
tests/test_filter_polar/geometry.xml
Normal file
181
tests/test_filter_polar/geometry.xml
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
<?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" surfaces=" -6 34 -35" /> <!-- Lower core -->
|
||||
<cell id="2" fill="201" surfaces=" -6 35 -36" /> <!-- Upper core -->
|
||||
<cell id="3" material="8" surfaces=" -7 31 -32" /> <!-- Lower core plate region -->
|
||||
<cell id="4" material="9" surfaces=" -5 32 -33" /> <!-- Bottom nozzle region -->
|
||||
<cell id="5" material="12" surfaces=" -5 33 -34" /> <!-- Bottom FA region -->
|
||||
<cell id="6" material="11" surfaces=" -5 36 -37" /> <!-- Top FA region -->
|
||||
<cell id="7" material="10" surfaces=" -5 37 -38" /> <!-- Top nozzle region -->
|
||||
<cell id="8" material="7" surfaces=" -7 38 -39" /> <!-- Upper plate region -->
|
||||
<cell id="9" material="4" surfaces="6 -7 32 -38" /> <!-- Downcomer -->
|
||||
<cell id="10" material="5" surfaces="7 -8 31 -39" /> <!-- RPV -->
|
||||
<cell id="11" material="6" surfaces="5 -6 32 -34" /> <!-- Bottom of radial reflector -->
|
||||
<cell id="12" material="7" surfaces="5 -6 36 -38" /> <!-- Top of radial reflector -->
|
||||
|
||||
<!-- Fuel pin, cladding, cold water -->
|
||||
<cell id="21" universe="1" material="1" surfaces="-1" />
|
||||
<cell id="22" universe="1" material="2" surfaces="1 -2" />
|
||||
<cell id="23" universe="1" material="3" surfaces="2" />
|
||||
|
||||
<!-- Instrumentation guide tube -->
|
||||
<cell id="24" universe="2" material="3" surfaces="-3" />
|
||||
<cell id="25" universe="2" material="2" surfaces="3 -4" />
|
||||
<cell id="26" universe="2" material="3" surfaces="4" />
|
||||
|
||||
<!-- Fuel pin, cladding, hot water -->
|
||||
<cell id="27" universe="3" material="1" surfaces="-1" />
|
||||
<cell id="28" universe="3" material="2" surfaces="1 -2" />
|
||||
<cell id="29" universe="3" material="4" surfaces="2" />
|
||||
|
||||
<!-- Instrumentation guide tube -->
|
||||
<cell id="30" universe="4" material="4" surfaces="-3" />
|
||||
<cell id="31" universe="4" material="2" surfaces="3 -4" />
|
||||
<cell id="32" universe="4" material="4" surfaces="4" />
|
||||
|
||||
<!-- cell for water assembly (cold) -->
|
||||
<cell id="50" universe="5" material="4" surfaces="34 -35" />
|
||||
|
||||
<!-- containing cell for fuel assembly -->
|
||||
<cell id="60" universe="6" fill="100" surfaces="34 -35" />
|
||||
|
||||
<!-- cell for water assembly (hot) -->
|
||||
<cell id="70" universe="7" material="3" surfaces="35 -36" />
|
||||
|
||||
<!-- containing cell for fuel assembly -->
|
||||
<cell id="80" universe="8" fill="101" surfaces="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>
|
||||
272
tests/test_filter_polar/materials.xml
Normal file
272
tests/test_filter_polar/materials.xml
Normal file
|
|
@ -0,0 +1,272 @@
|
|||
<?xml version="1.0"?>
|
||||
<materials>
|
||||
|
||||
<default_xs>71c</default_xs>
|
||||
|
||||
<!-- Fuel composition -->
|
||||
<material id="1">
|
||||
<density value="10.062" units="g/cm3" />
|
||||
<nuclide name="U-234" ao="4.9476e-6" />
|
||||
<nuclide name="U-235" ao="4.8218e-4" />
|
||||
<nuclide name="U-236" ao="9.0402e-5" />
|
||||
<nuclide name="U-238" ao="2.1504e-2" />
|
||||
<nuclide name="Np-237" ao="7.3733e-6" />
|
||||
<nuclide name="Pu-238" ao="1.5148e-6" />
|
||||
<nuclide name="Pu-239" ao="1.3955e-4" />
|
||||
<nuclide name="Pu-240" ao="3.4405e-5" />
|
||||
<nuclide name="Pu-241" ao="2.1439e-5" />
|
||||
<nuclide name="Pu-242" ao="3.7422e-6" />
|
||||
<nuclide name="Am-241" ao="4.5041e-7" />
|
||||
<nuclide name="Am-242m" ao="9.2301e-9" />
|
||||
<nuclide name="Am-243" ao="4.7878e-7" />
|
||||
<nuclide name="Cm-242" ao="1.0485e-7" />
|
||||
<nuclide name="Cm-243" ao="1.4268e-9" />
|
||||
<nuclide name="Cm-244" ao="8.8756e-8" />
|
||||
<nuclide name="Cm-245" ao="3.5285e-9" />
|
||||
<nuclide name="Mo-95" ao="2.6497e-5" />
|
||||
<nuclide name="Tc-99" ao="3.2772e-5" />
|
||||
<nuclide name="Ru-101" ao="3.0742e-5" />
|
||||
<nuclide name="Ru-103" ao="2.3505e-6" />
|
||||
<nuclide name="Ag-109" ao="2.0009e-6" />
|
||||
<nuclide name="Xe-135" ao="1.0801e-8" />
|
||||
<nuclide name="Cs-133" ao="3.4612e-5" />
|
||||
<nuclide name="Nd-143" ao="2.6078e-5" />
|
||||
<nuclide name="Nd-145" ao="1.9898e-5" />
|
||||
<nuclide name="Sm-147" ao="1.6128e-6" />
|
||||
<nuclide name="Sm-149" ao="1.1627e-7" />
|
||||
<nuclide name="Sm-150" ao="7.1727e-6" />
|
||||
<nuclide name="Sm-151" ao="5.4947e-7" />
|
||||
<nuclide name="Sm-152" ao="3.0221e-6" />
|
||||
<nuclide name="Eu-153" ao="2.6209e-6" />
|
||||
<nuclide name="Gd-155" ao="1.5369e-9" />
|
||||
<nuclide name="O-16" ao="4.5737e-2" />
|
||||
</material>
|
||||
|
||||
<!-- Cladding composition -->
|
||||
<material id="2">
|
||||
<density value="5.77" units="g/cm3" />
|
||||
<nuclide name="Zr-90" ao="0.5145" />
|
||||
<nuclide name="Zr-91" ao="0.1122" />
|
||||
<nuclide name="Zr-92" ao="0.1715" />
|
||||
<nuclide name="Zr-94" ao="0.1738" />
|
||||
<nuclide name="Zr-96" ao="0.0280" />
|
||||
</material>
|
||||
|
||||
<!-- Cold borated water -->
|
||||
<material id="3">
|
||||
<density value="0.07416" units="atom/b-cm" />
|
||||
<nuclide name="H-1" ao="2.0" />
|
||||
<nuclide name="O-16" ao="1.0" />
|
||||
<nuclide name="B-10" ao="6.490e-4" />
|
||||
<nuclide name="B-11" ao="2.689e-3" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Hot borated water -->
|
||||
<material id="4">
|
||||
<density value="0.06614" units="atom/b-cm" />
|
||||
<nuclide name="H-1" ao="2.0" />
|
||||
<nuclide name="O-16" ao="1.0" />
|
||||
<nuclide name="B-10" ao="6.490e-4" />
|
||||
<nuclide name="B-11" ao="2.689e-3" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- RPV Composition -->
|
||||
<material id="5">
|
||||
<density value="7.9" units="g/cm3" />
|
||||
<nuclide name="Fe-54" wo="0.05437098" />
|
||||
<nuclide name="Fe-56" wo="0.88500663" />
|
||||
<nuclide name="Fe-57" wo="0.0208008" />
|
||||
<nuclide name="Fe-58" wo="0.00282159" />
|
||||
<nuclide name="Ni-58" wo="0.0067198" />
|
||||
<nuclide name="Ni-60" wo="0.0026776" />
|
||||
<nuclide name="Ni-61" wo="0.0001183" />
|
||||
<nuclide name="Ni-62" wo="0.0003835" />
|
||||
<nuclide name="Ni-64" wo="0.0001008" />
|
||||
<nuclide name="Mn-55" wo="0.01" />
|
||||
<nuclide name="Mo-92" wo="0.000849" />
|
||||
<nuclide name="Mo-94" wo="0.0005418" />
|
||||
<nuclide name="Mo-95" wo="0.0009438" />
|
||||
<nuclide name="Mo-96" wo="0.0010002" />
|
||||
<nuclide name="Mo-97" wo="0.0005796" />
|
||||
<nuclide name="Mo-98" wo="0.0014814" />
|
||||
<nuclide name="Mo-100" wo="0.0006042" />
|
||||
<nuclide name="Si-28" wo="0.00367464" />
|
||||
<nuclide name="Si-29" wo="0.00019336" />
|
||||
<nuclide name="Si-30" wo="0.000132" />
|
||||
<nuclide name="Cr-50" wo="0.00010435" />
|
||||
<nuclide name="Cr-52" wo="0.002092475" />
|
||||
<nuclide name="Cr-53" wo="0.00024185" />
|
||||
<nuclide name="Cr-54" wo="6.1325e-05" />
|
||||
<nuclide name="C-Nat" wo="0.0025" />
|
||||
<nuclide name="Cu-63" wo="0.0013696" />
|
||||
<nuclide name="Cu-65" wo="0.0006304" />
|
||||
</material>
|
||||
|
||||
<!-- Lower radial reflector -->
|
||||
<material id="6">
|
||||
<density value="4.32" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0095661" />
|
||||
<nuclide name="O-16" wo="0.0759107" />
|
||||
<nuclide name="B-10" wo="3.08409e-5" />
|
||||
<nuclide name="B-11" wo="1.40499e-4" />
|
||||
<nuclide name="Fe-54" wo="0.035620772088" />
|
||||
<nuclide name="Fe-56" wo="0.579805982228" />
|
||||
<nuclide name="Fe-57" wo="0.01362750048" />
|
||||
<nuclide name="Fe-58" wo="0.001848545204" />
|
||||
<nuclide name="Ni-58" wo="0.055298376566" />
|
||||
<nuclide name="Ni-60" wo="0.022034425592" />
|
||||
<nuclide name="Ni-61" wo="0.000973510811" />
|
||||
<nuclide name="Ni-62" wo="0.003155886695" />
|
||||
<nuclide name="Ni-64" wo="0.000829500336" />
|
||||
<nuclide name="Mn-55" wo="0.0182870" />
|
||||
<nuclide name="Si-28" wo="0.00839976771" />
|
||||
<nuclide name="Si-29" wo="0.00044199679" />
|
||||
<nuclide name="Si-30" wo="0.0003017355" />
|
||||
<nuclide name="Cr-50" wo="0.007251360806" />
|
||||
<nuclide name="Cr-52" wo="0.145407678031" />
|
||||
<nuclide name="Cr-53" wo="0.016806340306" />
|
||||
<nuclide name="Cr-54" wo="0.004261520857" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Upper radial reflector / Top plate region -->
|
||||
<material id="7">
|
||||
<density value="4.28" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0086117" />
|
||||
<nuclide name="O-16" wo="0.0683369" />
|
||||
<nuclide name="B-10" wo="2.77638e-5" />
|
||||
<nuclide name="B-11" wo="1.26481e-4" />
|
||||
<nuclide name="Fe-54" wo="0.035953677186" />
|
||||
<nuclide name="Fe-56" wo="0.585224740891" />
|
||||
<nuclide name="Fe-57" wo="0.01375486056" />
|
||||
<nuclide name="Fe-58" wo="0.001865821363" />
|
||||
<nuclide name="Ni-58" wo="0.055815129186" />
|
||||
<nuclide name="Ni-60" wo="0.022240333032" />
|
||||
<nuclide name="Ni-61" wo="0.000982608081" />
|
||||
<nuclide name="Ni-62" wo="0.003185377845" />
|
||||
<nuclide name="Ni-64" wo="0.000837251856" />
|
||||
<nuclide name="Mn-55" wo="0.0184579" />
|
||||
<nuclide name="Si-28" wo="0.00847831314" />
|
||||
<nuclide name="Si-29" wo="0.00044612986" />
|
||||
<nuclide name="Si-30" wo="0.000304557" />
|
||||
<nuclide name="Cr-50" wo="0.00731912987" />
|
||||
<nuclide name="Cr-52" wo="0.146766614995" />
|
||||
<nuclide name="Cr-53" wo="0.01696340737" />
|
||||
<nuclide name="Cr-54" wo="0.004301347765" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Bottom plate region -->
|
||||
<material id="8">
|
||||
<density value="7.184" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0011505" />
|
||||
<nuclide name="O-16" wo="0.0091296" />
|
||||
<nuclide name="B-10" wo="3.70915e-6" />
|
||||
<nuclide name="B-11" wo="1.68974e-5" />
|
||||
<nuclide name="Fe-54" wo="0.03855611055" />
|
||||
<nuclide name="Fe-56" wo="0.627585036425" />
|
||||
<nuclide name="Fe-57" wo="0.014750478" />
|
||||
<nuclide name="Fe-58" wo="0.002000875025" />
|
||||
<nuclide name="Ni-58" wo="0.059855207342" />
|
||||
<nuclide name="Ni-60" wo="0.023850159704" />
|
||||
<nuclide name="Ni-61" wo="0.001053732407" />
|
||||
<nuclide name="Ni-62" wo="0.003415945715" />
|
||||
<nuclide name="Ni-64" wo="0.000897854832" />
|
||||
<nuclide name="Mn-55" wo="0.0197940" />
|
||||
<nuclide name="Si-28" wo="0.00909197802" />
|
||||
<nuclide name="Si-29" wo="0.00047842098" />
|
||||
<nuclide name="Si-30" wo="0.000326601" />
|
||||
<nuclide name="Cr-50" wo="0.007848910646" />
|
||||
<nuclide name="Cr-52" wo="0.157390026871" />
|
||||
<nuclide name="Cr-53" wo="0.018191270146" />
|
||||
<nuclide name="Cr-54" wo="0.004612692337" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Bottom nozzle region -->
|
||||
<material id="9">
|
||||
<density value="2.53" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0245014" />
|
||||
<nuclide name="O-16" wo="0.1944274" />
|
||||
<nuclide name="B-10" wo="7.89917e-5" />
|
||||
<nuclide name="B-11" wo="3.59854e-4" />
|
||||
<nuclide name="Fe-54" wo="0.030411411144" />
|
||||
<nuclide name="Fe-56" wo="0.495012237964" />
|
||||
<nuclide name="Fe-57" wo="0.01163454624" />
|
||||
<nuclide name="Fe-58" wo="0.001578204652" />
|
||||
<nuclide name="Ni-58" wo="0.047211231662" />
|
||||
<nuclide name="Ni-60" wo="0.018811987544" />
|
||||
<nuclide name="Ni-61" wo="0.000831139127" />
|
||||
<nuclide name="Ni-62" wo="0.002694352115" />
|
||||
<nuclide name="Ni-64" wo="0.000708189552" />
|
||||
<nuclide name="Mn-55" wo="0.0156126" />
|
||||
<nuclide name="Si-28" wo="0.007171335558" />
|
||||
<nuclide name="Si-29" wo="0.000377356542" />
|
||||
<nuclide name="Si-30" wo="0.0002576079" />
|
||||
<nuclide name="Cr-50" wo="0.006190885148" />
|
||||
<nuclide name="Cr-52" wo="0.124142524198" />
|
||||
<nuclide name="Cr-53" wo="0.014348496148" />
|
||||
<nuclide name="Cr-54" wo="0.003638294506" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Top nozzle region -->
|
||||
<material id="10">
|
||||
<density value="1.746" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0358870" />
|
||||
<nuclide name="O-16" wo="0.2847761" />
|
||||
<nuclide name="B-10" wo="1.15699e-4" />
|
||||
<nuclide name="B-11" wo="5.27075e-4" />
|
||||
<nuclide name="Fe-54" wo="0.02644016154" />
|
||||
<nuclide name="Fe-56" wo="0.43037146399" />
|
||||
<nuclide name="Fe-57" wo="0.0101152584" />
|
||||
<nuclide name="Fe-58" wo="0.00137211607" />
|
||||
<nuclide name="Ni-58" wo="0.04104621835" />
|
||||
<nuclide name="Ni-60" wo="0.0163554502" />
|
||||
<nuclide name="Ni-61" wo="0.000722605975" />
|
||||
<nuclide name="Ni-62" wo="0.002342513875" />
|
||||
<nuclide name="Ni-64" wo="0.0006157116" />
|
||||
<nuclide name="Mn-55" wo="0.0135739" />
|
||||
<nuclide name="Si-28" wo="0.006234853554" />
|
||||
<nuclide name="Si-29" wo="0.000328078746" />
|
||||
<nuclide name="Si-30" wo="0.0002239677" />
|
||||
<nuclide name="Cr-50" wo="0.005382452306" />
|
||||
<nuclide name="Cr-52" wo="0.107931450781" />
|
||||
<nuclide name="Cr-53" wo="0.012474806806" />
|
||||
<nuclide name="Cr-54" wo="0.003163190107" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Top of Fuel Assemblies -->
|
||||
<material id="11">
|
||||
<density value="3.044" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0162913" />
|
||||
<nuclide name="O-16" wo="0.1292776" />
|
||||
<nuclide name="B-10" wo="5.25228e-5" />
|
||||
<nuclide name="B-11" wo="2.39272e-4" />
|
||||
<nuclide name="Zr-90" wo="0.43313403903" />
|
||||
<nuclide name="Zr-91" wo="0.09549277374" />
|
||||
<nuclide name="Zr-92" wo="0.14759527104" />
|
||||
<nuclide name="Zr-94" wo="0.15280552077" />
|
||||
<nuclide name="Zr-96" wo="0.02511169542" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
<!-- Bottom of Fuel Assemblies -->
|
||||
<material id="12">
|
||||
<density value="1.762" units="g/cm3" />
|
||||
<nuclide name="H-1" wo="0.0292856" />
|
||||
<nuclide name="O-16" wo="0.2323919" />
|
||||
<nuclide name="B-10" wo="9.44159e-5" />
|
||||
<nuclide name="B-11" wo="4.30120e-4" />
|
||||
<nuclide name="Zr-90" wo="0.3741373658" />
|
||||
<nuclide name="Zr-91" wo="0.0824858164" />
|
||||
<nuclide name="Zr-92" wo="0.1274914944" />
|
||||
<nuclide name="Zr-94" wo="0.1319920622" />
|
||||
<nuclide name="Zr-96" wo="0.0216912612" />
|
||||
<sab name="HH2O" xs="71t" />
|
||||
</material>
|
||||
|
||||
</materials>
|
||||
2926
tests/test_filter_polar/results_true.dat
Normal file
2926
tests/test_filter_polar/results_true.dat
Normal file
File diff suppressed because it is too large
Load diff
19
tests/test_filter_polar/settings.xml
Normal file
19
tests/test_filter_polar/settings.xml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?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>
|
||||
34
tests/test_filter_polar/tallies.xml
Normal file
34
tests/test_filter_polar/tallies.xml
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0"?>
|
||||
<tallies>
|
||||
|
||||
<mesh id="1">
|
||||
<type>rectangular</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="polar" bins="0.0 0.6283 1.2566 1.8850 2.5132 3.1416" />
|
||||
<scores>flux</scores>
|
||||
</tally>
|
||||
|
||||
<tally id="2">
|
||||
<filter type="polar" bins="0.0 0.6283 1.2566 1.8850 2.5132 3.1416" />
|
||||
<scores>flux</scores>
|
||||
<estimator>analog</estimator>
|
||||
</tally>
|
||||
|
||||
|
||||
<tally id="3">
|
||||
<filter type="polar" bins="5" />
|
||||
<scores>flux</scores>
|
||||
</tally>
|
||||
|
||||
<tally id="4">
|
||||
<filter type="mesh" bins="1" />
|
||||
<filter type="polar" bins="5" />
|
||||
<scores>flux</scores>
|
||||
</tally>
|
||||
|
||||
</tallies>
|
||||
10
tests/test_filter_polar/test_filter_polar.py
Normal file
10
tests/test_filter_polar/test_filter_polar.py
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
sys.path.insert(0, '..')
|
||||
from testing_harness import TestHarness
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
harness = TestHarness('statepoint.10.*', True)
|
||||
harness.main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue