Preconditioner factory for building explcit inverse of diagonal operators. This includes block operators. More...
#include <Teko_DiagonalPreconditionerFactory.hpp>

| Public Member Functions | |
| Teuchos::RCP< PreconditionerState > | buildPreconditionerState () const | 
| Builds a preconditioner state object.  More... | |
| LinearOp | buildPreconditionerOperator (LinearOp &lo, PreconditionerState &state) const | 
| virtual void | initializeFromParameterList (const Teuchos::ParameterList &pl) | 
| Initialize from a parameter list.  More... | |
| Constructors. | |
| DiagonalPreconditionerFactory () | |
|  Public Member Functions inherited from Teko::PreconditionerFactory | |
| void | setInverseLibrary (const Teuchos::RCP< const InverseLibrary > &il) | 
| Set the inverse library used by this preconditioner factory.  More... | |
| Teuchos::RCP< const InverseLibrary > | getInverseLibrary () const | 
| Get the inverse library used by this preconditioner factory.  More... | |
| void | setRequestHandler (const Teuchos::RCP< RequestHandler > &rh) | 
| Set the request handler with pointers to the appropriate callbacks.  More... | |
| Teuchos::RCP< RequestHandler > | getRequestHandler () const | 
| Get the request handler with pointers to the appropriate callbacks.  More... | |
| virtual Teuchos::RCP < Teuchos::ParameterList > | getRequestedParameters () const | 
| Request the additional parameters this preconditioner factory needs.  More... | |
| virtual bool | updateRequestedParameters (const Teuchos::ParameterList &) | 
| Update this object with the fields from a parameter list.  More... | |
| bool | isCompatible (const Thyra::LinearOpSourceBase< double > &fwdOpSrc) const | 
| is this operator compatiable with the preconditioner factory?  More... | |
| Teuchos::RCP < Thyra::PreconditionerBase < double > > | createPrec () const | 
| create an instance of the preconditioner  More... | |
| void | initializePrec (const Teuchos::RCP< const Thyra::LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const Thyra::MultiVectorBase< double > > &solnVec, Thyra::PreconditionerBase< double > *precOp, const Thyra::ESupportSolveUse supportSolveUse) const | 
| initialize a newly created preconditioner object  More... | |
| void | initializePrec (const Teuchos::RCP< const Thyra::LinearOpSourceBase< double > > &fwdOpSrc, Thyra::PreconditionerBase< double > *precOp, const Thyra::ESupportSolveUse supportSolveUse) const | 
| initialize a newly created preconditioner object  More... | |
| void | uninitializePrec (Thyra::PreconditionerBase< double > *prec, Teuchos::RCP< const Thyra::LinearOpSourceBase< double > > *fwdOpSrc, Thyra::ESupportSolveUse *supportSolveUse) const | 
| wipe clean a already initialized preconditioner object  More... | |
| void | setParameterList (const Teuchos::RCP< Teuchos::ParameterList > ¶mList) | 
| Set parameters from a parameter list and return with default values.  More... | |
| Teuchos::RCP < Teuchos::ParameterList > | getNonconstParameterList () | 
| Get the parameter list that was set using setParameterList().  More... | |
| Teuchos::RCP < Teuchos::ParameterList > | unsetParameterList () | 
| Unset the parameter list that was set using setParameterList().  More... | |
| Protected Attributes | |
| Teuchos::ParameterList | List_ | 
| some members  More... | |
|  Protected Attributes inherited from Teko::PreconditionerFactory | |
| Teuchos::RCP < Teuchos::ParameterList > | paramList_ | 
| for ParameterListAcceptor  More... | |
| Teuchos::RCP< RequestHandler > | callbackHandler_ | 
| For handling requests and send requests back to the user.  More... | |
| Additional Inherited Members | |
|  Static Public Member Functions inherited from Teko::PreconditionerFactory | |
| static Teuchos::RCP < PreconditionerFactory > | buildPreconditionerFactory (const std::string &name, const Teuchos::ParameterList &settings, const Teuchos::RCP< const InverseLibrary > &invLib=Teuchos::null) | 
| Builder function for creating preconditioner factories (yes this is a factory factory).  More... | |
| static void | addPreconditionerFactory (const std::string &name, const Teuchos::RCP< Cloneable > &clone) | 
| Add a preconditioner factory to the builder. This is done using the clone pattern.  More... | |
| static void | getPreconditionerFactoryNames (std::vector< std::string > &names) | 
| Get the names of the block preconditioner factories.  More... | |
Preconditioner factory for building explcit inverse of diagonal operators. This includes block operators.
Preconditioner factory for building explicit inverse diagonal operators, including block diagonals. These operators need to be Epetra_CrsMatrices under the hood or this will bomb. Uses EpetraExt_PointToBlockDiagPermute.
To invoke this preconditioner using the XML file a diagonal inverse needs to be specified. For example the following XML code creates a AbsRowSum preconditioner
<ParameterList name="AbsRowSum"> <Parameter name="Type" type="string" value="Explicit Diagonal Preconditioner"/> <Parameter name="Diagonal Type" type="string" value="AbsRowSum"/> <!-- Could also be "Lumped" or "Diagonal" --> </ParameterList>
The block diagonal inverse operator is constructed from the following XML code
<ParameterList name="4-Block Diagonal"> <Parameter name="Type" type="string" value="Explicit Diagonal Preconditioner"/> <Parameter name="Diagonal Type" type="string" value="BlkDiag"/> <Parameter name="contiguous block size" type="int" value="4"/> <!-- block size of 4 --> </ParameterList>
Definition at line 102 of file Teko_DiagonalPreconditionerFactory.hpp.
| 
 | virtual | 
Builds a preconditioner state object.
Reimplemented from Teko::PreconditionerFactory.
Definition at line 67 of file Teko_DiagonalPreconditionerFactory.cpp.
| 
 | virtual | 
Create the diagonal preconditioner operator.
Implements Teko::PreconditionerFactory.
Definition at line 72 of file Teko_DiagonalPreconditionerFactory.cpp.
| 
 | virtual | 
Initialize from a parameter list.
Reimplemented from Teko::PreconditionerFactory.
Definition at line 105 of file Teko_DiagonalPreconditionerFactory.cpp.
| 
 | mutableprotected | 
some members
Definition at line 126 of file Teko_DiagonalPreconditionerFactory.hpp.
 1.8.5
 1.8.5