mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-29 06:35:48 -04:00
Fixed energy and energyout filters to support many bins.
This commit is contained in:
parent
02ff6c6835
commit
a7528339f8
3 changed files with 14 additions and 18 deletions
|
|
@ -490,14 +490,14 @@ contains
|
|||
|
||||
! Write incoming energy filter
|
||||
if (t % n_filter_bins(FILTER_ENERGYIN) > 0) then
|
||||
dims(1) = t % n_filter_bins(FILTER_ENERGYIN)
|
||||
dims(1) = t % n_filter_bins(FILTER_ENERGYIN) + 1
|
||||
call h5ltmake_dataset_double_f(temp_group, "energy_in", 1, &
|
||||
dims, t % energy_in, hdf5_err)
|
||||
end if
|
||||
|
||||
! Write outgoing energy filter
|
||||
if (t % n_filter_bins(FILTER_ENERGYOUT) > 0) then
|
||||
dims(1) = t % n_filter_bins(FILTER_ENERGYOUT)
|
||||
dims(1) = t % n_filter_bins(FILTER_ENERGYOUT) + 1
|
||||
call h5ltmake_dataset_double_f(temp_group, "energy_out", 1, &
|
||||
dims, t % energy_out, hdf5_err)
|
||||
end if
|
||||
|
|
|
|||
|
|
@ -855,26 +855,22 @@ contains
|
|||
end if
|
||||
|
||||
! Read incoming energy filter bins
|
||||
if (len_trim(tally_(i) % filters % energy) > 0) then
|
||||
call split_string(tally_(i) % filters % energy, words, n_words)
|
||||
allocate(t % energy_in(n_words))
|
||||
do j = 1, n_words
|
||||
t % energy_in(j) = str_to_real(words(j))
|
||||
end do
|
||||
t % n_filter_bins(FILTER_ENERGYIN) = n_words - 1
|
||||
if (associated(tally_(i) % filters % energy)) then
|
||||
n = size(tally_(i) % filters % energy)
|
||||
allocate(t % energy_in(n))
|
||||
t % energy_in = tally_(i) % filters % energy
|
||||
t % n_filter_bins(FILTER_ENERGYIN) = n - 1
|
||||
|
||||
n_filters = n_filters + 1
|
||||
filters(n_filters) = FILTER_ENERGYIN
|
||||
end if
|
||||
|
||||
! Read outgoing energy filter bins
|
||||
if (len_trim(tally_(i) % filters % energyout) > 0) then
|
||||
call split_string(tally_(i) % filters % energyout, words, n_words)
|
||||
allocate(t % energy_out(n_words))
|
||||
do j = 1, n_words
|
||||
t % energy_out(j) = str_to_real(words(j))
|
||||
end do
|
||||
t % n_filter_bins(FILTER_ENERGYOUT) = n_words - 1
|
||||
if (associated(tally_(i) % filters % energyout)) then
|
||||
n = size(tally_(i) % filters % energyout)
|
||||
allocate(t % energy_out(n))
|
||||
t % energy_out = tally_(i) % filters % energyout
|
||||
t % n_filter_bins(FILTER_ENERGYOUT) = n - 1
|
||||
|
||||
! Set tally estimator to analog
|
||||
t % estimator = ESTIMATOR_ANALOG
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
<component name="material" type="word" length="250" default="''" />
|
||||
<component name="mesh" type="integer" default="0" />
|
||||
<component name="cellborn" type="word" length="250" default="''" />
|
||||
<component name="energy" type="word" length="250" default="''" />
|
||||
<component name="energyout" type="word" length="250" default="''" />
|
||||
<component name="energy" type="double-array" />
|
||||
<component name="energyout" type="double-array" />
|
||||
</typedef>
|
||||
|
||||
<typedef name="tally_xml">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue