23 #if defined(LIBMESH_HAVE_SLEPC) 41 const std::string & name_in,
42 const unsigned int number_in
44 Parent (es, name_in, number_in),
46 _n_converged_eigenpairs (0),
48 _is_generalized_eigenproblem (false),
49 _eigen_problem_type (
NHEP)
218 const unsigned int maxits =
219 es.
parameters.
get<
unsigned int>(
"linear solver maximum iterations");
221 const unsigned int nev =
224 const unsigned int ncv =
227 std::pair<unsigned int, unsigned int> solve_data;
264 #endif // LIBMESH_HAVE_SLEPC static std::unique_ptr< SparseMatrix< T > > build(const Parallel::Communicator &comm, const SolverPackage solver_package=libMesh::default_solver_package())
virtual void reinit() override
virtual std::pair< Real, Real > get_eigenpair(dof_id_type i)
Manages multiples systems of equations.
unsigned int _n_converged_eigenpairs
const EquationSystems & get_equation_systems() const
void attach_matrix(SparseMatrix< Number > &matrix)
const Parallel::Communicator & comm() const
const MeshBase & get_mesh() const
virtual void assemble() override
unsigned int _n_iterations
Manages the degrees of freedom (DOFs) in a simulation.
std::unique_ptr< SparseMatrix< Number > > matrix_A
Manages consistently variables, degrees of freedom, and coefficient vectors.
std::unique_ptr< NumericVector< Number > > solution
bool _is_generalized_eigenproblem
virtual void solve() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
EigenSystem(EquationSystems &es, const std::string &name_in, const unsigned int number_in)
std::unique_ptr< EigenSolver< Number > > eigen_solver
virtual void init_matrices()
EigenProblemType _eigen_problem_type
const T & get(const std::string &) const
void set_eigenproblem_type(EigenProblemType ept)
std::unique_ptr< SparseMatrix< Number > > matrix_B
bool have_parameter(const std::string &) const
virtual void clear() override
void compute_sparsity(const MeshBase &)
bool assemble_before_solve
const DofMap & get_dof_map() const
virtual void init_data() override
Base class which defines the interface for solving eigenproblems.