Flux from each incedent photon energy (energy Filter)

Hi all,

I have 2 questions.

I want to find the flux from each incedent photon energy on a specific cell, so I’ve defined a tabular photon source with energies and intensities from IAEA Table of Nucliedes (I’ve added the intensities as they are from the table of nucliedes to OpenMC tabular source definition)

Question 1. should I dived the intensity from the table of nucliedes by 100 to get the probability that is used by the tablular definition in OpenMC ?

Then I’ve added a cell filter and an energy filter with bins boundaries equal to (incedent photon energy + and - 50 eV), the results show mostly zeroes inside the bins that have boundaries of + and - 50 eV from the incedent photons energies and the other bins (between the defined boundaries) have values.

Question 2. Is this normal becuase the tabular definition of the source is an interpolation of the defined energies or is this difference between source energy and the energy in the cell is due to photons attenuation in the system.

I want my result to be flux in the specified cell from each incedent photon energy, for example I have 10 different photon energies then I would get 10 values of the flux at this cell as if I have 10 monoenergitic sources , how can I do that in OpenMC ?

Many Thanks.

Regarding question 1: If you have a photon source with discrete energies, you’ll want to use openmc.stats.Discrete, not openmc.stats.Tabular`. In either case, if your distribution is not normalized, OpenMC will normalize it for you at initialization.

Regarding question 2: there is no way to attribute the flux in each cell to a photon of a specific birth energy while retaining the full source. One way around this is to perform 10 separate simulations, each with a monoenergetic source corresponding to each line/intensity. With the Python API, this is pretty easy to put together in a script but it does require 10 times as much computational work, so if that is a limitation it may make it infeasible.