29namespace slepc {
typedef struct ::_p_EPS *
EPS; }
40 mutable bool clcustom;
75 void Customize(
bool customize =
true)
const;
Wrapper for PETSc's matrix class.
Which
Target spectrum for the eigensolver.
@ LARGEST_REAL
The eigenvalues with the largest real component.
@ SMALLEST_MAGNITUDE
The eigenvalues with the smallest complex magnitude.
@ SMALLEST_REAL
The eigenvalues with the smallest real component.
@ TARGET_MAGNITUDE
The eigenvalues with complex magnitude closest to the target value.
@ LARGEST_MAGNITUDE
The eigenvalues with the largest complex magnitude (default)
@ TARGET_REAL
The eigenvalues with the real component closest to the target value.
@ SMALLEST_IMAGINARY
The eigenvalues with the smallest imaginary component.
@ LARGEST_IMAGINARY
The eigenvalues with the largest imaginary component.
void Customize(bool customize=true) const
Customize object with options set.
void SetOperators(const PetscParMatrix &op, const PetscParMatrix &opB)
Set operators for generalized eigenvalue problem.
void SetWhichEigenpairs(Which which)
Set the which eigenvalues the solver will target and the order they will be indexed in.
SlepcEigenSolver(MPI_Comm comm, const std::string &prefix=std::string())
Constructors.
int GetNumConverged()
Get the number of converged eigenvalues after the call to SlepcEigenSolver::Solve.
void SetTarget(real_t target)
Set the target value for the eigenpairs you want when using SlepcEigenSolver::TARGET_MAGNITUDE or Sle...
void GetEigenvalue(unsigned int i, real_t &lr) const
Get the ith eigenvalue after the system has been solved.
void SetNumModes(int num_eigs)
Set the number of eigenmodes to compute.
virtual ~SlepcEigenSolver()
void SetSpectralTransformation(SpectralTransformation transformation)
Set the spectral transformation strategy for acceletating convergenvce. Both SlepcEigenSolver::SHIFT ...
void SetMaxIter(int max_iter)
Set maximum number of iterations allowed in the call to SlepcEigenSolver::Solve.
SpectralTransformation
Spectral transformations that can be used by the solver in order to accelerate the convergence to the...
@ SHIFT
Utilize the shift of origin strategy.
@ SHIFT_INVERT
Utilize the shift and invert strategy.
void GetEigenvector(unsigned int i, Vector &vr) const
Get the ith eigenvector after the system has been solved.
void SetTol(real_t tol)
Set solver convergence tolerance relative to the magnitude of the eigenvalue.
void SetOperator(const PetscParMatrix &op)
Set operator for standard eigenvalue problem.
void Solve()
Solve the eigenvalue problem for the specified number of eigenvalues.
void transformation(const Vector &p, Vector &v)
void MFEMInitializeSlepc()
struct _p_PetscObject * PetscObject