Abstract strategy for computing inv(F) and inv(S) in the LU2x2PreconditionerFactory. More...
#include <Teko_LU2x2Strategy.hpp>

Public Member Functions | |
| virtual const Teko::LinearOp | getHatInvA00 (const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
| virtual const Teko::LinearOp | getTildeInvA00 (const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
| virtual const Teko::LinearOp | getInvS (const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
| virtual void | initializeFromParameterList (const Teuchos::ParameterList &, const InverseLibrary &) |
| 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 &) |
| 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< RequestHandler > | getRequestHandler () const |
| This method gets the request handler uses by this object. More... | |
Abstract strategy for computing inv(F) and inv(S) in the LU2x2PreconditionerFactory.
This should be paired with a LU2x2PreconditionerFactory, it build the
and
opreators. Building an approximate inverse of this system
![$ A = \left[ \begin{array}{cc} A_{00} & A_{01} \\ A_{10} & A_{11} \end{array} \right] $](form_106.png)
using a 2x2 block LDU decomposition gives
![$ A = \left[ \begin{array}{cc} I & 0 \\ A_{10} A_{00}^{-1} & I \end{array} \right] \left[ \begin{array}{cc} A_{00} & 0 \\ 0 & -S \end{array} \right] \left[ \begin{array}{cc} I & A_{00}^{-1} A_{01} \\ 0 & I \end{array} \right] $](form_107.png)
where the Shur complement is
To invert
,
and
are required. The idea of this strategy is to give those operators.
Definition at line 103 of file Teko_LU2x2Strategy.hpp.
|
pure virtual |
returns the first (approximate) inverse of
Implemented in Teko::StaticLU2x2Strategy, Teko::NS::PCDStrategy, and Teko::LU2x2DiagonalStrategy.
|
pure virtual |
returns the scond (approximate) inverse of
Implemented in Teko::StaticLU2x2Strategy, Teko::NS::PCDStrategy, and Teko::LU2x2DiagonalStrategy.
|
pure virtual |
returns an (approximate) inverse of
Implemented in Teko::StaticLU2x2Strategy, Teko::NS::PCDStrategy, and Teko::LU2x2DiagonalStrategy.
|
inlinevirtual |
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.
| [in] | settings | Parameter list to use as the internal settings |
| [in] | invLib | Inverse library to use for building inverse factory objects |
Reimplemented in Teko::LU2x2DiagonalStrategy, and Teko::NS::PCDStrategy.
Definition at line 130 of file Teko_LU2x2Strategy.hpp.
|
inlinevirtual |
Request the additional parameters this preconditioner factory needs.
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.
Reimplemented in Teko::NS::PCDStrategy.
Definition at line 148 of file Teko_LU2x2Strategy.hpp.
|
inlinevirtual |
Update this object with the fields from a parameter list.
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).
| [in] | pl | Parameter list containing the requested parameters. |
Reimplemented in Teko::NS::PCDStrategy.
Definition at line 164 of file Teko_LU2x2Strategy.hpp.
|
inline |
This method sets the request handler for this object.
Definition at line 168 of file Teko_LU2x2Strategy.hpp.
|
inline |
This method gets the request handler uses by this object.
Definition at line 172 of file Teko_LU2x2Strategy.hpp.
1.8.5