Hydrogen and Helium production

Dear Fluka experts

I would like to create plots of Hydrogen and Helium production (appm) to go with DPA plots but I’m not sure how to approach this.

Something like slide 18 of this presentation by Vasilis

Any pointers or examples.

I am interested in 15MeV protons on Tungsten for material irradiation experiment.


Dear Mike,

H and He gas production can be scored using residual nuclei scoring in combination with an AUXSCORE card. Say you would want to score H gas production in a target measuring 20x20x20cm with 20 bins in each direction the way to go would be to associate the following USRBIN scoring residual nuclei with an AUXSCORE card to select out the H species by setting WHAT(2) to -100 = -Z*100. This scores residual nuclei with Z=1 and all mass numbers.

USRBIN 0.0 RES-NUCL -31.0 10.0 10.0 10.0TARGETH
USRBIN -10.0 -10.0 -10.0 20.0 20.0 20.0&


So to also score He you include another USRBIN and AUXSCORE but this time with WHAT(2) set to -200. In case you would want to single out contributions of nuclei with particular mass numbers you can have a look at the AUXSCORE documentation which allows you to select by implying a particular value for the mass number A: AUXSCORE | FLUKA.

Hi Andreas

Thanks, that is very useful. I have that working and plots look reasonable although not much He produced and very large error bars.

Just to confirm, the RES_NUCL is using my irradiation profile so the scoring is number of nuclei produced per bin?

I think ultimately I would like to plot He (appm/DPA)


Hi Mike,

That’s certainly possible, I would suggest to increase the statistics by doing more runs and checking if the resolution of the bins you use is adequate (will depend on the profile of the particle source you use for the simulations and the range of 15 MeV protons in Tungsten, on the order of 100s of um). Also check if you included the necessary physics and ion transport cards (PART-THR, PHYSICS, IONTRANS).

The amount of residual nuclei scored in each bin is expressed per unit primary per cm^3, hence the resulting appm value is obtained by taking into account the amount of protons on target, the material density and the Tungsten molar mass give the amount of target atoms per cm^3.

Plotting appm/DPA is then very simple if you separately score the dpa using the same binning mesh.

Let me know if something is not clear and cheers,


Hi Andreas

Thanks again for your help with this. I had enabled the PART-THR and PHYSICS cards but not IONTRANS. I have now added that but didn’t appear to make much difference.
I have lowered the PART-THR to the DPA damage threshold. Not sure if that is required.

I have now found that if I increase the beam energy to 30MeV or higher I do produce helium, but at 15MeV I get almost none.

You say for the amount of residual nuclei scored in each bin is expressed per unit primary per cm^3. I presume this is because your example was 1cm^3 bins. I have used cylindrical coordinates for a cylindrical beam and divided the results by bin volume.

I have attached my flair and input file as it might be easier to spot if I have done something wrong.

Tungsten.flair (5.9 KB)
Tungsten.inp (3.6 KB)


Hi Mike,

In FLUKA the dpa is not explicitly calculated on the level of the atomic lattice due to the Monte Carlo approach of simulation: the material is fully homogeneous, isotropic and static under irradiation. Above and below particle transport threshold empirical laws and effective parametrizations are used (I refer to https://www.aesj.net/document/pnst002/769-775.pdf if you want more information) to eventually arrive at the dpa value. Setting the PART-THR to such a low value probably adds little extra accuracy at the expense of more required computation time. Setting the threshold to 1 keV should in principle suffice but you can easily check if this makes a difference or not. Be aware that in your input file now you set the momentum cutoff (in GeV/c), not the kinetic energy cutoff (in GeV, see PART-THRes | FLUKA).

The bin sizes indeed correspond to 1 cm^3 each (I corrected a typo in my previous answer) but this does not matter for the USRBIN output: all bins are by default normalized per unit volume so there is no need to again divide by bin volume for analysis.



Hi, note that 1 keV represents a hard lower limit for hadron transport. Therefore, a PART-THR request for lower values is disregarded, as the actual threshold values printed in the output file indicate.
Moreover, the fact that you almost do not observe helium production at the lower projectile energy is due to the low reaction probability of protons over their sub-mm range in tungsten. To get sensible results, you shall make use of the LAM-BIAS card, in order to artificially increase that probability by reducing the proton inelastic interaction length in tungsten (results will be automatically compensated for such an artificial alteration).
The PHYSICS card with PEATHRES is obsolete.

Hi Andreas & Francesco

Many thanks for your help.