FEM Analysis of Eigenvalue Problems

Table of Contents

The TPZEigenAnalysis class

The TPZEigenAnalysis class should be use for the analysis of (both standard or generalised) eigenvalue problems.

Its usage is fairly simple and the following documentation should suffice.

Users interested in these kind of problems should read the page on available eigensolvers in NeoPZ, specially the sections on TPZKrylovEigenSolver and TPZSpectralTransform.

class TPZEigenAnalysis : public TPZAnalysis

Performs the Finite Element Analysis of a (standard or generalised) eigenvalue problem.

Constructors

TPZEigenAnalysis()

Create an empty TPZEigenAnalysis object.

TPZEigenAnalysis(TPZCompMesh *mesh, bool mustOptimizeBandwidth = true, std::ostream &out = std::cout)

Create an TPZEigenAnalysis object from one mesh pointer.

TPZEigenAnalysis(TPZAutoPointer<TPZCompMesh> mesh, bool mustOptimizeBandwidth = true, std::ostream &out = std::cout)

Create an TPZEigenAnalysis object from one mesh auto pointer object.

FEM

template<class TVar>
TPZEigenSolver<TVar> &EigenSolver()

Gets the eigensolver.

virtual void SetSolver(const TPZSolver &solver) override

Set the solver.

Note

In this function it will be checked if the solver is a TPZEigenSolver

virtual void Assemble() override

Assemble the matrices associated with the EVP.

virtual void Solve() override

Solve the EVP problem.

TPZFMatrix<CSTATE> GetEigenvectors() const

Gets the eigenvectors calculated by the Solve method.

TPZVec<CSTATE> GetEigenvalues() const

Gets the eigenvalues by the Solve method.

inline void SetComputeEigenvectors(const bool opt)

Set to compute eigenvectors or just eigenvalues.

inline bool ComputeEigenvectors() const

Whether to compute eigenvectors or just eigenvalues.