19 #include "libmesh/libmesh_config.h"
20 #ifdef LIBMESH_HAVE_SLEPC
23 #include "libmesh/eigen_solver.h"
24 #include "libmesh/slepc_eigen_solver.h"
25 #include "libmesh/solver_configuration.h"
26 #include "libmesh/auto_ptr.h"
27 #include "libmesh/enum_eigen_solver_type.h"
39 _eigen_problem_type (
NHEP),
42 _solver_configuration(nullptr),
43 _close_matrix_before_solve(true)
58 std::unique_ptr<EigenSolver<T>>
63 switch (solver_package)
66 #ifdef LIBMESH_HAVE_SLEPC
68 return libmesh_make_unique<SlepcEigenSolver<T>>(comm);
72 libmesh_error_msg(
"ERROR: Unrecognized eigen solver package: " << solver_package);
75 return std::unique_ptr<EigenSolver<T>>();
82 _solver_configuration = &solver_configuration;
99 _position_of_spectrum = target;
112 #endif // LIBMESH_HAVE_SLEPC