Teko Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
Teko::NS::SIMPLEPreconditionerFactory Class Reference

#include <Teko_SIMPLEPreconditionerFactory.hpp>

Inheritance diagram for Teko::NS::SIMPLEPreconditionerFactory:
Inheritance graph
[legend]

Public Member Functions

 SIMPLEPreconditionerFactory ()
 Default constructor.
 
LinearOp buildPreconditionerOperator (BlockedLinearOp &blo, BlockPreconditionerState &state) const
 Function that is called to build the preconditioner for the linear operator that is passed in.
 
virtual void setMassMatrix (Teko::LinearOp &mass)
 Set the mass matrix for this factory.
 
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters () const
 For assisting in construction of the preconditioner.
 
virtual bool updateRequestedParameters (const Teuchos::ParameterList &pl)
 For assisting in construction of the preconditioner.
 
virtual void initializeFromParameterList (const Teuchos::ParameterList &pl)
 Initialize from a parameter list.
 
- Public Member Functions inherited from Teko::BlockPreconditionerFactory
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.
 
virtual RCP< PreconditionerStatebuildPreconditionerState () const
 Function that permits the construction of an arbitrary BlockPreconditionerState object.
 
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 LinearOp buildPreconditionerOperator (LinearOp &lo, PreconditionerState &state) const =0
 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 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.
 
virtual void setRequestHandler (const Teuchos::RCP< RequestHandler > &rh)=0
 Set the request handler with pointers to the appropriate callbacks.
 
virtual Teuchos::RCP< RequestHandlergetRequestHandler () const =0
 Get the request handler with pointers to the appropriate callbacks.
 

Protected 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.
 
virtual LinearOp buildPreconditionerOperator (LinearOp &blo, PreconditionerState &state) const
 Function that is called to build the preconditioner for the linear operator that is passed in.
 

Additional Inherited Members

- Static Public Member Functions inherited from Teko::PreconditionerFactory
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.
 
- Protected Attributes inherited from Teko::PreconditionerFactory
Teuchos::RCP< Teuchos::ParameterList > paramList_
 for ParameterListAcceptor
 
Teuchos::RCP< RequestHandlercallbackHandler_
 For handling requests and send requests back to the user.
 

Detailed Description

The basic XML parameter list for SIMPLE looks like.

<ParameterList name="SIMPLEC">
<Parameter name="Type" type="string" value="NS SIMPLE"/>
<!-- Inverse operations to use -->
<Parameter name="Inverse Velocity Type" type="string" value="ML_GS-Velocity"/>
<Parameter name="Inverse Pressure Type" type="string" value="ML_GS-Pressure"/>
<Parameter name="Explicit Velocity Inverse Type" type="string" value="AbsRowSum"/>
<Parameter name="Alpha" type="double" value="0.9"/>
</ParameterList>

Definition at line 73 of file Teko_SIMPLEPreconditionerFactory.hpp.

Constructor & Destructor Documentation

◆ SIMPLEPreconditionerFactory()

Teko::NS::SIMPLEPreconditionerFactory::SIMPLEPreconditionerFactory ( )

Default constructor.

Definition at line 79 of file Teko_SIMPLEPreconditionerFactory.cpp.

Member Function Documentation

◆ buildPreconditionerOperator() [1/3]

LinearOp Teko::NS::SIMPLEPreconditionerFactory::buildPreconditionerOperator ( BlockedLinearOp &  blo,
BlockPreconditionerState state 
) const
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.

Parameters
[in]bloSource linear operator that is to be preconditioned.
[in]stateAn object associated with this operator to store the preconditioner state.
Returns
The preconditioner as a linear operator (i.e. to perform a matrix-vector operation simply call "apply").

Implements Teko::BlockPreconditionerFactory.

Definition at line 84 of file Teko_SIMPLEPreconditionerFactory.cpp.

◆ setMassMatrix()

virtual void Teko::NS::SIMPLEPreconditionerFactory::setMassMatrix ( Teko::LinearOp &  mass)
inlinevirtual

Set the mass matrix for this factory.

Definition at line 92 of file Teko_SIMPLEPreconditionerFactory.hpp.

◆ getRequestedParameters()

Teuchos::RCP< Teuchos::ParameterList > Teko::NS::SIMPLEPreconditionerFactory::getRequestedParameters ( ) const
virtual

For assisting in construction of the preconditioner.

For assiting in construction of the preconditioner.

Reimplemented from Teko::PreconditionerFactory.

Definition at line 305 of file Teko_SIMPLEPreconditionerFactory.cpp.

◆ updateRequestedParameters()

bool Teko::NS::SIMPLEPreconditionerFactory::updateRequestedParameters ( const Teuchos::ParameterList &  pl)
virtual

For assisting in construction of the preconditioner.

For assiting in construction of the preconditioner.

Reimplemented from Teko::PreconditionerFactory.

Definition at line 343 of file Teko_SIMPLEPreconditionerFactory.cpp.

◆ initializeFromParameterList()

void Teko::NS::SIMPLEPreconditionerFactory::initializeFromParameterList ( const Teuchos::ParameterList &  pl)
virtual

Initialize from a parameter list.

Reimplemented from Teko::PreconditionerFactory.

Definition at line 228 of file Teko_SIMPLEPreconditionerFactory.cpp.

◆ buildPreconditionerOperator() [2/3]

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

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.

Parameters
[in]bloSource linear operator that is to be preconditioned.
[in]stateAn object associated with this operator to store the preconditioner state.
Returns
The preconditioner as a linear operator (i.e. to perform a matrix-vector operation simply call "apply").

Implements Teko::BlockPreconditionerFactory.

◆ buildPreconditionerOperator() [3/3]

LinearOp Teko::BlockPreconditionerFactory::buildPreconditionerOperator ( LinearOp &  lo,
PreconditionerState state 
) const
protectedvirtual

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.

Parameters
[in]loSource linear operator that is to be preconditioned.
[in]stateAn object associated with this operator to store the preconditioner state.
Returns
The preconditioner as a linear operator (i.e. to perform a matrix-vector operation simply call "apply").

Reimplemented from Teko::BlockPreconditionerFactory.

Definition at line 141 of file Teko_BlockPreconditionerFactory.cpp.


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