Open keckler opened 1 year ago
Thanks to @tjayasa for discovering this inconsistency!
I like the idea of a warning as some folks could want extra stuff in there. I'm not sure the exact failure with dump and LFP nuclides being there but maybe we can chat offline so I can understand how we can beat treat this.
@keckler We should check-in with this. It's been too long.
There is an option to generate a default set of nuclide flags so that the user does not have to manually type out all the necessary flags: https://github.com/terrapower/armi/blob/6cf9558a557ca92b36bed290ff6e3abebfa4eed2/armi/reactor/blueprints/isotopicOptions.py#L556-L565
We recommend the use of this method in our docs for programmatically generating input files (which, incidentally, apparently cannot be accessed without a direct link to it): https://terrapower.github.io/armi/gallery/framework/run_programmaticReactorDefinition.html
The
genDefaultNucFlags()
method calls to thegetDefaultNuclideFlags()
method, which actually builds the flags themselves. From within there, flags are added for bothDUMP
andLFP
nuclides: https://github.com/terrapower/armi/blob/6cf9558a557ca92b36bed290ff6e3abebfa4eed2/armi/reactor/blueprints/isotopicOptions.py#L412-L453Unfortunately the presence of
DUMP
nuclides in the problem is causing some problems when the newexplicitFissionProducts
setting isTrue
. But this begs the question of whether or not theDUMP
nuclides are needed when using explicit fission products. I think the answer to that question is "no", but we are running some tests to make sure.Under the assumption that both the
DUMP
andLFP
nuclides are anathema to a problem with explicit fission products, we should do something to avoid having those nuclides in the problem in the first place.Since
genDefaultNucFlags()
isn't aware of what is in the case settings, it doesn't seem possible to make that method any "smarter". But there is theautoUpdateNuclideFlags()
method, which receives a case settings object: https://github.com/terrapower/armi/blob/6cf9558a557ca92b36bed290ff6e3abebfa4eed2/armi/reactor/blueprints/isotopicOptions.py#L568-L596Right now that method only adds nuclides that are needed to represent the explicit fission products, but I could see a path forward where that method also either warns the user that they have
DUMP
/LFP
nuclides in their explicit fission products problem, or just strips out thoseDUMP
/LFP
nuclides entirely, thereby making the nuclide flags self-consistent.@jakehader Since you were the explicit fission products architect, what do you think?