|
Teko Version of the Day
|
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. | |
| virtual Teuchos::RCP< Teuchos::ParameterList > | getRequestedParameters () const |
| Request the additional parameters this preconditioner factory needs. | |
| virtual bool | updateRequestedParameters (const Teuchos::ParameterList &) |
| Update this object with the fields from a parameter list. | |
| void | setRequestHandler (const Teuchos::RCP< RequestHandler > &rh) |
| This method sets the request handler for this object. | |
| Teuchos::RCP< RequestHandler > | getRequestHandler () const |
| This method gets the request handler uses by this object. | |
Abstract strategy for computing inv(F) and inv(S) in the LU2x2PreconditionerFactory.
This should be paired with a LU2x2PreconditionerFactory, it build the 

![$A = \left[
\begin{array}{cc}
A_{00} & A_{01} \\
A_{10} & A_{11}
\end{array}
\right]
$](form_111.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_112.png)
where the Shur complement is 



Definition at line 65 of file Teko_LU2x2Strategy.hpp.
|
pure virtual |
returns the first (approximate) inverse of 
Implemented in Teko::LU2x2DiagonalStrategy, Teko::NS::PCDStrategy, and Teko::StaticLU2x2Strategy.
|
pure virtual |
returns the scond (approximate) inverse of 
Implemented in Teko::LU2x2DiagonalStrategy, Teko::NS::PCDStrategy, and Teko::StaticLU2x2Strategy.
|
pure virtual |
returns an (approximate) inverse of 
Implemented in Teko::LU2x2DiagonalStrategy, Teko::NS::PCDStrategy, and Teko::StaticLU2x2Strategy.
|
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 92 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 109 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 126 of file Teko_LU2x2Strategy.hpp.
|
inline |
This method sets the request handler for this object.
Definition at line 129 of file Teko_LU2x2Strategy.hpp.
|
inline |
This method gets the request handler uses by this object.
Definition at line 132 of file Teko_LU2x2Strategy.hpp.