From f09faa7e65717deece6ccd366024892183ff18d7 Mon Sep 17 00:00:00 2001 From: Roy Stogner Date: Thu, 4 Apr 2024 14:07:08 -0500 Subject: [PATCH 1/2] Check whether `_eigen_sys` was cast successfully Maybe Yaqi can suggest a better error message here, but this is at least a big step up from a segfault. Fixes #27286 --- framework/src/kernels/EigenKernel.C | 3 +++ 1 file changed, 3 insertions(+) diff --git a/framework/src/kernels/EigenKernel.C b/framework/src/kernels/EigenKernel.C index eab65aae80a7..9e9df8a75aa1 100644 --- a/framework/src/kernels/EigenKernel.C +++ b/framework/src/kernels/EigenKernel.C @@ -185,6 +185,9 @@ EigenKernel::enabled() const bool flag = MooseObject::enabled(); if (_eigen) { + if (!_eigen_sys) + mooseError("EigenKernel has eigen=true, but system is not a MooseEigenSystem."); + if (_is_implicit) return flag && (!_eigen_sys->activeOnOld()); else From 741e790c937177326e4ed77dbb53bbe32fcbc7f1 Mon Sep 17 00:00:00 2001 From: Roy Stogner Date: Thu, 4 Apr 2024 15:25:43 -0500 Subject: [PATCH 2/2] Improved error message from Yaqi --- framework/src/kernels/EigenKernel.C | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/framework/src/kernels/EigenKernel.C b/framework/src/kernels/EigenKernel.C index 9e9df8a75aa1..1545e4a55846 100644 --- a/framework/src/kernels/EigenKernel.C +++ b/framework/src/kernels/EigenKernel.C @@ -186,7 +186,11 @@ EigenKernel::enabled() const if (_eigen) { if (!_eigen_sys) - mooseError("EigenKernel has eigen=true, but system is not a MooseEigenSystem."); + mooseError("Eigen kernel ", + name(), + " requires a MooseEigenSystem and was designed to work with old eigenvalue", + " executioners such as 'NonlinearEigen'. It is suggested to use the new", + " eigenvalue executioner 'Eigenvalue' along with kernel tagging"); if (_is_implicit) return flag && (!_eigen_sys->activeOnOld());