Hello,
Is it possible to extract from OpenMC the gamma radiation from fission? I want to use this as the gamma source in a shielding calculation.
1 Like
@Stepniac We don’t have a way of doing that right now. The only thing I could suggest is to look into our data files to pull out the gamma spectra from fission. Here’s an example with U235 from ENDF/B-VII.1:
In [1]: import openmc
In [2]: u235 = openmc.data.IncidentNeutron.from_hdf5('/opt/data/hdf5/endfb71_hdf5/U235.h5')
In [3]: fission = u235[18]
In [4]: fission.products
Out[4]:
[<Product: neutron, emission=prompt, yield=tabulated>,
<Product: neutron, emission=delayed, yield=tabulated>,
<Product: neutron, emission=delayed, yield=tabulated>,
<Product: neutron, emission=delayed, yield=tabulated>,
<Product: neutron, emission=delayed, yield=tabulated>,
<Product: neutron, emission=delayed, yield=tabulated>,
<Product: neutron, emission=delayed, yield=tabulated>,
<Product: photon, emission=prompt, yield=tabulated>]
In [5]: photon = fission.products[-1]
In [6]: photon.distribution
Out[6]: [<openmc.data.uncorrelated.UncorrelatedAngleEnergy at 0x151ec02ff5b0>]
In [7]: photon.distribution[0]
Out[7]: <openmc.data.uncorrelated.UncorrelatedAngleEnergy at 0x151ec02ff5b0>
In [8]: energy_dist = photon.distribution[0].energy
In [9]: energy_dist
Out[9]: <openmc.data.energy_distribution.ContinuousTabular at 0x151ec02ff6a0>
In [10]: energy_dist.energy
Out[10]: array([1.e-05, 2.e+07])
In [11]: energy_dist.energy_out[0]
Out[11]: <openmc.stats.univariate.Tabular at 0x151ec02ff7f0>
In [12]: energy_dist.energy_out[0].x
Out[12]:
array([ 0., 50000., 100000., 150000., 163000., 178000.,
200000., 212000., 225000., 245000., 265000., 300000.,
325000., 350000., 365000., 400000., 430000., 450000.,
485000., 500000., 525000., 545000., 575000., 605000.,
625000., 650000., 670000., 683000., 700000., 750000.,
800000., 900000., 1000000., 1100000., 1200000., 1250000.,
1350000., 1500000., 1750000., 2000000., 2250000., 2500000.,
2750000., 3000000., 3250000., 3500000., 3750000., 4000000.,
4250000., 4500000., 4750000., 5000000., 5250000., 5500000.,
5750000., 6000000., 6250000., 6500000., 6750000., 7000000.,
7500000., 7750000., 8000000., 8100000.])
In [13]: energy_dist.energy_out[0].p
Out[13]:
array([1.41741068e-07, 2.36735113e-07, 3.95393189e-07, 6.67564319e-07,
7.10106340e-07, 6.12309293e-07, 8.63158413e-07, 1.10550053e-06,
8.43338403e-07, 6.09406291e-07, 4.11009197e-07, 6.84580327e-07,
8.17813391e-07, 1.03042049e-06, 1.06586051e-06, 9.39634449e-07,
8.41837403e-07, 8.84379423e-07, 9.96390477e-07, 9.59554459e-07,
8.24920395e-07, 7.32728350e-07, 8.75871419e-07, 9.53848456e-07,
8.63158413e-07, 7.28524348e-07, 7.75271371e-07, 7.99395382e-07,
7.18614344e-07, 6.97293334e-07, 6.63259317e-07, 5.10207244e-07,
4.20918201e-07, 3.58556171e-07, 3.41539163e-07, 3.27425157e-07,
2.82080135e-07, 2.01300096e-07, 1.28928062e-07, 9.34929447e-08,
7.36732352e-08, 5.86583281e-08, 4.50448215e-08, 3.43341164e-08,
2.48247119e-08, 1.97196094e-08, 1.56155075e-08, 1.27126061e-08,
9.34929447e-09, 6.57654315e-09, 5.07504243e-09, 4.21419202e-09,
3.55353170e-09, 3.02300145e-09, 2.58257124e-09, 2.17216104e-09,
1.76175084e-09, 1.42141068e-09, 1.10109053e-09, 8.60856412e-10,
4.20418201e-10, 1.20119057e-10, 1.00099048e-11, 0.00000000e+00])