Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
FEDD::PrecBlock2x2< SC, LO, GO, NO > Class Template Reference
Inheritance diagram for FEDD::PrecBlock2x2< SC, LO, GO, NO >:

Public Types

typedef Teuchos::RCP< Thyra::LinearOpBase< SC > > ThyraLinOpPtr_Type
 
typedef Teuchos::Comm< int > Comm_Type
 
typedef Teuchos::RCP< const Comm_Type > CommConstPtr_Type
 

Public Member Functions

 PrecBlock2x2 (CommConstPtr_Type comm)
 
void setDiagonal (ThyraLinOpPtr_Type velocityInv, ThyraLinOpPtr_Type pressureInv)
 
void setTriangular (ThyraLinOpPtr_Type velocityInv, ThyraLinOpPtr_Type pressureInv, ThyraLinOpPtr_Type BT)
 
void setVeloctiyInv (ThyraLinOpPtr_Type veloctiyInv)
 
void setPressureInv (ThyraLinOpPtr_Type pressureInv)
 
void setType (std::string type)
 
void initialize ()
 
virtual void applyIt (const Thyra::EOpTransp M_trans, const Thyra::MultiVectorBase< SC > &X, const Teuchos::Ptr< Thyra::MultiVectorBase< SC > > &Y, const SC alpha, const SC beta) const
 
- Public Member Functions inherited from FEDD::PreconditionerOperator< default_sc, default_lo, default_go, default_no >
void setBlockImpl (const int i, const int j, const RCP< LinearOpType > &block)
 
void setBlockImpl (const int i, const int j, const RCP< LinearOpType > &block)
 
virtual void beginBlockFill ()
 
virtual void beginBlockFill (const int numRowBlocks, const int numColBlocks)
 
virtual void beginBlockFill (const Teuchos::RCP< const Thyra::ProductVectorSpaceBase< default_sc > > &productRange, const Teuchos::RCP< const Thyra::ProductVectorSpaceBase< default_sc > > &productDomain)
 
virtual bool blockFillIsActive () const
 
virtual bool acceptsBlock (const int i, const int j) const
 
virtual void setNonconstBlock (const int i, const int j, const Teuchos::RCP< Thyra::LinearOpBase< default_sc > > &block)
 
virtual void setBlock (const int i, const int j, const Teuchos::RCP< const Thyra::LinearOpBase< default_sc > > &block)
 
virtual void endBlockFill ()
 
virtual void uninitialize ()
 
Teuchos::RCP< const Thyra::ProductVectorSpaceBase< default_sc > > productRange () const
 
Teuchos::RCP< const Thyra::ProductVectorSpaceBase< default_sc > > productDomain () const
 
bool blockExists (const int i, const int j) const
 
bool blockIsConst (const int i, const int j) const
 
Teuchos::RCP< Thyra::LinearOpBase< default_sc > > getNonconstBlock (const int i, const int j)
 
Teuchos::RCP< const Thyra::LinearOpBase< default_sc > > getBlock (const int i, const int j) const
 
Teuchos::RCP< const Thyra::VectorSpaceBase< default_sc > > range () const
 
Teuchos::RCP< const Thyra::VectorSpaceBase< default_sc > > domain () const
 
Teuchos::RCP< const Thyra::LinearOpBase< default_sc > > clone () const
 
std::string description () const
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 

Protected Member Functions

virtual void applyImpl (const Thyra::EOpTransp M_trans, const Thyra::MultiVectorBase< SC > &X, const Teuchos::Ptr< Thyra::MultiVectorBase< SC > > &Y, const SC alpha, const SC beta) const
 
bool opSupportedImpl (Thyra::EOpTransp M_trans) const
 Returns true only if all constituent operators support M_trans.
 

Additional Inherited Members

Teuchos::RCP< const Thyra::DefaultProductVectorSpace< default_sc > > defaultProductRange_
 
Teuchos::RCP< const Thyra::DefaultProductVectorSpace< default_sc > > defaultProductDomain_
 

Member Function Documentation

◆ applyImpl()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
void FEDD::PrecBlock2x2< SC, LO, GO, NO >::applyImpl ( const Thyra::EOpTransp M_trans,
const Thyra::MultiVectorBase< SC > & X,
const Teuchos::Ptr< Thyra::MultiVectorBase< SC > > & Y,
const SC alpha,
const SC beta ) const
protectedvirtual

Implements FEDD::PreconditionerOperator< default_sc, default_lo, default_go, default_no >.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDiagonal()

template<class SC, class LO, class GO, class NO>
void FEDD::PrecBlock2x2< SC, LO, GO, NO >::setDiagonal ( ThyraLinOpPtr_Type velocityInv,
ThyraLinOpPtr_Type pressureInv )

In the following, we assume that we build a precondtioner for a Stokes-type fluid problem with velocity and pressure variables

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: