Abstract class which block preconditioner factories in Teko should be based on. More...
#include <Teko_BlockPreconditionerFactory.hpp>
Public Member Functions | |
virtual LinearOp | buildPreconditionerOperator (BlockedLinearOp &blo, BlockPreconditionerState &state) const =0 |
Function that is called to build the preconditioner for the linear operator that is passed in. More... | |
virtual RCP< PreconditionerState > | buildPreconditionerState () const |
Function that permits the construction of an arbitrary BlockPreconditionerState object. More... | |
RCP< BlockPreconditionerState > | buildBlockPreconditionerState () const |
Function that constructs a BlockPreconditionerState object. More... | |
virtual LinearOp | buildPreconditionerOperator (LinearOp &blo, PreconditionerState &state) const |
Function that is called to build the preconditioner for the linear operator that is passed in. More... | |
bool | isCompatible (const Thyra::LinearOpSourceBase< double > &fwdOpSrc) const |
is this operator compatiable with the preconditioner factory? More... | |
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 void | initializeFromParameterList (const Teuchos::ParameterList &) |
This function builds the internals of the preconditioner factory from a parameter list. 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... | |
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... | |
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... | |
Abstract class which block preconditioner factories in Teko should be based on.
Abstract class which block preconditioner factories in Teko should be based on. All that is needed is the implementation of "buildPreconditionerOperator".
Definition at line 98 of file Teko_BlockPreconditionerFactory.hpp.
|
pure virtual |
Function that is called to build the preconditioner for the linear operator that is passed in.
This function builds a preconditioner based on the passed in BlockedLinearOp.
[in] | blo | Source linear operator that is to be preconditioned. |
[in] | state | An object associated with this operator to store the preconditioner state. |
Implemented in Teko::LU2x2PreconditionerFactory, Teko::NS::ModALPreconditionerFactory, Teko::GaussSeidelPreconditionerFactory, Teko::MultPreconditionerFactory, Teko::JacobiPreconditionerFactory, Teko::NS::TimingsSIMPLEPreconditionerFactory, Teko::NS::SIMPLEPreconditionerFactory, Teko::AddPreconditionerFactory, and Teko::MLPreconditionerFactory.
|
inlinevirtual |
Function that permits the construction of an arbitrary BlockPreconditionerState object.
Function that permits the construction of an arbitrary BlockPreconditionerState object. If the basic state object, which takes a parameter list, is sufficient the default behavior does precisely what is needed. Otherwise, an author of a PreconditionerFactory would need to reimplement this method to return a new state object.
Reimplemented from Teko::PreconditionerFactory.
Reimplemented in Teko::NS::ModALPreconditionerFactory, Teko::MultPreconditionerFactory, Teko::AddPreconditionerFactory, and Teko::MLPreconditionerFactory.
Definition at line 129 of file Teko_BlockPreconditionerFactory.hpp.
|
inline |
Function that constructs a BlockPreconditionerState object.
This function is simply included for convenience. Its implementation just call "buildPreconditionerState" and returns a dynamically casted BlockPreconditionState
poniter.
Definition at line 138 of file Teko_BlockPreconditionerFactory.hpp.
|
virtual |
Function that is called to build the preconditioner for the linear operator that is passed in.
This function builds a preconditioner based on the passed in LinearOp.
[in] | lo | Source linear operator that is to be preconditioned. |
[in] | state | An object associated with this operator to store the preconditioner state. |
Implements Teko::PreconditionerFactory.
Definition at line 60 of file Teko_BlockPreconditionerFactory.cpp.
bool Teko::BlockPreconditionerFactory::isCompatible | ( | const Thyra::LinearOpSourceBase< double > & | fwdOpSrc | ) | const |
is this operator compatiable with the preconditioner factory?
Definition at line 72 of file Teko_BlockPreconditionerFactory.cpp.