Teko Version of the Day
Public Member Functions
Teko::NS::PresLaplaceLSCStrategy Class Reference

A strategy that takes a single inverse factory and uses that for all inverses. If no mass matrix is passed in the diagonal of the 1,1 block is used. More...

#include <Teko_PresLaplaceLSCStrategy.hpp>

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

List of all members.

Public Member Functions

virtual void initializeState (const BlockedLinearOp &A, LSCPrecondState *state) const
 Initialize the state object using this blocked linear operator.
void computeInverses (const BlockedLinearOp &A, LSCPrecondState *state) const
virtual void setEigSolveParam (int sz)
 Set the number of power series iterations to use when finding the spectral radius.
virtual int getEigSolveParam ()
 Return the number of power series iterations to use when finding the spectral radius.
virtual void setUseFullLDU (bool val)
 Set to true to use the Full LDU decomposition, false otherwise.
Constructors
 PresLaplaceLSCStrategy ()
 PresLaplaceLSCStrategy (const Teuchos::RCP< InverseFactory > &factory)
 PresLaplaceLSCStrategy (const Teuchos::RCP< InverseFactory > &invFactF, const Teuchos::RCP< InverseFactory > &invFactS)
virtual void buildState (BlockedLinearOp &A, BlockPreconditionerState &state) const
 Functions inherited from LSCStrategy.
