Go to the documentation of this file.
19 #ifndef LIBMESH_CONDENSED_EIGEN_SYSTEM_H
20 #define LIBMESH_CONDENSED_EIGEN_SYSTEM_H
22 #include "libmesh/libmesh_config.h"
26 #if defined(LIBMESH_HAVE_SLEPC)
29 #include "libmesh/eigen_system.h"
30 #include "libmesh/sparse_matrix.h"
55 const std::string & name_in,
56 const unsigned int number_in);
86 global_condensed_dofs_set =
87 std::set<dof_id_type>());
99 virtual void solve()
override;
139 #endif // LIBMESH_HAVE_SLEPC
141 #endif // LIBMESH_CONDENSED_EIGEN_SYSTEM_H
std::unique_ptr< SparseMatrix< Number > > condensed_matrix_B
A second (condensed) system matrix for generalized eigenvalue problems.
virtual void solve() override
Override to solve the condensed eigenproblem with the dofs in local_non_condensed_dofs_vector strippe...
The libMesh namespace provides an interface to certain functionality in the library.
virtual std::pair< Real, Real > get_eigenpair(dof_id_type i) override
Override get_eigenpair() to retrieve the eigenpair for the condensed eigensolve.
CondensedEigenSystem(EquationSystems &es, const std::string &name_in, const unsigned int number_in)
Constructor.
This class extends EigenSystem to allow a simple way of solving (standard or generalized) eigenvalue ...
void initialize_condensed_dofs(const std::set< dof_id_type > &global_condensed_dofs_set=std::set< dof_id_type >())
Loop over the dofs on each processor to initialize the list of non-condensed dofs.
This is the EquationSystems class.
std::vector< dof_id_type > local_non_condensed_dofs_vector
Vector storing the local dof indices that will not be condensed.
CondensedEigenSystem sys_type
The type of system.
EigenSystem Parent
The type of the parent.
Manages consistently variables, degrees of freedom, and coefficient vectors for eigenvalue problems.
std::unique_ptr< SparseMatrix< Number > > condensed_matrix_A
The (condensed) system matrix for standard eigenvalue problems.
bool condensed_dofs_initialized
A private flag to indicate whether the condensed dofs have been initialized.
dof_id_type n_global_non_condensed_dofs() const