-
Notifications
You must be signed in to change notification settings - Fork 41
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
Update action and tests for the Eigenvalue executioner #228
Conversation
c29779d
to
110f228
Compare
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.
Hi @smpark7,
Good work on this code update and refactor. You did a good job updating the docpages. I'm going to approve, but am curious why many int
variables were changed to unsigned int
.
Co-authored-by: Olek <[email protected]>
Thanks for the review @yardasol! I changed the parameters to unsigned int for consistency. All other occurrences of those parameters in Moltres are unsigned ints. Feel free to merge if you (re)approve. |
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.
Good work @smpark7!
Update action and tests for the Eigenvalue executioner 6b88398
Update action and tests for the Eigenvalue executioner 6b88398
Update action and tests for the Eigenvalue executioner 6b88398
Description
Closes #177
This PR transitions Moltres from the old
NonlinearEigen
/InversePowerMethod
executioner implementation to the newEigenvalue
executioner implementation in MOOSE for solving k-eigenvalue problems. The old implementation is deprecated and will eventually be removed from MOOSE. All relevant tests and documentation are updated to reflect the transition to the new implementation.A k-eigenvalue problem may be formulated as$Lx = \frac{1}{k} Fx$ , where the $F$ operator comprises of neutron source terms and the $L$ operator comprises of the streaming, collision, and scattering terms.
Unlike the old implementation which requires a separate$F$ operator, the new implementation uses the regular $F$ (otherwise $L$ ).
EigenKernel
class for theKernel
class with theextra_vector_tags
parameter to indicate whether it belongs inThis PR also refactors
NtAction
to reduce code duplication.NtAction
is an Action object which streamlines the process of creating Moltres input file by automatically setting up various Kernels, BCs, etc. required in a neutronics simulation.Changes
src/
&include/
, i.e.,CoupledFissionEigenKernel
,PrecursorEigenSource
,SelfFissionEigenKernel
doc/
associated with the EigenKernelsNtAction
andPrecursorAction
to use the newEigenProblem
implementationtests/
to use the newEigenProblem
implementationproblems/
to use the newEigenProblem
implementation2021-cnrs-benchmark
input files and the expected computational requirementstutorials/
to use the newEigenProblem
implementationEigenProblem
implementationElmIntegFissPostprocessor
andElmIntegFissNtsPostprocessor
insrc/
andinclude/
NtAction
to reduce code duplicationImpact
Eigenvalue
executioner implementation in MOOSENtAction