armi
armi copied to clipboard
GlobalFluxInterface has a silent, undocumented, default tight coupling
I'm working on an internal tight coupling workflow that should have converged, but didn't. After some digging, I found the GlobalFluxInterface sets an undocumented default tight coupler, even if you don't request to converge on keff
https://github.com/terrapower/armi/blob/24e36fe447914b1824f7bca01fdf0a648602b357/armi/physics/neutronics/globalFlux/globalFluxInterface.py#L65-L77
I understand why a default tight coupler for global flux makes sense. In most cases, this is probably what you want to do. But the behavior isn't documented, at least not in the tight coupling docs, which led to my confusion. And it's not included in any logging so the log file wasn't super helpful.
The thing that tipped me off was the addition of the keff convergence table in addition to the field I cared about. So there was something about converging on keff, but I had no idea where it came from
But the behavior isn't documented, at least not in the tight coupling docs, which led to my confusion
Yeah that's fair. Feel free to make an addition to the docs, if you'd like! I'm happy to review and help with that as needed. Unfortunately, my plate is currently full and I cannot take that on myself.
And it's not included in any logging so the log file wasn't super helpful. The thing that tipped me off was the addition of the keff convergence table in addition to the field I cared about. So there was something about converging on keff, but I had no idea where it came from
At the conclusion of each tight coupling iteration, there is a tight coupling convergence summary table (as you've seen). The idea was that each interface that is being used for measuring convergence is listed along with the parameter being used to measure convergence of said interface. So my hope was that the interface listed would point a user/dev in that direction. If you have suggestions on how to improve that, I think we'd welcome it!
@drewj-usnctech I agree with Tony about the tight coupling summary table. But... sure, better documentation. That's totally fair.
Do you want to take a crack at that documentation? Or should I?