terrapower / armicontrib-openmc

ARMI plugin for building and running OpenMC models
Apache License 2.0
7 stars 3 forks source link

Support lumped fission products and natural isotopics in materials #21

Closed AidanMcDonald closed 3 months ago

AidanMcDonald commented 5 months ago

In the current version we skip over/ignore nuclides of types LumpNuclideBase, NaturalNuclideBase, and DummyNuclideBase. This change adds support for lumped fission products and natural nuclide compositions and continues to ignore dummy nuclides (which I think is correct). It also adds support for metastable states of nuclides that was missing before. I did not realize before this that natural nuclides are being ignored, so it's important we get this into the plugin soon.

Natural nuclides I simply expand out to their constituent nuclides with nuclide.getNaturalIsotopics().

Lumped fission products I look up in the REFERENCE_LUMPED_FISSION_PRODUCT_FILE (armi/resources/referenceFissionProducts.dat).

I do have one question about the LFPs: I notice that the sum of densities of the nuclides for each LFP in the reference is 2, apparently indicating that each LFP nuclide is representing 2 real fission product nuclides. Does this mean that the total number density of the constituent nuclides is twice the number density of the LFP nuclide? This is the way I have it implemented now, but it's an easy fix if that's wrong.

AidanMcDonald commented 5 months ago

I split it up into different functions and shortened some of my long variable names. It should be much more readable now.