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

Strategy for computing $A_00^{-1}$ and $S^{-1}$ in the LU2x2PreconditionerFactory. Uses the diagonal of $A_00$ to build $S$. More...

#include <Teko_LU2x2DiagonalStrategy.hpp>

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

Public Member Functions

 LU2x2DiagonalStrategy ()
 default Constructor More...
 
 LU2x2DiagonalStrategy (const Teuchos::RCP< InverseFactory > &invFA, const Teuchos::RCP< InverseFactory > &invS)
 Constructor to set the inverse factories. More...
 
virtual ~LU2x2DiagonalStrategy ()
 Destructor (does nothing) More...
 
virtual const Teko::LinearOp getHatInvA00 (const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
 
virtual const Teko::LinearOp getTildeInvA00 (const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
 
virtual const Teko::LinearOp getInvS (const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
 
virtual void initializeFromParameterList (const Teuchos::ParameterList &settings, const InverseLibrary &invLib)
 This function builds the internals of the state from a parameter list. More...
 
- Public Member Functions inherited from Teko::LU2x2Strategy
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...
 
void setRequestHandler (const Teuchos::RCP< RequestHandler > &rh)
 This method sets the request handler for this object. More...
 
Teuchos::RCP< RequestHandlergetRequestHandler () const
 This method gets the request handler uses by this object. More...
 

Protected Member Functions

void initializeState (const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
 

Static Protected Member Functions

static void buildTimers ()
 

Detailed Description

Strategy for computing $A_00^{-1}$ and $S^{-1}$ in the LU2x2PreconditionerFactory. Uses the diagonal of $A_00$ to build $S$.

This should be paired with a LU2x2PreconditionerFactory, it build the $A_{00}^{-1}$ and $S^{-1}$ operators. where the Shur complement is $ S = -A_{11} + A_{10} \mbox{diag}(A_{00})^{-1} A_{01} $.

Definition at line 66 of file Teko_LU2x2DiagonalStrategy.hpp.

Constructor & Destructor Documentation

Teko::LU2x2DiagonalStrategy::LU2x2DiagonalStrategy ( )

default Constructor

Definition at line 75 of file Teko_LU2x2DiagonalStrategy.cpp.

Teko::LU2x2DiagonalStrategy::LU2x2DiagonalStrategy ( const Teuchos::RCP< InverseFactory > &  invFA,
const Teuchos::RCP< InverseFactory > &  invS 
)

Constructor to set the inverse factories.

Definition at line 82 of file Teko_LU2x2DiagonalStrategy.cpp.

virtual Teko::LU2x2DiagonalStrategy::~LU2x2DiagonalStrategy ( )
inlinevirtual

Destructor (does nothing)

Definition at line 76 of file Teko_LU2x2DiagonalStrategy.hpp.

Member Function Documentation

const Teko::LinearOp Teko::LU2x2DiagonalStrategy::getHatInvA00 ( const Teko::BlockedLinearOp &  A,
BlockPreconditionerState state 
) const
virtual

returns the first (approximate) inverse of $A_{00}$

Implements Teko::LU2x2Strategy.

Definition at line 91 of file Teko_LU2x2DiagonalStrategy.cpp.

const Teko::LinearOp Teko::LU2x2DiagonalStrategy::getTildeInvA00 ( const Teko::BlockedLinearOp &  A,
BlockPreconditionerState state 
) const
virtual

returns the second (approximate) inverse of $A_{00}$

Implements Teko::LU2x2Strategy.

Definition at line 100 of file Teko_LU2x2DiagonalStrategy.cpp.

const Teko::LinearOp Teko::LU2x2DiagonalStrategy::getInvS ( const Teko::BlockedLinearOp &  A,
BlockPreconditionerState state 
) const
virtual

returns an (approximate) inverse of $S = -A_{11} + A_{10} \mbox{diag}(A_{00})^{-1} A_{01}$

Implements Teko::LU2x2Strategy.

Definition at line 109 of file Teko_LU2x2DiagonalStrategy.cpp.

void Teko::LU2x2DiagonalStrategy::initializeFromParameterList ( const Teuchos::ParameterList &  pl,
const InverseLibrary &  invLib 
)
virtual

This function builds the internals of the state from a parameter list.

This function builds the internals of the LU 2x2 state from a parameter list. Furthermore, it allows a developer to easily add a factory to the build system.

Parameters
[in]settingsParameter list to use as the internal settings
[in]invLibInverse library to use for building inverse factory objects
Note
The default implementation does nothing.

Reimplemented from Teko::LU2x2Strategy.

Definition at line 189 of file Teko_LU2x2DiagonalStrategy.cpp.

void Teko::LU2x2DiagonalStrategy::buildTimers ( )
staticprotected

Build timers for this type of object.

Definition at line 60 of file Teko_LU2x2DiagonalStrategy.cpp.

void Teko::LU2x2DiagonalStrategy::initializeState ( const Teko::BlockedLinearOp &  A,
BlockPreconditionerState state 
) const
protected

Initialize the operator's state. This builds the Schur complement and the inverse operators. If the state has already been initialized this method does nothing.

Parameters
[in]AOperator to intialize with.
[in]stateStorage object for this operator.

Definition at line 116 of file Teko_LU2x2DiagonalStrategy.cpp.


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