vectorial::CGUzawaFabric Class Referenceabstract

Fabric class for CGUzawa. More...

#include <cgUzawaFabric.hh>

Inheritance diagram for vectorial::CGUzawaFabric:
concepts::SolverFabric< Real >

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. More...
 
virtual Operator< Real > * operator() ()=0
 Creates a linear solver from matrix. More...
 
virtual concepts::Operator< Real > * operator() (concepts::Operator< Real > &matrix)
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 

Private Attributes

concepts::Operator< Real > & A_
 Upper left submatrix. More...
 
concepts::Operator< Real > & Ai_
 Solver for A. More...
 
concepts::Operator< Real > & B_
 Upper right submatrix. More...
 
concepts::Operator< Real > & Bt_
 Lower left submatrix. More...
 
concepts::Operator< Real > & C_
 Lower right submatrix. More...
 
Real maxeps_
 Convergence criteria for the solver. More...
 
int maxit_
 Convergence criteria for the solver. More...
 
uint relres_
 relres = 0: absolute residual, relres = 1: relative residual More...
 

Detailed Description

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.

Author
Christoph Winkelmann, 2004

Definition at line 32 of file cgUzawaFabric.hh.

Constructor & Destructor Documentation

◆ CGUzawaFabric()

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.

Parameters
maxepsMaximal residual
maxitMaximal number of iterations
rsRestart
relres0: absolute residual, 1: relative residual

Definition at line 40 of file cgUzawaFabric.hh.

Member Function Documentation

◆ info()

virtual std::ostream& vectorial::CGUzawaFabric::info ( std::ostream &  os) const
inlineprotectedvirtual

Definition at line 52 of file cgUzawaFabric.hh.

◆ operator()() [1/2]

virtual Operator<Real >* concepts::SolverFabric< Real >::operator() ( )
pure virtualinherited

Creates a linear solver from matrix.

The caller is responsible for the deletion of the delivered object.

Returns
Reference to the linear solver

Implemented in concepts::UmfpackFabric, concepts::SuperLUFabric< F >, concepts::MumpsOverlapFabric< F >, and concepts::MumpsFabric< F >.

◆ operator()() [2/2]

virtual concepts::Operator<Real>* vectorial::CGUzawaFabric::operator() ( concepts::Operator< Real > &  matrix)
inlinevirtual

Implements concepts::SolverFabric< Real >.

Definition at line 47 of file cgUzawaFabric.hh.

Member Data Documentation

◆ A_

concepts::Operator<Real>& vectorial::CGUzawaFabric::A_
private

Upper left submatrix.

Definition at line 58 of file cgUzawaFabric.hh.

◆ Ai_

concepts::Operator<Real>& vectorial::CGUzawaFabric::Ai_
private

Solver for A.

Definition at line 66 of file cgUzawaFabric.hh.

◆ B_

concepts::Operator<Real>& vectorial::CGUzawaFabric::B_
private

Upper right submatrix.

Definition at line 60 of file cgUzawaFabric.hh.

◆ Bt_

concepts::Operator<Real>& vectorial::CGUzawaFabric::Bt_
private

Lower left submatrix.

Definition at line 62 of file cgUzawaFabric.hh.

◆ C_

concepts::Operator<Real>& vectorial::CGUzawaFabric::C_
private

Lower right submatrix.

Definition at line 64 of file cgUzawaFabric.hh.

◆ maxeps_

Real vectorial::CGUzawaFabric::maxeps_
private

Convergence criteria for the solver.

Definition at line 68 of file cgUzawaFabric.hh.

◆ maxit_

int vectorial::CGUzawaFabric::maxit_
private

Convergence criteria for the solver.

Definition at line 70 of file cgUzawaFabric.hh.

◆ relres_

uint vectorial::CGUzawaFabric::relres_
private

relres = 0: absolute residual, relres = 1: relative residual

Definition at line 72 of file cgUzawaFabric.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich