Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
FEDD::PrecOpFaCSI< SC, LO, GO, NO > Class Template Reference
Inheritance diagram for FEDD::PrecOpFaCSI< 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

 PrecOpFaCSI (CommConstPtr_Type comm, bool fluidPrecMonolithic, bool useFluidPreconditioner=true, bool useSolidPreconditioner=true, bool onlyDiagonal=false)
 
void setGE (ThyraLinOpPtr_Type C1, ThyraLinOpPtr_Type C1T, ThyraLinOpPtr_Type C2, ThyraLinOpPtr_Type sInv, ThyraLinOpPtr_Type fInv, ThyraLinOpPtr_Type fF, ThyraLinOpPtr_Type fBT)
 
void setGI (ThyraLinOpPtr_Type C1, ThyraLinOpPtr_Type C1T, ThyraLinOpPtr_Type C2, ThyraLinOpPtr_Type C4, ThyraLinOpPtr_Type sInv, ThyraLinOpPtr_Type fInv, ThyraLinOpPtr_Type fF, ThyraLinOpPtr_Type fBT, ThyraLinOpPtr_Type gInv)
 
void setGIShape (ThyraLinOpPtr_Type C1, ThyraLinOpPtr_Type C1T, ThyraLinOpPtr_Type C2, ThyraLinOpPtr_Type C4, ThyraLinOpPtr_Type sInv, ThyraLinOpPtr_Type fInv, ThyraLinOpPtr_Type fF, ThyraLinOpPtr_Type fBT, ThyraLinOpPtr_Type gInv, ThyraLinOpPtr_Type shape_v, ThyraLinOpPtr_Type shape_p)
 
void setC1 (ThyraLinOpPtr_Type C1)
 
void setC1T (ThyraLinOpPtr_Type C1T)
 
void setC2 (ThyraLinOpPtr_Type C2)
 
void setC4 (ThyraLinOpPtr_Type C4)
 
void setShapeDeriv (ThyraLinOpPtr_Type shape_v, ThyraLinOpPtr_Type shape_p)
 
void setStructInv (ThyraLinOpPtr_Type sInv)
 
void setFluidInv (ThyraLinOpPtr_Type fInv)
 
void setGeoInv (ThyraLinOpPtr_Type gInv)
 
void setFluidF (ThyraLinOpPtr_Type fF)
 
void setFluidBT (ThyraLinOpPtr_Type fBT)
 
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::PrecOpFaCSI< 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:

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