Strategy for computing implementation of the Pressure convection diffusion preconditioner. More...
#include <Teko_PCDStrategy.hpp>
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< RequestHandler > | getRequestHandler () 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... | |
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 66 of file Teko_PCDStrategy.hpp.
Teko::NS::PCDStrategy::PCDStrategy | ( | ) |
default Constructor
Definition at line 77 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 89 of file Teko_PCDStrategy.cpp.
|
inlinevirtual |
Destructor (does nothing)
Definition at line 76 of file Teko_PCDStrategy.hpp.
|
virtual |
returns the first (approximate) inverse of
Implements Teko::LU2x2Strategy.
Definition at line 104 of file Teko_PCDStrategy.cpp.
|
virtual |
returns the second (approximate) inverse of
Implements Teko::LU2x2Strategy.
Definition at line 113 of file Teko_PCDStrategy.cpp.
|
virtual |
returns an (approximate) inverse of
Implements Teko::LU2x2Strategy.
Definition at line 122 of file Teko_PCDStrategy.cpp.
|
virtual |
This function builds the internals of the state from a parameter list.
[in] | settings | Parameter list to use as the internal settings |
[in] | invLib | Inverse library to use for building inverse factory objects |
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 from Teko::LU2x2Strategy.
Definition at line 236 of file Teko_PCDStrategy.cpp.
|
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.
Reimplemented from Teko::LU2x2Strategy.
Definition at line 316 of file Teko_PCDStrategy.cpp.
|
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.
[in] | pl | Parameter list containing the requested parameters. |
Reimplemented from Teko::LU2x2Strategy.
Definition at line 324 of file Teko_PCDStrategy.cpp.
|
staticprotected |
Build timers for this type of object.
Definition at line 62 of file Teko_PCDStrategy.cpp.
|
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.
[in] | A | Operator to intialize with. |
[in] | state | Storage object for this operator. |
Definition at line 129 of file Teko_PCDStrategy.cpp.
|
protected |
Passed to application for construction of laplace operator.
Definition at line 169 of file Teko_PCDStrategy.hpp.
|
protected |
Passed to application for construction of PCD operator.
Definition at line 172 of file Teko_PCDStrategy.hpp.