Teko Version of the Day
|
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>
Constructors | |
Teuchos::RCP< InverseFactory > | invFactoryV_ |
Teuchos::RCP< InverseFactory > | invFactoryP_ |
bool | isSymmetric_ |
int | eigSolveParam_ |
bool | useFullLDU_ |
bool | useMass_ |
DiagonalType | scaleType_ |
PresLaplaceLSCStrategy () | |
PresLaplaceLSCStrategy (const Teuchos::RCP< InverseFactory > &factory) | |
PresLaplaceLSCStrategy (const Teuchos::RCP< InverseFactory > &invFactF, const Teuchos::RCP< InverseFactory > &invFactS) | |
virtual | ~PresLaplaceLSCStrategy () |
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 &, BlockPreconditionerState &) 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. | |
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. | |
static std::string | getPressureLaplaceString () |
static std::string | getVelocityMassString () |
Additional Inherited Members | |
![]() | |
virtual void | buildState (BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
virtual LinearOp | getInvBQBt (const BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
virtual LinearOp | getInvBHBt (const BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
virtual LinearOp | getInvF (const BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
virtual LinearOp | getOuterStabilization (const BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
virtual LinearOp | getInnerStabilization (const BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
virtual LinearOp | getInvMass (const BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
virtual LinearOp | getHScaling (const BlockedLinearOp &A, BlockPreconditionerState &state) const =0 |
virtual bool | useFullLDU () const =0 |
virtual void | setSymmetric (bool isSymmetric)=0 |
virtual void | initializeFromParameterList (const Teuchos::ParameterList &, const InverseLibrary &) |
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 &) |
For assiting in construction of the preconditioner. | |
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. | |
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.
|
virtual |
Functions inherited from LSCStrategy.
This informs the strategy object to build the state associated with this operator.
[in] | A | The linear operator to be preconditioned by LSC. |
[in] | state | State object for storying reusable information about the operator A. |
Implements Teko::NS::LSCStrategy.
Definition at line 89 of file Teko_PresLaplaceLSCStrategy.cpp.
|
virtual |
Get the inverse of
[in] | A | The linear operator to be preconditioned by LSC. |
[in] | state | State object for storying reusable information about the operator A. |
Implements Teko::NS::LSCStrategy.
Definition at line 125 of file Teko_PresLaplaceLSCStrategy.cpp.
|
virtual |
Get the inverse of
[in] | A | The linear operator to be preconditioned by LSC. |
[in] | state | State object for storying reusable information about the operator A. |
Implements Teko::NS::LSCStrategy.
Definition at line 130 of file Teko_PresLaplaceLSCStrategy.cpp.
|
virtual |
Get the inverse of the
[in] | A | The linear operator to be preconditioned by LSC. |
[in] | state | State object for storying reusable information about the operator A. |
Implements Teko::NS::LSCStrategy.
Definition at line 135 of file Teko_PresLaplaceLSCStrategy.cpp.
|
virtual |
Get the inverse for stabilizing the whole schur complement approximation.
[in] | A | The linear operator to be preconditioned by LSC. |
[in] | state | State object for storying reusable information about the operator A. |
Implements Teko::NS::LSCStrategy.
Definition at line 141 of file Teko_PresLaplaceLSCStrategy.cpp.
|
inlinevirtual |
Get the inverse to stablized stabilizing the Schur complement approximation using a placement on the `‘inside’'. That is what is the value for
[in] | A | The linear operator to be preconditioned by LSC. |
[in] | state | State object for storying reusable information about the operator A. |
Implements Teko::NS::LSCStrategy.
Definition at line 131 of file Teko_PresLaplaceLSCStrategy.hpp.
|
virtual |
Get the inverse mass matrix.
[in] | A | The linear operator to be preconditioned by LSC. |
[in] | state | State object for storying reusable information about the operator A. |
Implements Teko::NS::LSCStrategy.
Definition at line 150 of file Teko_PresLaplaceLSCStrategy.cpp.
|
virtual |
Get the
[in] | A | The linear operator to be preconditioned by LSC. |
[in] | state | State object for storying reusable information about the operator A. |
Implements Teko::NS::LSCStrategy.
Definition at line 159 of file Teko_PresLaplaceLSCStrategy.cpp.
|
inlinevirtual |
Should the approximation of the inverse use a full LDU decomposition, or is a upper triangular approximation sufficient.
Implements Teko::NS::LSCStrategy.
Definition at line 160 of file Teko_PresLaplaceLSCStrategy.hpp.
|
inlinevirtual |
Tell strategy that this operator is supposed to be symmetric. Behavior of LSC is slightly different for non-symmetric case.
[in] | isSymmetric | Is this operator symmetric? |
Implements Teko::NS::LSCStrategy.
Definition at line 167 of file Teko_PresLaplaceLSCStrategy.hpp.
|
virtual |
Initialize from a parameter list.
Reimplemented from Teko::NS::LSCStrategy.
Definition at line 282 of file Teko_PresLaplaceLSCStrategy.cpp.
|
virtual |
For assiting in construction of the preconditioner.
Reimplemented from Teko::NS::LSCStrategy.
Definition at line 333 of file Teko_PresLaplaceLSCStrategy.cpp.
|
virtual |
For assiting in construction of the preconditioner.
Reimplemented from Teko::NS::LSCStrategy.
Definition at line 363 of file Teko_PresLaplaceLSCStrategy.cpp.
|
virtual |
Initialize the state object using this blocked linear operator.
Definition at line 165 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
Definition at line 241 of file Teko_PresLaplaceLSCStrategy.cpp.
|
inlinevirtual |
Set the number of power series iterations to use when finding the spectral radius.
Definition at line 192 of file Teko_PresLaplaceLSCStrategy.hpp.
|
inlinevirtual |
Return the number of power series iterations to use when finding the spectral radius.
Definition at line 195 of file Teko_PresLaplaceLSCStrategy.hpp.
|
inlinevirtual |
Set to true to use the Full LDU decomposition, false otherwise.
Definition at line 198 of file Teko_PresLaplaceLSCStrategy.hpp.