Teko  Version of the Day
 All Classes Files Functions Variables Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Teko::JacobiPreconditionerFactory Class Reference

#include <Teko_JacobiPreconditionerFactory.hpp>

Inheritance diagram for Teko::JacobiPreconditionerFactory:
Inheritance graph
[legend]

Public Member Functions

LinearOp buildPreconditionerOperator (BlockedLinearOp &blo, BlockPreconditionerState &state) const
 Create the Jacobi preconditioner operator. More...
 
Teuchos::RCP< const
BlockInvDiagonalStrategy
getInvDiagStrategy () const
 Get inv diagonal strategy. More...
 
Constructors.
 JacobiPreconditionerFactory (const LinearOp &invD0, const LinearOp &invD1)
 
 JacobiPreconditionerFactory (const RCP< const BlockInvDiagonalStrategy > &strategy)
 
 JacobiPreconditionerFactory ()
 
- Public Member Functions inherited from Teko::BlockPreconditionerFactory
virtual RCP< PreconditionerStatebuildPreconditionerState () const
 Function that permits the construction of an arbitrary BlockPreconditionerState object. More...
 
RCP< BlockPreconditionerStatebuildBlockPreconditionerState () 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< RequestHandlergetRequestHandler () 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 > &paramList)
 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 Member Functions

virtual void initializeFromParameterList (const Teuchos::ParameterList &pl)
 Initialize from a parameter list. More...
 

Protected Attributes

Teuchos::RCP< const
BlockInvDiagonalStrategy
invOpsStrategy_
 some members More...
 
- Protected Attributes inherited from Teko::PreconditionerFactory
Teuchos::RCP
< Teuchos::ParameterList > 
paramList_
 for ParameterListAcceptor More...
 
Teuchos::RCP< RequestHandlercallbackHandler_
 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...
 

Detailed Description

A block diagonal preconditioner.

The use must specify an iverse for each diagonal. If a specific integer is not specified, then the default "Inverse Type" is used.

<Parameter name="Type" type="string" value="Block Jacobi"/>
<Parameter name="Inverse Type" type="string" value="<Some Inverse Factory>"/>
<Parameter name="Inverse Type 1" type="string" value="<Some Inverse Factory>"/>
<Parameter name="Inverse Type 2" type="string" value="<Some Inverse Factory>"/>
<Parameter name="Inverse Type 3" type="string" value="<Some Inverse Factory>"/>
<Parameter name="Inverse Type 4" type="string" value="<Some Inverse Factory>"/>
<Parameter name="Inverse Type 5" type="string" value="<Some Inverse Factory>"/>

Definition at line 72 of file Teko_JacobiPreconditionerFactory.hpp.

Constructor & Destructor Documentation

Teko::JacobiPreconditionerFactory::JacobiPreconditionerFactory ( const LinearOp &  invD0,
const LinearOp &  invD1 
)

Construct a PreconditionerFactory assuming a specific block $2\times2$ matrix. This case is a simple one.

Definition at line 53 of file Teko_JacobiPreconditionerFactory.cpp.

Teko::JacobiPreconditionerFactory::JacobiPreconditionerFactory ( const RCP< const BlockInvDiagonalStrategy > &  strategy)

The most flexible JacobiPreconditionerFactory constructor. Pass in a generally defined BlockInvDiagonalStrategy to use the full generality of this class.

Definition at line 57 of file Teko_JacobiPreconditionerFactory.cpp.

Teko::JacobiPreconditionerFactory::JacobiPreconditionerFactory ( )

Build an empty Jacobi preconditioner factory.

Build a Jacobi preconditioner factory from a parameter list

Definition at line 63 of file Teko_JacobiPreconditionerFactory.cpp.

Member Function Documentation

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

Create the Jacobi preconditioner operator.

This method breaks apart the BlockLinearOp and builds a block diagonal preconditioner. The inverse of the diagonals are specified by the BlockInvDiagonalStrategy object.

Implements Teko::BlockPreconditionerFactory.

Definition at line 66 of file Teko_JacobiPreconditionerFactory.cpp.

Teuchos::RCP<const BlockInvDiagonalStrategy> Teko::JacobiPreconditionerFactory::getInvDiagStrategy ( ) const
inline

Get inv diagonal strategy.

Definition at line 103 of file Teko_JacobiPreconditionerFactory.hpp.

void Teko::JacobiPreconditionerFactory::initializeFromParameterList ( const Teuchos::ParameterList &  pl)
protectedvirtual

Initialize from a parameter list.

Reimplemented from Teko::PreconditionerFactory.

Definition at line 103 of file Teko_JacobiPreconditionerFactory.cpp.

Member Data Documentation

Teuchos::RCP<const BlockInvDiagonalStrategy> Teko::JacobiPreconditionerFactory::invOpsStrategy_
protected

some members

Definition at line 110 of file Teko_JacobiPreconditionerFactory.hpp.


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