vectorial::BramblePasciakFabric Class Referenceabstract

Fabric class for BramblePasciak. More...

#include <bramblePasciakFabric.hh>

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

Public Member Functions

 BramblePasciakFabric (concepts::Operator< Real > &A, concepts::Operator< Real > &B, concepts::Operator< Real > &Bt, concepts::Operator< Real > &C, concepts::Operator< Real > &W, 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 > & 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...
 
concepts::Operator< Real > & W_
 Preconditioner for A. More...
 

Detailed Description

Fabric class for BramblePasciak.

Caution: As the class BramblePasciak 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 33 of file bramblePasciakFabric.hh.

Constructor & Destructor Documentation

◆ BramblePasciakFabric()

vectorial::BramblePasciakFabric::BramblePasciakFabric ( concepts::Operator< Real > &  A,
concepts::Operator< Real > &  B,
concepts::Operator< Real > &  Bt,
concepts::Operator< Real > &  C,
concepts::Operator< Real > &  W,
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 41 of file bramblePasciakFabric.hh.

Member Function Documentation

◆ info()

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

Definition at line 56 of file bramblePasciakFabric.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::BramblePasciakFabric::operator() ( concepts::Operator< Real > &  matrix)
inlinevirtual

Implements concepts::SolverFabric< Real >.

Definition at line 50 of file bramblePasciakFabric.hh.

Member Data Documentation

◆ A_

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

Upper left submatrix.

Definition at line 62 of file bramblePasciakFabric.hh.

◆ B_

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

Upper right submatrix.

Definition at line 64 of file bramblePasciakFabric.hh.

◆ Bt_

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

Lower left submatrix.

Definition at line 66 of file bramblePasciakFabric.hh.

◆ C_

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

Lower right submatrix.

Definition at line 68 of file bramblePasciakFabric.hh.

◆ maxeps_

Real vectorial::BramblePasciakFabric::maxeps_
private

Convergence criteria for the solver.

Definition at line 72 of file bramblePasciakFabric.hh.

◆ maxit_

int vectorial::BramblePasciakFabric::maxit_
private

Convergence criteria for the solver.

Definition at line 74 of file bramblePasciakFabric.hh.

◆ relres_

uint vectorial::BramblePasciakFabric::relres_
private

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

Definition at line 76 of file bramblePasciakFabric.hh.

◆ W_

concepts::Operator<Real>& vectorial::BramblePasciakFabric::W_
private

Preconditioner for A.

Definition at line 70 of file bramblePasciakFabric.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