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

Strategy for computing implementation of the Pressure convection diffusion preconditioner. More...

#include <Teko_PCDStrategy.hpp>

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

Public Member Functions

 PCDStrategy ()
 default Constructor More...
 
 PCDStrategy (const Teuchos::RCP< InverseFactory > &invFA, const Teuchos::RCP< InverseFactory > &invS)
 Constructor to set the inverse factories. More...
 
virtual ~PCDStrategy ()
 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...
 
virtual Teuchos::RCP
< Teuchos::ParameterList > 
getRequestedParameters () const
 Request the additional parameters this preconditioner factory needs. More...
 
virtual bool updateRequestedParameters (const Teuchos::ParameterList &pl)
 Update this object with the fields from a parameter list. More...
 
- Public Member Functions inherited from Teko::LU2x2Strategy
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 ()
 

Protected Attributes

Teuchos::RCP
< Teuchos::ParameterList > 
lapParams_
 Passed to application for construction of laplace operator. More...
 
Teuchos::RCP
< Teuchos::ParameterList > 
pcdParams_
 Passed to application for construction of PCD operator. More...
 

Detailed Description

Strategy for computing implementation of the Pressure convection diffusion preconditioner.

This requires the user to add a "PCD Operator", "Pressure Laplace Operator" and "Press Mass Operators" into the preconditioner state. The user is notified by boolean fields returned from the requested paramters list.

Definition at line 29 of file Teko_PCDStrategy.hpp.

Constructor & Destructor Documentation

Teko::NS::PCDStrategy::PCDStrategy ( )

default Constructor

Definition at line 39 of file Teko_PCDStrategy.cpp.

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

Constructor to set the inverse factories.

Definition at line 50 of file Teko_PCDStrategy.cpp.

virtual Teko::NS::PCDStrategy::~PCDStrategy ( )
inlinevirtual

Destructor (does nothing)

Definition at line 38 of file Teko_PCDStrategy.hpp.

Member Function Documentation

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

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

Implements Teko::LU2x2Strategy.

Definition at line 66 of file Teko_PCDStrategy.cpp.

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

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

Implements Teko::LU2x2Strategy.

Definition at line 74 of file Teko_PCDStrategy.cpp.

const Teko::LinearOp Teko::NS::PCDStrategy::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 83 of file Teko_PCDStrategy.cpp.

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

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

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.

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 196 of file Teko_PCDStrategy.cpp.

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

Request the additional parameters this preconditioner factory needs.

For assiting in construction of the preconditioner.

Request the additonal parameters needed by this preconditioner factory. The parameter list will have a set of fields that can be filled with the requested values. These fields include all requirements, even those of the sub-solvers if there are any. Once correctly filled the object can be updated by calling the updateRequestedParameters with the filled parameter list.

For the PCD strategy the following fields are required to be set to true, they are passed to the user as false. The user acknowledges that the operators are required by updating the parameters to true.

  • <ParameterList name="PCD Operator" type="bool" value="false">
  • <ParameterList name="Pressure Laplace Operator" type="bool" value="false">
  • <ParameterList name="Pressure Mass Operator" type="bool" value="false">
Returns
A parameter list with the requested parameters.
Note
The default implementation returns Teuchos::null.

Reimplemented from Teko::LU2x2Strategy.

Definition at line 284 of file Teko_PCDStrategy.cpp.

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

Update this object with the fields from a parameter list.

For assiting in construction of the preconditioner.

Update the requested fields using a parameter list. This method is expected to pair with the getRequestedParameters method (i.e. the fields requested are going to be update using this method).

For the PCD strategy the following fields are required to be set to true. Essentially, the user is acknowledging that the operators are required.

  • <ParameterList name="PCD Operator" type="bool" value="true">
  • <ParameterList name="Pressure Laplace Operator" type="bool" value="true">
  • <ParameterList name="Pressure Mass Operator" type="bool" value="true">
Parameters
[in]plParameter list containing the requested parameters.
Returns
If the method succeeded (found all its required parameters) this method returns true, otherwise it returns false.
Note
The default implementation returns true (it does nothing!).

Reimplemented from Teko::LU2x2Strategy.

Definition at line 291 of file Teko_PCDStrategy.cpp.

void Teko::NS::PCDStrategy::buildTimers ( )
staticprotected

Build timers for this type of object.

Definition at line 25 of file Teko_PCDStrategy.cpp.

void Teko::NS::PCDStrategy::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 90 of file Teko_PCDStrategy.cpp.

Member Data Documentation

Teuchos::RCP<Teuchos::ParameterList> Teko::NS::PCDStrategy::lapParams_
protected

Passed to application for construction of laplace operator.

Definition at line 132 of file Teko_PCDStrategy.hpp.

Teuchos::RCP<Teuchos::ParameterList> Teko::NS::PCDStrategy::pcdParams_
protected

Passed to application for construction of PCD operator.

Definition at line 135 of file Teko_PCDStrategy.hpp.


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