MFEM
v3.0
|
Abstract class for hypre's solvers and preconditioners. More...
#include <hypre.hpp>
Public Member Functions | |
HypreSolver () | |
HypreSolver (HypreParMatrix *_A) | |
virtual | operator HYPRE_Solver () const =0 |
Typecast to HYPRE_Solver – return the solver. More... | |
virtual HYPRE_PtrToParSolverFcn | SetupFcn () const =0 |
hypre's internal Setup function More... | |
virtual HYPRE_PtrToParSolverFcn | SolveFcn () const =0 |
hypre's internal Solve function More... | |
virtual void | SetOperator (const Operator &op) |
Set/update the solver for the given operator. More... | |
virtual void | Mult (const HypreParVector &b, HypreParVector &x) const |
Solve the linear system Ax=b. More... | |
virtual void | Mult (const Vector &b, Vector &x) const |
Operator application. More... | |
virtual | ~HypreSolver () |
Public Member Functions inherited from mfem::Solver | |
Solver (int s=0, bool iter_mode=false) | |
Solver (int h, int w, bool iter_mode=false) | |
Initialize a Solver with height 'h' and width 'w'. More... | |
Public Member Functions inherited from mfem::Operator | |
Operator (int s=0) | |
Construct a square Operator with given size s (default 0) More... | |
Operator (int h, int w) | |
int | Height () const |
Get the height (size of output) of the Operator. Synonym with NumRows. More... | |
int | NumRows () const |
int | Width () const |
Get the width (size of input) of the Operator. Synonym with NumCols. More... | |
int | NumCols () const |
virtual void | MultTranspose (const Vector &x, Vector &y) const |
Action of the transpose operator. More... | |
virtual Operator & | GetGradient (const Vector &x) const |
Evaluate the gradient operator at the point x. More... | |
void | PrintMatlab (std::ostream &out, int n=0, int m=0) |
Prints operator with input size n and output size m in matlab format. More... | |
virtual | ~Operator () |
Protected Attributes | |
HypreParMatrix * | A |
The linear system matrix. More... | |
HypreParVector * | B |
Right-hand side and solution vector. More... | |
HypreParVector * | X |
int | setup_called |
Was hypre's Setup function called already? More... | |
Protected Attributes inherited from mfem::Operator | |
int | height |
int | width |
Additional Inherited Members | |
Public Attributes inherited from mfem::Solver | |
bool | iterative_mode |
If true, use the second argument of Mult as an initial guess. More... | |
mfem::HypreSolver::HypreSolver | ( | HypreParMatrix * | _A | ) |
|
virtual |
Solve the linear system Ax=b.
Reimplemented in mfem::HypreGMRES, and mfem::HyprePCG.
|
pure virtual |
Typecast to HYPRE_Solver – return the solver.
Implemented in mfem::HypreADS, mfem::HypreAMS, mfem::HypreBoomerAMG, mfem::HypreParaSails, mfem::HypreDiagScale, mfem::HypreIdentity, mfem::HypreGMRES, and mfem::HyprePCG.
|
inlinevirtual |
Set/update the solver for the given operator.
Implements mfem::Solver.
|
pure virtual |
hypre's internal Setup function
Implemented in mfem::HypreADS, mfem::HypreAMS, mfem::HypreBoomerAMG, mfem::HypreParaSails, mfem::HypreDiagScale, mfem::HypreIdentity, mfem::HypreGMRES, and mfem::HyprePCG.
|
pure virtual |
hypre's internal Solve function
Implemented in mfem::HypreADS, mfem::HypreAMS, mfem::HypreBoomerAMG, mfem::HypreParaSails, mfem::HypreDiagScale, mfem::HypreIdentity, mfem::HypreGMRES, and mfem::HyprePCG.
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |