mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-27 13:45:36 -04:00
Updated test_mg_tallies to include the case of matching bins
This commit is contained in:
parent
42ee464362
commit
7635eee021
3 changed files with 99 additions and 31 deletions
|
|
@ -137,43 +137,95 @@
|
|||
<scores>scatter nu-scatter nu-fission</scores>
|
||||
</tally>
|
||||
<tally id="10006">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0" type="energy" />
|
||||
<scores>total absorption flux fission nu-fission scatter nu-scatter</scores>
|
||||
<estimator>analog</estimator>
|
||||
</tally>
|
||||
<tally id="10007">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0" type="energy" />
|
||||
<scores>total absorption flux fission nu-fission</scores>
|
||||
<estimator>collision</estimator>
|
||||
</tally>
|
||||
<tally id="10008">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0" type="energy" />
|
||||
<scores>total absorption flux fission nu-fission</scores>
|
||||
<estimator>tracklength</estimator>
|
||||
</tally>
|
||||
<tally id="10009">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0" type="energy" />
|
||||
<filter bins="1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0" type="energyout" />
|
||||
<scores>scatter nu-scatter nu-fission</scores>
|
||||
</tally>
|
||||
<tally id="10010">
|
||||
<filter bins="1" type="mesh" />
|
||||
<nuclides>uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu</nuclides>
|
||||
<scores>total absorption fission nu-fission</scores>
|
||||
<estimator>analog</estimator>
|
||||
</tally>
|
||||
<tally id="10007">
|
||||
<tally id="10011">
|
||||
<filter bins="1" type="mesh" />
|
||||
<nuclides>uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu</nuclides>
|
||||
<scores>total absorption fission nu-fission</scores>
|
||||
<estimator>tracklength</estimator>
|
||||
</tally>
|
||||
<tally id="10008">
|
||||
<tally id="10012">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="0.0 20000000.0" type="energy" />
|
||||
<nuclides>uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu</nuclides>
|
||||
<scores>total absorption fission nu-fission scatter nu-scatter</scores>
|
||||
<estimator>analog</estimator>
|
||||
</tally>
|
||||
<tally id="10009">
|
||||
<tally id="10013">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="0.0 20000000.0" type="energy" />
|
||||
<nuclides>uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu</nuclides>
|
||||
<scores>total absorption fission nu-fission</scores>
|
||||
<estimator>collision</estimator>
|
||||
</tally>
|
||||
<tally id="10010">
|
||||
<tally id="10014">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="0.0 20000000.0" type="energy" />
|
||||
<nuclides>uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu</nuclides>
|
||||
<scores>total absorption fission nu-fission</scores>
|
||||
<estimator>tracklength</estimator>
|
||||
</tally>
|
||||
<tally id="10011">
|
||||
<tally id="10015">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="0.0 20000000.0" type="energy" />
|
||||
<filter bins="0.0 20000000.0" type="energyout" />
|
||||
<nuclides>uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu</nuclides>
|
||||
<scores>scatter nu-scatter nu-fission</scores>
|
||||
</tally>
|
||||
<tally id="10016">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0" type="energy" />
|
||||
<nuclides>uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu</nuclides>
|
||||
<scores>total absorption fission nu-fission scatter nu-scatter</scores>
|
||||
<estimator>analog</estimator>
|
||||
</tally>
|
||||
<tally id="10017">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0" type="energy" />
|
||||
<nuclides>uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu</nuclides>
|
||||
<scores>total absorption fission nu-fission</scores>
|
||||
<estimator>collision</estimator>
|
||||
</tally>
|
||||
<tally id="10018">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0" type="energy" />
|
||||
<nuclides>uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu</nuclides>
|
||||
<scores>total absorption fission nu-fission</scores>
|
||||
<estimator>tracklength</estimator>
|
||||
</tally>
|
||||
<tally id="10019">
|
||||
<filter bins="10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011" type="material" />
|
||||
<filter bins="1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0" type="energy" />
|
||||
<filter bins="1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0" type="energyout" />
|
||||
<nuclides>uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu</nuclides>
|
||||
<scores>scatter nu-scatter nu-fission</scores>
|
||||
</tally>
|
||||
</tallies>
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
1817642a0d20d8ef437c7970cae2e77c265a566ef9843ac1b7cd33f76af09365dc8bd5c045f4297360b38d509864bd629b06dfc4d043b4b1ae7d8a5e2e93fae3
|
||||
9183f8b191f2e62334f992acd865d29e3f4e3f871a6df498e280fc4e2d91f2d2d20c732fbd75fa88e2e8c576f86e744f7655af6bb9da66e9b28b1009c8742899
|
||||
|
|
@ -23,6 +23,12 @@ class MGTalliesTestHarness(HashedPyAPITestHarness):
|
|||
# Instantiate some tally filters
|
||||
energy_filter = openmc.EnergyFilter([0.0, 20.0e6])
|
||||
energyout_filter = openmc.EnergyoutFilter([0.0, 20.0e6])
|
||||
matching_energy_filter = openmc.EnergyFilter([1e-5, 0.0635, 10.0,
|
||||
1.0e2, 1.0e3, 0.5e6,
|
||||
1.0e6, 20.0e6])
|
||||
matching_eout_filter = openmc.EnergyoutFilter([1e-5, 0.0635, 10.0,
|
||||
1.0e2, 1.0e3, 0.5e6,
|
||||
1.0e6, 20.0e6])
|
||||
mesh_filter = openmc.MeshFilter(mesh)
|
||||
|
||||
mat_ids = [mat.id for mat in self._input_set.materials]
|
||||
|
|
@ -34,6 +40,7 @@ class MGTalliesTestHarness(HashedPyAPITestHarness):
|
|||
True: ['total', 'absorption', 'fission', 'nu-fission']}
|
||||
|
||||
tallies = []
|
||||
|
||||
for do_nuclides in [False, True]:
|
||||
tallies.append(openmc.Tally())
|
||||
tallies[-1].filters = [mesh_filter]
|
||||
|
|
@ -49,34 +56,43 @@ class MGTalliesTestHarness(HashedPyAPITestHarness):
|
|||
if do_nuclides:
|
||||
tallies[-1].nuclides = nuclides
|
||||
|
||||
tallies.append(openmc.Tally())
|
||||
tallies[-1].filters = [mat_filter, energy_filter]
|
||||
tallies[-1].estimator = 'analog'
|
||||
tallies[-1].scores = scores[do_nuclides] + ['scatter',
|
||||
'nu-scatter']
|
||||
if do_nuclides:
|
||||
tallies[-1].nuclides = nuclides
|
||||
# Impose energy bins that dont match the MG structure and those
|
||||
# that do
|
||||
for match_energy_bins in [False, True]:
|
||||
if match_energy_bins:
|
||||
e_filter = matching_energy_filter
|
||||
eout_filter = matching_eout_filter
|
||||
else:
|
||||
e_filter = energy_filter
|
||||
eout_filter = energyout_filter
|
||||
|
||||
tallies.append(openmc.Tally())
|
||||
tallies[-1].filters = [mat_filter, energy_filter]
|
||||
tallies[-1].estimator = 'collision'
|
||||
tallies[-1].scores = scores[do_nuclides]
|
||||
if do_nuclides:
|
||||
tallies[-1].nuclides = nuclides
|
||||
tallies.append(openmc.Tally())
|
||||
tallies[-1].filters = [mat_filter, e_filter]
|
||||
tallies[-1].estimator = 'analog'
|
||||
tallies[-1].scores = scores[do_nuclides] + ['scatter',
|
||||
'nu-scatter']
|
||||
if do_nuclides:
|
||||
tallies[-1].nuclides = nuclides
|
||||
|
||||
tallies.append(openmc.Tally())
|
||||
tallies[-1].filters = [mat_filter, energy_filter]
|
||||
tallies[-1].estimator = 'tracklength'
|
||||
tallies[-1].scores = scores[do_nuclides]
|
||||
if do_nuclides:
|
||||
tallies[-1].nuclides = nuclides
|
||||
tallies.append(openmc.Tally())
|
||||
tallies[-1].filters = [mat_filter, e_filter]
|
||||
tallies[-1].estimator = 'collision'
|
||||
tallies[-1].scores = scores[do_nuclides]
|
||||
if do_nuclides:
|
||||
tallies[-1].nuclides = nuclides
|
||||
|
||||
tallies.append(openmc.Tally())
|
||||
tallies[-1].filters = [mat_filter, energy_filter,
|
||||
energyout_filter]
|
||||
tallies[-1].scores = ['scatter', 'nu-scatter', 'nu-fission']
|
||||
if do_nuclides:
|
||||
tallies[-1].nuclides = nuclides
|
||||
tallies.append(openmc.Tally())
|
||||
tallies[-1].filters = [mat_filter, e_filter]
|
||||
tallies[-1].estimator = 'tracklength'
|
||||
tallies[-1].scores = scores[do_nuclides]
|
||||
if do_nuclides:
|
||||
tallies[-1].nuclides = nuclides
|
||||
|
||||
tallies.append(openmc.Tally())
|
||||
tallies[-1].filters = [mat_filter, e_filter, eout_filter]
|
||||
tallies[-1].scores = ['scatter', 'nu-scatter', 'nu-fission']
|
||||
if do_nuclides:
|
||||
tallies[-1].nuclides = nuclides
|
||||
|
||||
self._input_set.tallies = openmc.Tallies(tallies)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue