armi
armi copied to clipboard
Skip XS generation when calculation uses tight coupling
What is the change?
When tight coupling is on, the regeneration of cross sections at the interactEveryNode() step might not be that useful because the cross sections are guaranteed to change during coupled iterations (assuming that LatticePhysicsFrequency is high enough to trigger during coupled iterations). Since the results from the interactEveryNode() step in this case are just an initial guess, it might not be very important to have super precise cross sections. Therefore if some cross sections already exist at interactEveryNode(), this PR skips their regeneration.
Why is the change being made?
Cross section generation is expensive. This change is being made primarily for performance reasons.
Checklist
- [x] This PR has only one purpose or idea.
- [x] Tests have been added/updated to verify any new/changed code.
- [x] The code style follows good practices.
- [x] The commit message(s) follow good practices.
- [ ] The release notes have been updated if necessary.
- [ ] The documentation is still up-to-date in the
docfolder. - [x] The dependencies are still up-to-date in
pyproject.toml.