virtual LinearOp getInvBQBt (const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual LinearOp getInvBHBt (const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual LinearOp getInvF (const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual LinearOp getOuterStabilization (const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual LinearOp getInnerStabilization (const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual LinearOp getInvMass (const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual LinearOp getHScaling (const BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual bool useFullLDU () const
virtual void setSymmetric (bool isSymmetric)
virtual void initializeFromParameterList (const Teuchos::ParameterList &pl, const InverseLibrary &invLib)
 Initialize from a parameter list.
virtual Teuchos::RCP
< Teuchos::ParameterList > 
getRequestedParameters () const
 For assiting in construction of the preconditioner.
virtual bool updateRequestedParameters (const Teuchos::ParameterList &pl)
 For assiting in construction of the preconditioner.

Detailed Description

A strategy that takes a single inverse factory and uses that for all inverses. If no mass matrix is passed in the diagonal of the 1,1 block is used.

A strategy that takes a single inverse factory and uses that for all inverses. Optionally the mass matrix can be passed in, if it is the diagonal is extracted and that is used to form the inverse approximation.

Definition at line 66 of file Teko_PresLaplaceLSCStrategy.hpp.


Member Function Documentation

void Teko::NS::PresLaplaceLSCStrategy::buildState ( BlockedLinearOp &  A,
BlockPreconditionerState state 
) const [virtual]

Functions inherited from LSCStrategy.

This informs the strategy object to build the state associated with this operator.

Parameters:
[in]AThe linear operator to be preconditioned by LSC.
[in]stateState object for storying reusable information about the operator A.

Implements Teko::NS::LSCStrategy.

Definition at line 92 of file Teko_PresLaplaceLSCStrategy.cpp.

LinearOp Teko::NS::PresLaplaceLSCStrategy::getInvBQBt ( const BlockedLinearOp &  A,
BlockPreconditionerState state 
) const [virtual]

Get the inverse of $B Q_u^{-1} B^T$.

Parameters:
[in]AThe linear operator to be preconditioned by LSC.
[in]stateState object for storying reusable information about the operator A.
Returns:
An (approximate) inverse of $B Q_u^{-1} B^T$.

Implements Teko::NS::LSCStrategy.

Definition at line 128 of file Teko_PresLaplaceLSCStrategy.cpp.

LinearOp Teko::NS::PresLaplaceLSCStrategy::getInvBHBt ( const BlockedLinearOp &  A,
BlockPreconditionerState state 
) const [virtual]

Get the inverse of $B H B^T - \gamma C$.

Parameters:
[in]AThe linear operator to be preconditioned by LSC.
[in]stateState object for storying reusable information about the operator A.
Returns:
An (approximate) inverse of $B H B^T - \gamma C$.

Implements Teko::NS::LSCStrategy.

Definition at line 133 of file Teko_PresLaplaceLSCStrategy.cpp.

LinearOp Teko::NS::PresLaplaceLSCStrategy::getInvF ( const BlockedLinearOp &  A,
BlockPreconditionerState state 
) const [virtual]

Get the inverse of the $F$ block.

Parameters:
[in]AThe linear operator to be preconditioned by LSC.
[in]stateState object for storying reusable information about the operator A.
Returns:
An (approximate) inverse of $F$.

Implements Teko::NS::LSCStrategy.

Definition at line 138 of file Teko_PresLaplaceLSCStrategy.cpp.

LinearOp Teko::NS::PresLaplaceLSCStrategy::getOuterStabilization ( const BlockedLinearOp &  A,
BlockPreconditionerState state 
) const [virtual]

Get the inverse for stabilizing the whole schur complement approximation.

Parameters:
[in]AThe linear operator to be preconditioned by LSC.
[in]stateState object for storying reusable information about the operator A.
Returns:
The operator to stabilize the whole Schur complement.

Implements Teko::NS::LSCStrategy.

Definition at line 144 of file Teko_PresLaplaceLSCStrategy.cpp.

virtual LinearOp Teko::NS::PresLaplaceLSCStrategy::getInnerStabilization ( const BlockedLinearOp &  A,
BlockPreconditionerState state 
) const [inline, virtual]

Get the inverse to stablized stabilizing the Schur complement approximation using a placement on the ``inside''. That is what is the value for $C_I$. This quantity may be null.

Parameters:
[in]AThe linear operator to be preconditioned by LSC.
[in]stateState object for storying reusable information about the operator A.
Returns:
The operator to stabilize the whole Schur complement.

Implements Teko::NS::LSCStrategy.

Definition at line 131 of file Teko_PresLaplaceLSCStrategy.hpp.

LinearOp Teko::NS::PresLaplaceLSCStrategy::getInvMass ( const BlockedLinearOp &  A,
BlockPreconditionerState state 
) const [virtual]

Get the inverse mass matrix.

Parameters:
[in]AThe linear operator to be preconditioned by LSC.
[in]stateState object for storying reusable information about the operator A.
Returns:
The inverse of the mass matrix $Q_u$.

Implements Teko::NS::LSCStrategy.

Definition at line 153 of file Teko_PresLaplaceLSCStrategy.cpp.

LinearOp Teko::NS::PresLaplaceLSCStrategy::getHScaling ( const BlockedLinearOp &  A,
BlockPreconditionerState state 
) const [virtual]

Get the $H$ scaling matrix.

Parameters:
[in]AThe linear operator to be preconditioned by LSC.
[in]stateState object for storying reusable information about the operator A.
Returns:
The $H$ scaling matrix.

Implements Teko::NS::LSCStrategy.

Definition at line 162 of file Teko_PresLaplaceLSCStrategy.cpp.

virtual bool Teko::NS::PresLaplaceLSCStrategy::useFullLDU ( ) const [inline, virtual]

Should the approximation of the inverse use a full LDU decomposition, or is a upper triangular approximation sufficient.

Returns:
True if the full LDU decomposition should be used, otherwise only an upper triangular version is used.

Implements Teko::NS::LSCStrategy.

Definition at line 160 of file Teko_PresLaplaceLSCStrategy.hpp.

virtual void Teko::NS::PresLaplaceLSCStrategy::setSymmetric ( bool  isSymmetric) [inline, virtual]

Tell strategy that this operator is supposed to be symmetric. Behavior of LSC is slightly different for non-symmetric case.

Parameters:
[in]isSymmetricIs this operator symmetric?

Implements Teko::NS::LSCStrategy.

Definition at line 167 of file Teko_PresLaplaceLSCStrategy.hpp.

void Teko::NS::PresLaplaceLSCStrategy::initializeFromParameterList ( const Teuchos::ParameterList &  pl,
const InverseLibrary &  invLib 
) [virtual]

Initialize from a parameter list.

Reimplemented from Teko::NS::LSCStrategy.

Definition at line 285 of file Teko_PresLaplaceLSCStrategy.cpp.

Teuchos::RCP< Teuchos::ParameterList > Teko::NS::PresLaplaceLSCStrategy::getRequestedParameters ( ) const [virtual]

For assiting in construction of the preconditioner.

Reimplemented from Teko::NS::LSCStrategy.

Definition at line 336 of file Teko_PresLaplaceLSCStrategy.cpp.

bool Teko::NS::PresLaplaceLSCStrategy::updateRequestedParameters ( const Teuchos::ParameterList &  pl) [virtual]

For assiting in construction of the preconditioner.

Reimplemented from Teko::NS::LSCStrategy.

Definition at line 366 of file Teko_PresLaplaceLSCStrategy.cpp.

void Teko::NS::PresLaplaceLSCStrategy::initializeState ( const BlockedLinearOp &  A,
LSCPrecondState state 
) const [virtual]

Initialize the state object using this blocked linear operator.

Definition at line 168 of file Teko_PresLaplaceLSCStrategy.cpp.

void Teko::NS::PresLaplaceLSCStrategy::computeInverses ( const BlockedLinearOp &  A,
LSCPrecondState state 
) const

Compute the inverses required for the LSC Schur complement

Note:
This method assumes that the BQBt and BHBt operators have been constructed.

Definition at line 244 of file Teko_PresLaplaceLSCStrategy.cpp.

virtual void Teko::NS::PresLaplaceLSCStrategy::setEigSolveParam ( int  sz) [inline, virtual]

Set the number of power series iterations to use when finding the spectral radius.

Definition at line 192 of file Teko_PresLaplaceLSCStrategy.hpp.

virtual int Teko::NS::PresLaplaceLSCStrategy::getEigSolveParam ( ) [inline, virtual]

Return the number of power series iterations to use when finding the spectral radius.

Definition at line 195 of file Teko_PresLaplaceLSCStrategy.hpp.

virtual void Teko::NS::PresLaplaceLSCStrategy::setUseFullLDU ( bool  val) [inline, virtual]

Set to true to use the Full LDU decomposition, false otherwise.

Definition at line 198 of file Teko_PresLaplaceLSCStrategy.hpp.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables