Teko Version of the Day
Loading...
Searching...
No Matches
Teko::MLPreconditionerFactory Class Reference

Class that constructs and returns an ML preconditioner object that is capable of doing block smoothing. More...

#include <Teko_MLPreconditionerFactory.hpp>

Inheritance diagram for Teko::MLPreconditionerFactory:

Public Member Functions

virtual LinearOp buildPreconditionerOperator (BlockedLinearOp &blo, BlockPreconditionerState &state) const
 Function that is called to build the preconditioner for the linear operator that is passed in.
virtual Teuchos::RCP< PreconditionerStatebuildPreconditionerState () const
 Function that permits the construction of an arbitrary PreconditionerState object.
void initializeFromParameterList (const Teuchos::ParameterList &settings)
 This function builds the internals of the preconditioner factory from a parameter list.
Public Member Functions inherited from Teko::BlockPreconditionerFactory
RCP< BlockPreconditionerStatebuildBlockPreconditionerState () const
 Function that constructs a BlockPreconditionerState object.
virtual LinearOp buildPreconditionerOperator (LinearOp &blo, PreconditionerState &state) const
 Function that is called to build the preconditioner for the linear operator that is passed in.
bool isCompatible (const Thyra::LinearOpSourceBase< double > &fwdOpSrc) const
 is this operator compatiable with the preconditioner factory?
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 > &paramList)
 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< RequestHandlergetRequestHandler () const
 Get the request handler with pointers to the appropriate callbacks.

Protected Member Functions

void fillMLPreconditionerState (const BlockedLinearOp &blo, MLPreconditionerState &mlState) const
 Fills an ML preconditioner state object.

Additional Inherited Members

static Teuchos::RCP< PreconditionerFactorybuildPreconditionerFactory (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.
Teuchos::RCP< Teuchos::ParameterList > paramList_
 for ParameterListAcceptor
Teuchos::RCP< RequestHandlercallbackHandler_
 For handling requests and send requests back to the user.

Detailed Description

Class that constructs and returns an ML preconditioner object that is capable of doing block smoothing.

Definition at line 70 of file Teko_MLPreconditionerFactory.hpp.

Member Function Documentation

◆ buildPreconditionerOperator()

LinearOp Teko::MLPreconditionerFactory::buildPreconditionerOperator ( BlockedLinearOp & blo,
BlockPreconditionerState & state ) const
virtual

Function that is called to build the preconditioner for the linear operator that is passed in.

Implements Teko::BlockPreconditionerFactory.

Definition at line 69 of file Teko_MLPreconditionerFactory.cpp.

◆ buildPreconditionerState()

Teuchos::RCP< PreconditionerState > Teko::MLPreconditionerFactory::buildPreconditionerState ( ) const
virtual

Function that permits the construction of an arbitrary PreconditionerState object.

Reimplemented from Teko::BlockPreconditionerFactory.

Definition at line 83 of file Teko_MLPreconditionerFactory.cpp.

◆ initializeFromParameterList()

void Teko::MLPreconditionerFactory::initializeFromParameterList ( const Teuchos::ParameterList & settings)
virtual

This function builds the internals of the preconditioner factory from a parameter list.

Reimplemented from Teko::PreconditionerFactory.

Definition at line 142 of file Teko_MLPreconditionerFactory.cpp.

◆ fillMLPreconditionerState()

void Teko::MLPreconditionerFactory::fillMLPreconditionerState ( const BlockedLinearOp & blo,
MLPreconditionerState & mlState ) const
protected

Fills an ML preconditioner state object.

Note
This function assumes the blocked linear operator is flat and no nesting has occured. (Each operator is actually a Epetra_CrsMatrix)

Definition at line 87 of file Teko_MLPreconditionerFactory.cpp.


The documentation for this class was generated from the following files: