This issue can be closed when NtAction supports using the Eigenvalue executioner and new tests are added for criticality search using Eigenvalue.
Our existing framework for solving criticality search problems involve using the NonlinearEigen or InversePowerMethod executioners. These executioners require EigenKernels for the neutron source terms, namely the CoupledFissionEigenKernel and DelayedNeutronEigenSource.
NonlinearEigen and InversePowerMethod still exist, but are now deprecated in favor of the new Eigenvalue executioner. However, the Eigenvalue executioner requires:
SLEPc and PETSc version > 3.13 for optimal solve convergence performance (The cray-optimized PETSc on Blue Waters is only 3.9.3.0)
regular Kernels for the neutron source terms with extra_vector_tags = 'eigen', which means we have to edit our automated initializer NtAction.
While it's technically possible to use the Eigenvalue executioner in Moltres right now, it would be a tedious process of manually writing the variable, kernel, BC, etc. objects for all neutron groups because NtAction does not support the right format for Eigenvalue.
We can't completely remove support for the deprecated Executioners at this moment because cray-petsc on Blue Waters is only at 3.9.3.0 and we need Blue Waters for large simulations which need more memory/computing power.
This issue can be closed when
NtAction
supports using theEigenvalue
executioner and new tests are added for criticality search usingEigenvalue
.Our existing framework for solving criticality search problems involve using the
NonlinearEigen
orInversePowerMethod
executioners. These executioners requireEigenKernels
for the neutron source terms, namely theCoupledFissionEigenKernel
andDelayedNeutronEigenSource
.NonlinearEigen
andInversePowerMethod
still exist, but are now deprecated in favor of the newEigenvalue
executioner. However, theEigenvalue
executioner requires:Kernels
for the neutron source terms withextra_vector_tags = 'eigen'
, which means we have to edit our automated initializerNtAction
.While it's technically possible to use the
Eigenvalue
executioner in Moltres right now, it would be a tedious process of manually writing the variable, kernel, BC, etc. objects for all neutron groups becauseNtAction
does not support the right format forEigenvalue
.We can't completely remove support for the deprecated
Executioners
at this moment becausecray-petsc
on Blue Waters is only at 3.9.3.0 and we need Blue Waters for large simulations which need more memory/computing power.