-
Notifications
You must be signed in to change notification settings - Fork 91
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
Relax Error Check for 1D cylindrical collection #1347
Relax Error Check for 1D cylindrical collection #1347
Conversation
@tjayasa FYI, I think your work was one of the motivations for this PR? |
I'd sugget putting a comment in the code saying as much, for future readers. |
diffNucs = theseNucs.symmetric_difference(thoseNucs).intersection( | ||
consistentNucs | ||
) |
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.
This check is, IMO, pretty opaque and could use a comment. It works, but is one of those "elegant but unreadable" pieces of code.
Co-authored-by: Chris Keckler <kecklerct@gmail.com>
Co-authored-by: Chris Keckler <kecklerct@gmail.com>
What is the change?
The
CylindricalComponentsAverageBlockCollection
was recently added: #1238This collection is in some ways modeled after the
SlabComponentsAverageBlockCollection
, which is much older. The_checkComponentConsistency
concept is similar, where each analogous component of each block in the collection is checked for consistency before homogenizing multiple blocks into one representative block. However, the new implementation checked that two components being homogenized into one have exactly the same nuclides. The old implementation just checked key nuclides like U-235, Pu-239, Fe-56, and Na-23 to verify that components were similiar; i.e., structure being merged with structure (Fe-56), fuel with fuel (U-235/Pu-239), coolant with coolant (Na-23).Why is the change being made?
The new implementation was excessively picky about what can be homogenized together. Two similar assembly types where one has some extra trace isotopes in the cladding would throw a
ValueError
instead of just graciously being homogenized together.This PR revises the implementation to make it functionally equivalent to the similar, older method.
Note: using Fe-56 as a proxy for structure and Na-23 for coolant is undesirably SFR-centric, but I'm not going to address that in this PR.
Checklist
doc/release/0.X.rst
) are up-to-date with any important changes.doc
folder.setup.py
.