G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsTrilinosEigenProblem.h
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // FD Trilinos
17 class Epetra_MultiVector;
18 class Epetra_Operator;
19 
20 namespace gismo
21 {
22 
23 namespace trilinos
24 {
25 
26 namespace solver
27 {
28 
29 
30 enum AnasaziMethod { BlockDavidson = 1, LOBPCG = 2, BlockKrylovSchur = 3 };
31 
32 class EigenProblemPrivate;
33 
42 class GISMO_EXPORT EigenProblem
43 {
44 public:
45  typedef Epetra_MultiVector MV;
46  typedef Epetra_Operator OP;
47 
48 public:
49 
50  explicit EigenProblem(const SparseMatrix & A,
51  const AnasaziMethod & method = BlockKrylovSchur);
52  // BlockDavidson
53 
54  ~EigenProblem();
55 
56  void solve() const;
57 
58 
59 protected:
60  EigenProblemPrivate * my;
61 };
62 
63 
64 }// namespace solver
65 }// namespace trilinos
66 }// namespace gismo
Computes the eigenvalues of largest magnitude of an eigenvalue problem $A x = x$, using Anasazi's implementation of the Block Davidson method.
Definition: gsTrilinosEigenProblem.h:42