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