mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 14:15:42 -04:00
Fixed bugs in state_point.F90 file with misuese of Tally IDs in HDF5 keys
This commit is contained in:
parent
842f1c8ebd
commit
32558bf22e
2 changed files with 22 additions and 15 deletions
|
|
@ -297,7 +297,7 @@ contains
|
|||
group="tallies/tally " // trim(to_str(tally % id)), &
|
||||
length=tally % n_score_bins)
|
||||
call sp % write_data(tally % n_user_score_bins, "n_user_score_bins", &
|
||||
group="tallies/tally " // to_str(i))
|
||||
group="tallies/tally " // to_str(tally % id))
|
||||
|
||||
! Write explicit moment order strings for each score bin
|
||||
k = 1
|
||||
|
|
@ -306,13 +306,15 @@ contains
|
|||
case (SCORE_SCATTER_N, SCORE_NU_SCATTER_N)
|
||||
moment_name = 'P' // to_str(tally % moment_order(k))
|
||||
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
|
||||
group="tallies/tally " // trim(to_str(i)) // "/moments")
|
||||
group="tallies/tally " // trim(to_str(tally % id)) // &
|
||||
"/moments")
|
||||
k = k + 1
|
||||
case (SCORE_SCATTER_PN, SCORE_NU_SCATTER_PN)
|
||||
do n_order = 0, tally % moment_order(k)
|
||||
moment_name = 'P' // trim(to_str(n_order))
|
||||
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
|
||||
group="tallies/tally " // trim(to_str(i)) // "/moments")
|
||||
group="tallies/tally " // trim(to_str(tally % id)) // &
|
||||
"/moments")
|
||||
k = k + 1
|
||||
end do
|
||||
case (SCORE_SCATTER_YN, SCORE_NU_SCATTER_YN, SCORE_FLUX_YN, &
|
||||
|
|
@ -321,15 +323,18 @@ contains
|
|||
do nm_order = -n_order, n_order
|
||||
moment_name = 'Y' // trim(to_str(n_order)) // ',' // &
|
||||
trim(to_str(nm_order))
|
||||
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
|
||||
group="tallies/tally " // trim(to_str(i)) // "/moments")
|
||||
call sp % write_data(moment_name, "order" // &
|
||||
trim(to_str(k)), &
|
||||
group="tallies/tally " // trim(to_str(tally % id)) // &
|
||||
"/moments")
|
||||
k = k + 1
|
||||
end do
|
||||
end do
|
||||
case default
|
||||
moment_name = ''
|
||||
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
|
||||
group="tallies/tally " // trim(to_str(i)) // "/moments")
|
||||
group="tallies/tally " // trim(to_str(tally % id)) // &
|
||||
"/moments")
|
||||
k = k + 1
|
||||
end select
|
||||
|
||||
|
|
@ -885,11 +890,12 @@ contains
|
|||
|
||||
! Write number of score bins, score bins, user score bins
|
||||
call sp % read_data(tally % n_score_bins, "n_score_bins", &
|
||||
group="tallies/tally " // to_str(i))
|
||||
group="tallies/tally " // trim(to_str(curr_key)))
|
||||
call sp % read_data(tally % score_bins, "score_bins", &
|
||||
group="tallies/tally " // to_str(i), length=tally % n_score_bins)
|
||||
group="tallies/tally " // trim(to_str(curr_key)), &
|
||||
length=tally % n_score_bins)
|
||||
call sp % read_data(tally % n_user_score_bins, "n_user_score_bins", &
|
||||
group="tallies/tally " // to_str(i))
|
||||
group="tallies/tally " // trim(to_str(curr_key)))
|
||||
|
||||
! Read explicit moment order strings for each score bin
|
||||
k = 1
|
||||
|
|
@ -897,12 +903,12 @@ contains
|
|||
select case(tally % score_bins(k))
|
||||
case (SCORE_SCATTER_N, SCORE_NU_SCATTER_N)
|
||||
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
|
||||
group="tallies/tally " // trim(to_str(i)) // "/moments")
|
||||
group="tallies/tally " // trim(to_str(curr_key)) // "/moments")
|
||||
k = k + 1
|
||||
case (SCORE_SCATTER_PN, SCORE_NU_SCATTER_PN)
|
||||
do n_order = 0, tally % moment_order(k)
|
||||
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
|
||||
group="tallies/tally " // trim(to_str(i)) // "/moments")
|
||||
group="tallies/tally " // trim(to_str(curr_key)) // "/moments")
|
||||
k = k + 1
|
||||
end do
|
||||
case (SCORE_SCATTER_YN, SCORE_NU_SCATTER_YN, SCORE_FLUX_YN, &
|
||||
|
|
@ -910,13 +916,14 @@ contains
|
|||
do n_order = 0, tally % moment_order(k)
|
||||
do nm_order = -n_order, n_order
|
||||
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
|
||||
group="tallies/tally " // trim(to_str(i)) // "/moments")
|
||||
group="tallies/tally " // trim(to_str(curr_key)) // &
|
||||
"/moments")
|
||||
k = k + 1
|
||||
end do
|
||||
end do
|
||||
case default
|
||||
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
|
||||
group="tallies/tally " // trim(to_str(i)) // "/moments")
|
||||
group="tallies/tally " // trim(to_str(curr_key)) // "/moments")
|
||||
k = k + 1
|
||||
end select
|
||||
|
||||
|
|
|
|||
|
|
@ -379,12 +379,12 @@ class StatePoint(object):
|
|||
|
||||
# Read scattering moment order strings (e.g., P3, Y-1,2, etc.)
|
||||
moments = list()
|
||||
base += '{0}/moments/'.format(tally_key)
|
||||
subbase = '{0}{1}/moments/'.format(base, tally_key)
|
||||
|
||||
# Extract the moment order string for each score
|
||||
for k in range(len(scores)):
|
||||
moment = self._get_string(8,
|
||||
path='{0}order{1}'.format(base, k+1))
|
||||
path='{0}order{1}'.format(subbase, k+1))
|
||||
moment = moment.lstrip('[\'')
|
||||
moment = moment.rstrip('\']')
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue