15 #include "../config/config.hpp"
29 namespace slepc {
typedef struct ::_p_EPS *
EPS; }
40 mutable bool clcustom;
67 void Customize(
bool customize =
true)
const;
77 void GetEigenvalue(
unsigned int i,
double & lr,
double & lc)
const;
116 #endif // MFEM_USE_MPI
117 #endif // MFEM_USE_SLEPC
void SetOperator(const PetscParMatrix &op)
Set operator for standard eigenvalue problem.
void Customize(bool customize=true) const
Customize object with options set.
void MFEMInitializeSlepc()
Wrapper for PETSc's matrix class.
void GetEigenvalue(unsigned int i, double &lr) const
Get the corresponding eigenvalue.
void SetTarget(double target)
void SetSpectralTransformation(SpectralTransformation transformation)
virtual ~SlepcEigenSolver()
void transformation(const Vector &p, Vector &v)
void SetMaxIter(int max_iter)
Set maximum number of iterations.
void SetNumModes(int num_eigs)
Set the number of required eigenmodes.
void Solve()
Solve the eigenvalue problem for the specified number of eigenvalues.
void SetTol(double tol)
Set solver tolerance.
SlepcEigenSolver(MPI_Comm comm, const std::string &prefix=std::string())
Constructors.
int GetNumConverged()
Get the number of converged eigenvalues.
void SetWhichEigenpairs(Which which)
struct _p_PetscObject * PetscObject
void GetEigenvector(unsigned int i, Vector &vr) const
Get the corresponding eigenvector.
void SetOperators(const PetscParMatrix &op, const PetscParMatrix &opB)
Set operator for generalized eigenvalue problem.