|
Finite Element Domain Decomposition Library
FEDDLib
|

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) |
| Diagonal preconditioner with \hat{S}= -1/nu M_p schur complement approximation. | |
| void | setTriangular (ThyraLinOpPtr_Type velocityInv, ThyraLinOpPtr_Type pressureInv, ThyraLinOpPtr_Type BT) |
| Triangular preconditioner with \hat{S}= -1/nu M_p schur complement approximation. | |
| void | setTriangular (ThyraLinOpPtr_Type velocityInv, ThyraLinOpPtr_Type laplaceInverse, ThyraLinOpPtr_Type convectionDiffusionOperator, ThyraLinOpPtr_Type massMatrixInverse, ThyraLinOpPtr_Type massMatrixVInverse, ThyraLinOpPtr_Type BT) |
| Pressure-Convection-Diffusion (PCD) block triangular preconditioner. | |
| void | setTriangular (ThyraLinOpPtr_Type velocityInv, ThyraLinOpPtr_Type laplaceInverse, ThyraLinOpPtr_Type massMatrixVInverse, ThyraLinOpPtr_Type BT) |
| Least-Squares-Commutator (LSC) block triangular preconditioner. | |
| void | setVeloctiyInv (ThyraLinOpPtr_Type veloctiyInv) |
| Setting velocity inverse approximation. | |
| void | setPressureInv (ThyraLinOpPtr_Type pressureInv) |
| Setting inverse approximation of Schur complement. | |
| void | setPressureInvs (ThyraLinOpPtr_Type laplaceInverse, ThyraLinOpPtr_Type convectionDiffusionOperator, ThyraLinOpPtr_Type massMatrixInverse, ThyraLinOpPtr_Type massMatrixVInverse) |
| Setting inverse approximation of Schur complement by multiple operators. Corresponds to PCD. | |
| void | setPressureInvs (ThyraLinOpPtr_Type laplaceInverse, ThyraLinOpPtr_Type massMatrixVInverse) |
| Setting inverse approximation of Schur complement by multiple operators. Corresponds to LSC. | |
| void | setB (ThyraLinOpPtr_Type B) |
| Setting fluid system matrix B. | |
| void | setF (ThyraLinOpPtr_Type F) |
| Setting fluid system matrix F. | |
| void | setType (std::string type) |
| Setting the preconditioning ype. | |
| 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 > | |
| 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 |
| Apply of preconditioner in e.g. GMRES. | |
| bool | opSupportedImpl (Thyra::EOpTransp M_trans) const |
Returns true only if all constituent operators support M_trans. | |
|
protectedvirtual |
Apply of preconditioner in e.g. GMRES.
Function called within e.g. GMRES to apply the input vector X_in (corresponding to the RHS = (f_u,f_p)) to the preconditioner Output is the contents of vector Y_inout
Implements FEDD::PreconditionerOperator< default_sc, default_lo, default_go, default_no >.


| void FEDD::PrecBlock2x2< SC, LO, GO, NO >::setDiagonal | ( | ThyraLinOpPtr_Type | velocityInv, |
| ThyraLinOpPtr_Type | pressureInv ) |
Diagonal preconditioner with \hat{S}= -1/nu M_p schur complement approximation.
In the following, we assume that we build a precondtioner for a Stokes-type fluid problem with velocity and pressure variables

