-
Notifications
You must be signed in to change notification settings - Fork 596
Add derivative tally based k_eff search support for material perturbations #3690
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
base: develop
Are you sure you want to change the base?
Add derivative tally based k_eff search support for material perturbations #3690
Conversation
GuySten
left a comment
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 looks like a nice feature.
A better place for the examples should be in the openmc-notebooks repo though.
examples/keff_search_derivatives/test_tally_deriv_keff_search.py
Outdated
Show resolved
Hide resolved
|
Thanks for the suggestion! This PR introduces a new feature enhancement to OpenMC by extending Model.keff_search to support material perturbations using derivative tallies (with least-squares fitting, uncertainty weighting, etc.). Since this is a new capability being added in this PR, any accompanying notebook demonstrations may go to the separate openmc-notebooks repository rather than being included here. The notebooks in openmc-notebooks are intended as demonstrations and tutorials for existing features of released versions of OpenMC, not for showcasing in-development changes. Once this PR is merged and the feature lands in a release, we can open a PR there to add a notebook example! That would be a great way to highlight the new functionality. |
|
I thinks that the examples folder in openmc has alot less visibility than the openmc-notebooks repository. You've clearly put alot of work in the examples in this PR and I think it will be better to put them in a place that is more visible to users. What I meant was lets remove the example files in this PR and merge it without them. You can also add the examples to the description of this PR so people can run it while it still in development, if you want. |
Sure, I will take out the examples from this PR and add them as demo scripts in the description. Later maybe update the existing PR in openmc-notebooks with this example. |
GuySten
left a comment
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.
Looks good.
@pranavkantgaur, If you agree with my changes I will merge tomorrow.
@GuySten Changes look good, thanks. There was a minor change to handle undefined variable reference for nuclide-density derivatives, I have added that. Also, I have updated the note in the docstrings to not to use this method (yet) for the temperature derivatives. Besides this, MR description is updated with results from the attached demo script. |
Description
This PR extends the recently added Model.keff_search method for material input parameters by leveraging derivative tallies. It adds least-squares curve fitting over a combination of K_eff evaluations and its derivatives as an alternative method to GRSecant's curve fitting. We have observed considerable reduction in the required number of MC evaluations for some cases (reproducible using
test_tally_deriv_keff_search.pyin the attached zip). Results are consistent with the primary work by @smharper as reported here.It is an initial work on #980 and is related to: #3569, #2693.
Results from the attached demo script are as:
TABLE 1: BORON CONCENTRATION SEARCH RESULTS
Efficiency Gains (relative to GRsecant baseline)
Least Squares (with deriv):
TABLE 2: FUEL DENSITY SEARCH RESULTS
Efficiency Gains (relative to GRsecant baseline)
Least Squares (with deriv):
Checklist