19 #ifndef LIBMESH_EIGEN_SYSTEM_H 20 #define LIBMESH_EIGEN_SYSTEM_H 26 #if defined(LIBMESH_HAVE_SLEPC) 36 template <
typename T>
class SparseMatrix;
63 const std::string & name_in,
64 const unsigned int number_in);
90 virtual void clear ()
override;
96 virtual void reinit ()
override;
101 virtual void solve ()
override;
118 virtual std::string
system_type ()
const override {
return "Eigen"; }
123 virtual unsigned int n_matrices ()
const override;
236 #endif // LIBMESH_HAVE_SLEPC 238 #endif // LIBMESH_EIGEN_SYSTEM_H 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
virtual std::string system_type() const override
virtual unsigned int n_matrices() const override
virtual void assemble() override
unsigned int _n_iterations
std::unique_ptr< SparseMatrix< Number > > matrix_A
void set_n_iterations(unsigned int its)
Manages consistently variables, degrees of freedom, and coefficient vectors.
EigenProblemType get_eigenproblem_type() const
void set_n_converged(unsigned int nconv)
bool _is_generalized_eigenproblem
virtual void solve() override
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
void set_eigenproblem_type(EigenProblemType ept)
std::unique_ptr< SparseMatrix< Number > > matrix_B
unsigned int get_n_converged() const
virtual void clear() override
Manages consistently variables, degrees of freedom, and coefficient vectors for eigenvalue problems...
virtual void init_data() override
unsigned int get_n_iterations() const