To what extend is Doppler Broadening supported by OpenMC?

So I know that OpenMC supports on-the-fly doppler scattering when it comes to cross-sections, where the cross sections will be adjusted based on temperature. However, I am trying to get the neutron energy spectrum of a volume neutron source inside of a dense, high-temperature mass of deuterium, and I am not seeing any broadening of the peak. My understanding of doppler broadening was that, when neutrons are passing through a solid region of high temperature, the relative speeds of the collisions have a distribution about the neutron energy that is wider the higher the temperature of the solid region. While cross-sections can be important in this process, broadening should occur even if room temperature cross-sections are used. However, when modeling a 10 keV (116045200 K) space with volume neutron generation at energies of 14.1 MeV, I see no broadening around the 14.1 MeV peak, only the normal neutron scattering you’d get from a cold solid region:

Note that I have not gotten cross sections for that temperature. Am I misunderstanding openmc’s capabilities? Does it need the cross sections in order to show any broadening?

I think your understanding of Doppler broadening is a little bit over-simplified. Yes, the cross section should spread out as stuff increases in temperature. However, this effect becomes smaller and smaller as the features of the cross section reach higher and higher energy. For a relatively flat cross section like that of deuterium, almost no changes will happen.

“broadening should occur even if room temperature cross-sections are used”

Yeah, that’s true. You have two choices for this in OpenMC. If you look at whatever cross section data you’re using, it will be provided at a few temperatures like 300 kelvin, 600, 900, maybe up to 2000K. We do not provide any data which is relevant to “astrophysical” temperatures like this, so you’ll have to generate your own. Normally, we use stochastic interpolation on these cross sections. You just turn that on in the settings file. Alternatively you can use multipole XS which broaden perfectly to any temperature. But this probably won’t change much in your simulation… See this link.

Now, you are definitely missing a few key effects if you’re hoping to push OpenMC to temperatures this high. Firstly, although there are no resonant nuclides in your problem, treating temperatures this high correctly requires Doppler broadening the unresolved resonance tables, which we currently cannot do. OpenMC is not really meant for this kind of thing. There is most certainly no plan to implement this in the immediate future. Luckily light nuclides have no URR tables.

Secondly, we do not broaden sources in OpenMC. I assume you want to capture the effect of assuming a 14.1 MeV neutron emitted from the frame of a stationary DT fusion reaction, then broadening that source assuming the DT pair has some thermal energy distributed by a Maxwellian or whatever. Well, you need thermal energies on the order of 14.1 MeV for that to even make a difference. As is, that peak should only broaden by 10 keV or so. It’s not going to make much of a difference in your results.

If you did want to implement this yourself as a custom source, it would actually be pretty straightforward with the custom source capability. That would be pretty neat.

Lastly, if your source is at 14.1 MeV, you now have relativistic scattering physics. We don’t handle any of that in OpenMC as far as I know. So you’d have to add stuff like relativistic elastic scattering yourself.

1 Like

Thank you for this incredibly detailed and informative response! I am new to working with this type of thing, and this helps a great deal. I appreciate it.