20 #ifdef LIBMESH_HAVE_SLEPC 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
EigenSolver(const Parallel::Communicator &comm_in)
An object whose state is distributed along a set of processors.
static std::unique_ptr< EigenSolver< T > > build(const Parallel::Communicator &comm_in, const SolverPackage solver_package=SLEPC_SOLVERS)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void set_position_of_spectrum(PositionOfSpectrum pos)
void set_solver_configuration(SolverConfiguration &solver_configuration)
Base class which defines the interface for solving eigenproblems.