Diffusion coefficient calculation

Hello everybody
I’m interested in calculating diffusion coefficient D, Can I calculate it using tally arithmetic ?

Hi Assia,

It is possible to calculate a transport cross using the built in MGXS module from our Python API which you could then use to get a diffusion coefficient as D = 1/(3Sigma_tr). However, I would caution you that this is known to be a rather inaccurate way of getting a diffusion coefficient and there have been a number of researchers looking at better ways of calculating diffusion coefficients from a Monte Carlo code. You can check out the papers by Dorval listed here as well as the recent work by Liu at MIT.

Best regards,
Paul

Hello.
Could you help and tell me is the cumulative migration method implemented into OPENMC code now? And if the method is implemented how we can calculate the diffusion coefficient using this method?

We performed the calculations of the WWER cell and computed 2-group
macro cross sections. The diffusion coefficient in the fast group computed using the transport cross
section is 25% below than the value which we get using the UNK code, which
we used for WWER cross section calculations. The similar problem is stated in your paper:

Zhaoyuan Liu, Kord Smith, Benoit Forget, and Javier Ortensi,

Cumulative migration method for computing rigorous diffusion coefficients and transport cross sections from Monte Carlo,” Ann. Nucl. Energy , 112 , 507-516 (2018).

Welcome to the forum @Denis_Solovyev

It’s not quite ready for the latest release of OpenMC. Zhaoyuan Liu comments might be helpful

Zhaoyuan Liu’s local repo ima

The good news is that @Jiankai starts working to implement it in the latest OpenMC source code.

Jiankai’s personal repo ima

Last option is to use openmc.mgxs.DiffusionCoefficient() class and Thanks to @mkreher13 for adding openmc.mgxs.DiffusionCoefficient()class to mgxs.py.
https://docs.openmc.org/en/latest/pythonapi/generated/openmc.mgxs.DiffusionCoefficient.html#openmc.mgxs.DiffusionCoefficient

For that you have to use the current develop branch of OpenMC.

Let’s wait for @mkreher13 comment, She is the one expert here.

Hi everyone! Yes openmc.mgxs.DiffusionCoefficient() is fully functional in the latest develop branch of OpenMC. You can use it exactly as you use any other mgxs function. It simply inherits from the TransportXS() to compute 1/(3*Transport). There is a “condense_xs” capability but I advise caution when using it. Condensing diffusion coefficients, as opposed to the transport cross section only, does not preserve leakage. If you are going to condense cross sections, I suggest you manually calculate the 1/(3*transport) based on condensed transport cross sections. But if you avoid condensing, or if you have no leakage, you should be safe.

Dear developers team.
Is the cumulative migration method implemented in the last version OPENMC? If not, may you please tell me When this method will be done? because actually, I get a difference in the values of the diffusion coefficient.

CMM functionality is not yet implemented.

No idea, I know @Jiankai was working on this, can’t say when he’ll make this addition.