Request: More gracefully tell the user which isotopes are missing
See original GitHub issueWhen ARMI detects that an isotope in the burn chain is missing from the nuclide flags, it prints a warning like:
ValueError: Missing active nuclides in loading file. Add the following nuclides:
1 - PA233
2 - PA231
However, often after the necessary isotopes have been added to the nuclide flags and the code is rerun, ARMI again complains that other isotopes are missing. In this particular example, I added the Pa isotopes that were indicated as missing only to now get the following error:
ValueError: Missing active nuclides in loading file. Add the following nuclides:
1 - U233
2 - U232
If the code demands that an isotope be added as “active” (i.e. burnable), then it clearly can figure out that its daughters will need to be added as well.
Would it be possible for ARMI to hold off on issuing the first error until it also knows that the second error will crop up (and so on, recursively)? Then it can issue all errors at once and the user can fix them all at once.
Better yet, can we just make ARMI add the isotopes on its own? Possibly also issuing a warning to the user. But if the code forces the user to add the isotopes in order to continue, why not just make the code do the work internally, allowing the user to avoid the annoyance?
Issue Analytics
- State:
- Created 2 years ago
- Comments:10 (9 by maintainers)
@keckler, I think that if we were to have a way to represent the Chart of Nuclides in memory better (see https://github.com/terrapower/armi/discussions/460) then there could be helpers that are built onto that to help generate both the
decay-chain
input file as well as a set of active/burnable nuclides you want to consider for any given analysis.It would be nice to be able to visualize and draw out decay chains to confirm them.
Notice: #998 was a step in this direction that can be extended to decay/transmutation chains now. I think the next step is to implement the decay chains as they are in the chart of the nuclides (actually this isn’t too bad with the IAEA Chart of the Nuclides API) and then we can discuss and/or implement several ways to reduce this down either manually or automatically.