-
Notifications
You must be signed in to change notification settings - Fork 92
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
B4C defaults to a 0.9 TD fraction #1116
Comments
B4C is a ceramic and ceramics are always manufactured at less than their max theoretical density. B4C in particular is typically around 90%. This is a lot different from typical metals and coolants and stuff. I still feel that it's reasonable to use a typical B4C TD as the default. I think the big concern otherwise is that if you default to a physically impossible full TD B4C beginners may think their rod worth is a lot higher than it actually is. I do agree that it should be more clearly documented. |
Based on Nick's comment above, I would prefer to leave B4C as-is, and add a comment/docstring explaining the matter. @keckler Thoughts? |
Totally fine with the solution being better documentation. Let's go with that. I will point out, however, that we don't do the same for other ceramics which suffer from the same physical reality that they are difficult to produce at 100% TD (UO2, ThO2, MOX). So I still view this as inconsistent and somewhat confusing. I'll go put a comment in the docstring! |
This isn't really a Problem, but it is unexpected, inconsistent, and potentially troublesome.
The B4C class has a built-in non-unity theoretical density fraction that is applied by default when the material is constructed:
armi/armi/materials/b4c.py
Lines 117 to 145 in 37f5479
This non-unity fraction is used whenever the material density is queried:
armi/armi/materials/b4c.py
Lines 160 to 178 in 37f5479
There is also the ability to specify the theoretical density fraction using the
TD_frac
material modification, which is a good thing:armi/armi/materials/b4c.py
Lines 31 to 52 in 37f5479
The bad part about that is that all other material classes return a fully-dense material by default. If you want a version of the material with lower density, generally you should use the associated material modification
TD_frac
. But for B4C, you actually need to useTD_frac
to get a full-density material. So this means that the B4C class is inconsistent with our other materials, but it is not documented as such.I did want to change this as part of #1114 , but since it would be an API-breaking change and it proved a bit more challenging than expected, I decided to just report it here for future work instead. B4C, being as ubiquitous as it is, is used allllllll over our repos, and this could be tricky to implement a change.
The text was updated successfully, but these errors were encountered: