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

Constructors. | |
| Teuchos::ParameterList | List_ |
| some members | |
| Teuchos::RCP< PreconditionerState > | buildPreconditionerState () const |
| Builds a preconditioner state object. | |
| LinearOp | buildPreconditionerOperator (LinearOp &lo, PreconditionerState &state) const |
| virtual void | initializeFromParameterList (const Teuchos::ParameterList &pl) |
| Initialize from a parameter list. | |
Additional Inherited Members | |
Public Member Functions inherited from Teko::PreconditionerFactory | |
| virtual Teuchos::RCP< Teuchos::ParameterList > | getRequestedParameters () const |
| Request the additional parameters this preconditioner factory needs. | |
| virtual bool | updateRequestedParameters (const Teuchos::ParameterList &) |
| Update this object with the fields from a parameter list. | |
| void | setInverseLibrary (const Teuchos::RCP< const InverseLibrary > &il) |
| Set the inverse library used by this preconditioner factory. | |
| Teuchos::RCP< const InverseLibrary > | getInverseLibrary () const |
| Get the inverse library used by this preconditioner factory. | |
| bool | isCompatible (const Thyra::LinearOpSourceBase< double > &fwdOpSrc) const |
| is this operator compatiable with the preconditioner factory? | |
| Teuchos::RCP< Thyra::PreconditionerBase< double > > | createPrec () const |
| create an instance of the preconditioner | |
| 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 | |
| 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 | |
| void | uninitializePrec (Thyra::PreconditionerBase< double > *prec, Teuchos::RCP< const Thyra::LinearOpSourceBase< double > > *fwdOpSrc, Thyra::ESupportSolveUse *supportSolveUse) const |
| wipe clean a already initialized preconditioner object | |
| void | setParameterList (const Teuchos::RCP< Teuchos::ParameterList > ¶mList) |
| Set parameters from a parameter list and return with default values. | |
| Teuchos::RCP< Teuchos::ParameterList > | getNonconstParameterList () |
| Get the parameter list that was set using setParameterList(). | |
| Teuchos::RCP< Teuchos::ParameterList > | unsetParameterList () |
| Unset the parameter list that was set using setParameterList(). | |
| void | setRequestHandler (const Teuchos::RCP< RequestHandler > &rh) |
| Set the request handler with pointers to the appropriate callbacks. | |
| Teuchos::RCP< RequestHandler > | getRequestHandler () const |
| Get the request handler with pointers to the appropriate callbacks. | |
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). | |
| 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. | |
| static void | getPreconditionerFactoryNames (std::vector< std::string > &names) |
| Get the names of the block preconditioner factories. | |
Protected Attributes inherited from Teko::PreconditionerFactory | |
| Teuchos::RCP< Teuchos::ParameterList > | paramList_ |
| for ParameterListAcceptor | |
| Teuchos::RCP< RequestHandler > | callbackHandler_ |
| For handling requests and send requests back to the user. | |
Preconditioner factory for building explcit inverse of diagonal operators. This includes block operators.
Preconditioner factory for building explicit inverse diagonal operators, including block diagonals.
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 69 of file Teko_DiagonalPreconditionerFactory.hpp.
|
virtual |
Builds a preconditioner state object.
Reimplemented from Teko::PreconditionerFactory.
Definition at line 28 of file Teko_DiagonalPreconditionerFactory.cpp.
|
virtual |
Create the diagonal preconditioner operator.
Implements Teko::PreconditionerFactory.
Definition at line 32 of file Teko_DiagonalPreconditionerFactory.cpp.
|
virtual |
Initialize from a parameter list.
Reimplemented from Teko::PreconditionerFactory.
Definition at line 68 of file Teko_DiagonalPreconditionerFactory.cpp.
|
mutableprotected |
some members
Definition at line 90 of file Teko_DiagonalPreconditionerFactory.hpp.