OpenMC's Normalization Factor

Hi All,

I’ve been reading about questions and explanations about normalizing tally to get the value with exact units. I know that we should multiply the tally with normalization factor because all the output are ‘per source neutron’ but I still do not know how to do it. In "Modeling a Pin-Cell’ example notebook there are output of tallies which is :

Is there anyone who can help me to normalizing this value? (With detail explanation please if you don’t mind because sometimes I find it hard to understand)


I can try to make the normalization process clear. But first, can I ask what your exact application is? What problem do you want to model, and what data do you want from it?

The reason our answers are never simple for normalization questions is because normalization is different for every application. Often we simulate power reactors so we normalize our results based on the MW produced by a reactor operating in steady state at full power. The normalization process is different if you are instead simulating an experiment where you have a neutron detector giving you counts per second. You can even have a transient problem where the normalization factor changes as a function of time.

I also want to point out that many problems do not need a normalization factor at all. In fact, the vast majority of my work does not require normalization factors. This is the case because I am usually considering the ratio of one tally result to another which causes any normalization to cancel out. For example, I frequently compute multigroup cross sections where I divide a reaction rate tally by a flux tally. Another example is computing how many grams of Pu-239 are produced per MW-hr of energy. For that, I can divide a U-238 (n, gamma) score by a kappa-fission score (with some additional conversions like eV to MW-hr).


Actually the problem I want to model is only a simple fuel cell such as pebble and pin, so I can calculate its criticality, fission rate and neutron flux that occur. It just for knowing the performance of each fuel cell. I have school project to analyze the performance of nuclear fuel cell with different material, geometry, and etc. When I read some explanation it said that the value of fission rate and neutron flux that OpenMC gave, need calculation with normalization factor first to give value wih reaction/s and neutron/cm2.s units respectively.

My model is mostly same with "Modeling a Pin-cell" notebook. But the notebook never explain about that the fission rate value need calculation first so I kinda confuse.

I really thankful for your respond.

Keep in mind that a reactor’s fission rate is limited by heat transfer, not neutronics. An operating power reactor can freely increase its fission rate until it hits heat transfer constraints. This means that the OpenMC values for fission rate are not useful for comparing different reactor designs.

However, you also mentioned criticality which is a useful performance metric that OpenMC computes. Another interesting quantity to study with OpenMC is the ratio of absorption in the fuel to absorption elsewhere in the system. If very few neutrons are absorbed outside of the fuel, the reactor design is neutronically efficient and is better for purposes like breeding fuel. You can also use OpenMC to compute values for each factor of Fermi’s four-factor formula. These factors are useful for comparing different reactor designs.

That said, if you do still want to normalize those tally values, here is one way to do it:

That pincell model comes from the BEAVRS benchmark which is a model of a Westinghouse PWR. That PWR produces 3400 MW of thermal power. It has 193 fuel assemblies. Each assembly has 264 fuel rods. That means the average fuel pin produces 3400 [MW] / (193 * 264) = 67 [kW] of power. Fission of U-235 produces about 200 MeV of energy so there are about 67 [kW] / 1.6e-16 [kJ / MeV] / 200 [MeV] = 2.1e15 [fissions / s] in the average fuel pin. Notice that we have computed the total fission rate without the use of a neutronics solver. It also assumes we are talking about an “average fuel pin”, but the pins in a real reactor can of course have higher or lower fission rates.

If we want our tally results to match that 2.1e15 [fissions / s] then we must multiply all the tally results by a normalization factor of 2.1e15 / 0.547 = 3.8e15. We are essentially saying that there must be 3.8e15 source particles per second in this system.

Note that you also have to divide by volume for a flux value in units of [1 / cm^2 / s] . The radius of the fuel is 0.39 [cm] and the height is 366 [cm] for a total volume of 175 [cm^3] in cell 1. If you add a flux tally to that pincell model with the same cell filter, you’ll get a value of 11.02. We can normalize that with 11.02 * 3.8e15 / 175 = 2.4e14 [1 / cm^2 / s].


Thank you so much for helping to understand the calculation, I am so grateful.

Hello, Sterling,

I notice that in a flux spectrum, the ordinate is usually Normalized flux/lethargy width.

So, after we get the flux in [neutrons/cm^2-sec], how do we get Normalized flux/lethargy width?

Thank you.

Sorry to bother,

I’ve solved it finally.