-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add measure of convergence for tight coupling #1033
Merged
john-science
merged 43 commits into
terrapower:main
from
albeanth:tightCoupling_Convergence
Jan 23, 2023
Merged
Changes from 37 commits
Commits
Show all changes
43 commits
Select commit
Hold shift + click to select a range
df348b0
initial commit
albeanth 237e314
adding power as convergence option for global flux
albeanth 6dde1a3
merge main + resolve merge conflicts
albeanth 76c0105
Merge branch 'main' into tightCoupling_Convergence
albeanth 167d23c
Merge branch 'main' into tightCoupling_Convergence
albeanth b0debd1
decrease default # of tight coupling iters
albeanth 931763e
reviewer feedback
albeanth 43f98e1
reviewer feedback
albeanth f8f8a8e
replace key with .join() + black formatting
albeanth 57d5a60
Merge branch 'main' into tightCoupling_Convergence
albeanth 7980951
rm tightCouplingReport at end of coupling loop
albeanth facb177
add unittests + rm _checkTightCouplingConvergence
albeanth d79f967
Update the implementation to:
jakehader e40104b
a couple simple typo fixes
albeanth e279efc
adding unit test for exception
albeanth 22c4b06
simplify conditionals
albeanth 668f87a
update coupling tests with new structure
albeanth beceef7
replace class attribute for TightCoupler attribute
albeanth 914599d
chnge TightCoupler.param to TightCoupler.parameter
albeanth e01ecd0
update o.interactAllCoupled + unit testing
albeanth ceb13d8
add runLog.warning on maxNumIters + pylint cleanup
albeanth 47d1021
adding unit tests +cleanup
albeanth 5b79e5e
reviewer feedback for _setTightCouplerByInterfaceFunction
albeanth 88770af
add unittest + coupler defaults for global flux interface
albeanth c7ea9b1
clean up import
albeanth b458f38
rm lingering "numCoupledIterations" + black
albeanth ba816ff
updating settings validators + adding additional notes for new tight …
albeanth e7200eb
black formatting
albeanth b2bd487
fix unit tests
albeanth 949d7c6
reviewer comments to cleanup interfaces.py
albeanth 1bf6db9
update constructor for tight coupling defaults
albeanth abe98ac
rm cs from setTightCouplingDefaults
albeanth bf79d0b
bug fixes for TightCoupler.isConverged()
albeanth d909f2e
release notes
albeanth ae34fbf
reviewer feedback on static method + private
albeanth 0b5ab65
merge in main + resolve merge conflicts
albeanth 77f8591
initial cut at revised physics coupling docs
albeanth dbd729b
Merge branch 'main' into tightCoupling_Convergence
albeanth 7a6fa1c
it helps to add the illustrations used in the docs
albeanth 024e5f9
slight revision to docs
albeanth 48da0c8
rename assorted_guide to physics_coupling
albeanth a3a5ab2
update srsd
albeanth fd0b812
update copyright for new files
albeanth File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing that I've noticed is that every time a
TightCoupler
class is instantiated, it is necessary to pass inmaxIters
. However, this value should be the same for all instances of theTightCoupler
, because it comes from the case settings.This is just a little unideal, because it somehow could trigger the coupling iterations to stop early if one of the interfaces is supplied with a
maxIters
smaller than the others.This could be resolved if the tight coupling mechanics were pulled off of the interfaces into somewhere higher, perhaps the operator or into its own interface. I put a comment such as this on the PR page, but I'm gonna put another one again with some more thoughts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Passing in an integer seems like the lightest-possible-weight solution to me.
I like that not ALL of our code has to directly call the CaseSettings object. It makes the code more reusable, and flexible. And helps us toward our Roadmap of not having the "Operator is King" mentality.