Fabric class for CGUzawa.
More...
#include <cgUzawaFabric.hh>


Public Member Functions | |
| CGUzawaFabric (concepts::Operator< Real > &A, concepts::Operator< Real > &B, concepts::Operator< Real > &Bt, concepts::Operator< Real > &C, concepts::Operator< Real > &Ai, Real maxeps=EPS, int maxit=0, uint relres=0) | |
| Constructor. | |
| virtual Operator< Real > * | operator() (SparseMatrix< Real > &matrix) |
| virtual concepts::Operator < Real > * | operator() (concepts::Operator< Real > &matrix) |
Creates a linear solver from matrix. | |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Attributes | |
| concepts::Operator< Real > & | A_ |
| Upper left submatrix. | |
| concepts::Operator< Real > & | Ai_ |
| Solver for A. | |
| concepts::Operator< Real > & | B_ |
| Upper right submatrix. | |
| concepts::Operator< Real > & | Bt_ |
| Lower left submatrix. | |
| concepts::Operator< Real > & | C_ |
| Lower right submatrix. | |
| Real | maxeps_ |
| Convergence criteria for the solver. | |
| int | maxit_ |
| Convergence criteria for the solver. | |
| uint | relres_ |
| relres = 0: absolute residual, relres = 1: relative residual | |
Fabric class for CGUzawa.
Caution: As the class CGUzawa requires the submatrices for constructing a solver and not the full matrix, the fabric returns a solver for the system specified at construction time, not for the system specified when asking for a solver. This Trojan Horse behaviour is a workaround.
Definition at line 29 of file cgUzawaFabric.hh.
| vectorial::CGUzawaFabric::CGUzawaFabric | ( | concepts::Operator< Real > & | A, |
| concepts::Operator< Real > & | B, | ||
| concepts::Operator< Real > & | Bt, | ||
| concepts::Operator< Real > & | C, | ||
| concepts::Operator< Real > & | Ai, | ||
| Real | maxeps = EPS, |
||
| int | maxit = 0, |
||
| uint | relres = 0 |
||
| ) | [inline] |
Constructor.
| maxeps | Maximal residual |
| maxit | Maximal number of iterations |
| rs | Restart |
| relres | 0: absolute residual, 1: relative residual |
Definition at line 37 of file cgUzawaFabric.hh.
| virtual std::ostream& vectorial::CGUzawaFabric::info | ( | std::ostream & | os | ) | const [inline, protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
Definition at line 49 of file cgUzawaFabric.hh.
| virtual Operator<Real >* concepts::SolverFabric< Real >::operator() | ( | SparseMatrix< Real > & | matrix | ) | [inline, virtual, inherited] |
| virtual concepts::Operator<Real>* vectorial::CGUzawaFabric::operator() | ( | concepts::Operator< Real > & | matrix | ) | [inline, virtual] |
Creates a linear solver from matrix.
The caller is responsible for the deletion of the delivered object.
Implements concepts::SolverFabric< Real >.
Definition at line 45 of file cgUzawaFabric.hh.
concepts::Operator<Real>& vectorial::CGUzawaFabric::A_ [private] |
Upper left submatrix.
Definition at line 55 of file cgUzawaFabric.hh.
concepts::Operator<Real>& vectorial::CGUzawaFabric::Ai_ [private] |
Solver for A.
Definition at line 63 of file cgUzawaFabric.hh.
concepts::Operator<Real>& vectorial::CGUzawaFabric::B_ [private] |
Upper right submatrix.
Definition at line 57 of file cgUzawaFabric.hh.
concepts::Operator<Real>& vectorial::CGUzawaFabric::Bt_ [private] |
Lower left submatrix.
Definition at line 59 of file cgUzawaFabric.hh.
concepts::Operator<Real>& vectorial::CGUzawaFabric::C_ [private] |
Lower right submatrix.
Definition at line 61 of file cgUzawaFabric.hh.
Real vectorial::CGUzawaFabric::maxeps_ [private] |
Convergence criteria for the solver.
Definition at line 65 of file cgUzawaFabric.hh.
int vectorial::CGUzawaFabric::maxit_ [private] |
Convergence criteria for the solver.
Definition at line 67 of file cgUzawaFabric.hh.
uint vectorial::CGUzawaFabric::relres_ [private] |
relres = 0: absolute residual, relres = 1: relative residual
Definition at line 69 of file cgUzawaFabric.hh.