moose
moose copied to clipboard
Add BISON <Material>Thermal capability to MOOSE Heat Transfer Module
Reason
A lot of the BISON <Material>Thermal
documentation is available online (e.g. GraphiteMatrixThermal, UCOThermal, etc.). AFAIK this information is not export controlled, so is there any reason the Solid Properties Module can't have access to the same functionality? I would greatly appreciate this feature.
A lot of VTB simulations that use BISON also use these, so if researchers want to recreate the simulations with Open-Source Software, it can be a block to implement all of these -- or a source of discrepancy if some other function/value is used.
Design
Allow these (e.g. type = UCOThermal
) to be specified in [Materials]
blocks for heat transfer simulations. Not sure how tough it would be to add all this functionality, but if it is already implemented in BISON, maybe it isn't so tricky?
Impact
Better simulations using the Heat Transfer module with more ease.
Maybe @bwspenc @jasondhales @dschwen can comment on whether this material information is export controlled. I think traditionally we have regarded nuclear material data as lying in the export control realm. However, NJOY is open source so 🤷
The analytic definitions of this data is publicly available at the links provided above. The request is for some shared computational implementation of these definitions.
It seems this is a matter of adding new entries to the data in modules/solid_properties/src/solidproperties
. Is there any guidance on whether or not the MOOSE team wants to expand that set of materials, and if so, under what conditions? Would a PR for additional materials be welcome?
The analytic definitions of this data is publicly available at the links provided above
👍
Would a PR for additional materials be welcome?
Definitely. The MOOSE team itself probably doesn't have a lot of time to write the new user objects, but if someone contributed it, we would be delighted to review it
I wouldn't mind opening a PR (might take a little while, but I do want to get to it). For a PR that updates the solid_properties
module, are there any conventions for new code? On the same note, are there any conventions for adding new UserObject
s that I should be aware of?
Also when adding new functionality via new materials, is there an expectation to make a new test for each material, along with a gold
exodus file? If so, is there some heat conduction MWE that I can just substitute new materials for each test/gold
output file?
You can look at the Contributing page. That links to a code standards page and talks about how you should reference an issue number (you can just reference this one). Yes new objects should have test coverage. I would recommend looking at the existing tests in the solid properties module as guidance for making a new test
Our code formatting is enforced using clang-format
. You can install that on your machine or CIVET will spit out patches for formatting when you make your PR