Abstract class for building an inverse operator.
More...
#include <Teko_InverseFactory.hpp>
|
virtual InverseLinearOp | buildInverse (const LinearOp &linearOp) const =0 |
| Build an inverse operator.
|
|
virtual InverseLinearOp | buildInverse (const LinearOp &linearOp, const LinearOp &) const |
| Build a preconditioned inverse operator.
|
|
virtual void | rebuildInverse (const LinearOp &source, InverseLinearOp &dest) const =0 |
| Pass in an already constructed inverse operator. Update the inverse operator based on the new source operator.
|
|
virtual void | rebuildInverse (const LinearOp &source, const LinearOp &, InverseLinearOp &dest) const |
| Pass in an already constructed inverse operator. Update the inverse operator based on the new source operator.
|
|
virtual Teuchos::RCP< const Teuchos::ParameterList > | getParameterList () const =0 |
| A function that permits inspection of the parameters used to create this object.
|
|
virtual std::string | toString () const =0 |
|
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) |
| Set the request handler with pointers to the appropriate callbacks.
|
|
Teuchos::RCP< RequestHandler > | getRequestHandler () const |
| Get the request handler with pointers to the appropriate callbacks.
|
|
|
(Note that these are not member symbols.)
|
InverseLinearOp | buildInverse (const InverseFactory &factory, const LinearOp &A, const LinearOp &precOp) |
|
void | rebuildInverse (const InverseFactory &factory, const LinearOp &A, const LinearOp &precOp, InverseLinearOp &invA) |
|
|
InverseLinearOp | buildInverse (const InverseFactory &factory, const LinearOp &A) |
|
InverseLinearOp | buildInverse (const InverseFactory &factory, const LinearOp &A, const LinearOp &precOp) |
|
void | rebuildInverse (const InverseFactory &factory, const LinearOp &A, InverseLinearOp &invA) |
|
void | rebuildInverse (const InverseFactory &factory, const LinearOp &A, const LinearOp &precOp, InverseLinearOp &invA) |
|
Teuchos::RCP< InverseFactory > | invFactoryFromParamList (const Teuchos::ParameterList &list, const std::string &type) |
| Build an InverseFactory object from a ParameterList, as specified in Stratimikos.
|
|
Teuchos::RCP< const Teuchos::ParameterList > | invFactoryValidParameters () |
| Get a valid parameter list for the inverse factory class.
|
|
Abstract class for building an inverse operator.
Abstract class for building an inverse operator. It pairs with a linear operator and gives you a new operator that behaves like its inverse.
Definition at line 71 of file Teko_InverseFactory.hpp.
◆ buildInverse() [1/2]
virtual InverseLinearOp Teko::InverseFactory::buildInverse |
( |
const LinearOp & | linearOp | ) |
const |
|
pure virtual |
Build an inverse operator.
Build the inverse operator using this factory.
- Parameters
-
[in] | linearOp | Linear operator needing to be inverted. |
- Returns
- New linear operator that functions as the inverse of
linearOp
.
◆ buildInverse() [2/2]
virtual InverseLinearOp Teko::InverseFactory::buildInverse |
( |
const LinearOp & | linearOp, |
|
|
const LinearOp & | ) const |
|
inlinevirtual |
Build a preconditioned inverse operator.
Build the inverse operator using this factory and a user specified preconditioning operator. The default behavior is to call buildInverse ignoring the preconditioner.
- Parameters
-
[in] | linearOp | Linear operator needing to be inverted. |
[in] | precOp | Preconditioning operator |
- Returns
- New linear operator that functions as the inverse of
linearOp
.
Definition at line 98 of file Teko_InverseFactory.hpp.
◆ rebuildInverse() [1/2]
virtual void Teko::InverseFactory::rebuildInverse |
( |
const LinearOp & | source, |
|
|
InverseLinearOp & | dest ) const |
|
pure virtual |
Pass in an already constructed inverse operator. Update the inverse operator based on the new source operator.
Pass in an already constructed inverse operator. Update the inverse operator based on the new source operator.
- Parameters
-
[in] | source | Source operator to be inverted. |
[in,out] | dest | Pre constructed inverse operator to be rebuilt using the source object. |
◆ rebuildInverse() [2/2]
virtual void Teko::InverseFactory::rebuildInverse |
( |
const LinearOp & | source, |
|
|
const LinearOp & | , |
|
|
InverseLinearOp & | dest ) const |
|
inlinevirtual |
Pass in an already constructed inverse operator. Update the inverse operator based on the new source operator.
Pass in an already constructed inverse operator. Update the inverse operator based on the new source operator.
- Parameters
-
[in] | source | Source operator to be inverted. |
[in] | precOp | Preconditioning operator |
[in,out] | dest | Pre constructed inverse operator to be rebuilt using the source object. |
Definition at line 161 of file Teko_InverseFactory.hpp.
◆ getParameterList()
virtual Teuchos::RCP< const Teuchos::ParameterList > Teko::InverseFactory::getParameterList |
( |
| ) |
const |
|
pure virtual |
A function that permits inspection of the parameters used to create this object.
A function that permits inspection of the parameters used to create this object. Useful for determining defaults and settings used.
- Returns
- A list used to parameterize this object.
◆ toString()
virtual std::string Teko::InverseFactory::toString |
( |
| ) |
const |
|
pure virtual |
Return a string that describes this factory
◆ getRequestedParameters()
virtual Teuchos::RCP< Teuchos::ParameterList > Teko::InverseFactory::getRequestedParameters |
( |
| ) |
const |
|
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.
- Returns
- A parameter list with the requested parameters.
- Note
- The default implementation returns Teuchos::null.
Definition at line 191 of file Teko_InverseFactory.hpp.
◆ updateRequestedParameters()
virtual bool Teko::InverseFactory::updateRequestedParameters |
( |
const Teuchos::ParameterList & | | ) |
|
|
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).
- Parameters
-
[in] | pl | Parameter 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!).
Definition at line 207 of file Teko_InverseFactory.hpp.
◆ setRequestHandler()
void Teko::InverseFactory::setRequestHandler |
( |
const Teuchos::RCP< RequestHandler > & | rh | ) |
|
|
inlinevirtual |
◆ getRequestHandler()
Teuchos::RCP< RequestHandler > Teko::InverseFactory::getRequestHandler |
( |
| ) |
const |
|
inlinevirtual |
◆ buildInverse() [1/3]
InverseLinearOp buildInverse |
( |
const InverseFactory & | factory, |
|
|
const LinearOp & | A, |
|
|
const LinearOp & | precOp ) |
|
related |
Build an inverse operator using a factory and a linear operator
- Parameters
-
[in] | factory | The inverse factory used to construct the inverse operator |
[in] | precOp | Preconditioning operator |
[in] | A | Linear operator whose inverse is required |
- Returns
- An (approximate) inverse operator is returned for the operator
A
.
Definition at line 151 of file Teko_InverseFactory.cpp.
◆ rebuildInverse() [1/3]
void rebuildInverse |
( |
const InverseFactory & | factory, |
|
|
const LinearOp & | A, |
|
|
const LinearOp & | precOp, |
|
|
InverseLinearOp & | invA ) |
|
related |
Using a prebuilt linear operator, use factory to build an inverse operator given a new forward operator.
- Note
- This function sometimes fails depending on the underlying type of the inverse factory. Use with caution.
- Parameters
-
[in] | factory | The inverse factory used to construct the inverse operator |
[in] | A | Linear operator whose inverse is required |
[in] | precOp | Preconditioning operator |
[in] | invA | The inverse operator that is to be rebuilt using the A operator. |
Definition at line 212 of file Teko_InverseFactory.cpp.
◆ buildInverse() [2/3]
InverseLinearOp buildInverse |
( |
const InverseFactory & | factory, |
|
|
const LinearOp & | A ) |
|
related |
Build an inverse operator using a factory and a linear operator
- Parameters
-
[in] | factory | The inverse factory used to construct the inverse operator |
[in] | A | Linear operator whose inverse is required |
- Returns
- An (approximate) inverse operator is returned for the operator
A
.
Definition at line 118 of file Teko_InverseFactory.cpp.
◆ buildInverse() [3/3]
InverseLinearOp buildInverse |
( |
const InverseFactory & | factory, |
|
|
const LinearOp & | A, |
|
|
const LinearOp & | precOp ) |
|
related |
Build an inverse operator using a factory and a linear operator
- Parameters
-
[in] | factory | The inverse factory used to construct the inverse operator |
[in] | precOp | Preconditioning operator |
[in] | A | Linear operator whose inverse is required |
- Returns
- An (approximate) inverse operator is returned for the operator
A
.
◆ rebuildInverse() [2/3]
void rebuildInverse |
( |
const InverseFactory & | factory, |
|
|
const LinearOp & | A, |
|
|
InverseLinearOp & | invA ) |
|
related |
Using a prebuilt linear operator, use factory to build an inverse operator given a new forward operator.
- Note
- This function sometimes fails depending on the underlying type of the inverse factory. Use with caution.
- Parameters
-
[in] | factory | The inverse factory used to construct the inverse operator |
[in] | A | Linear operator whose inverse is required |
[in] | invA | The inverse operator that is to be rebuilt using the A operator. |
Definition at line 177 of file Teko_InverseFactory.cpp.
◆ rebuildInverse() [3/3]
void rebuildInverse |
( |
const InverseFactory & | factory, |
|
|
const LinearOp & | A, |
|
|
const LinearOp & | precOp, |
|
|
InverseLinearOp & | invA ) |
|
related |
Using a prebuilt linear operator, use factory to build an inverse operator given a new forward operator.
- Note
- This function sometimes fails depending on the underlying type of the inverse factory. Use with caution.
- Parameters
-
[in] | factory | The inverse factory used to construct the inverse operator |
[in] | A | Linear operator whose inverse is required |
[in] | precOp | Preconditioning operator |
[in] | invA | The inverse operator that is to be rebuilt using the A operator. |
◆ invFactoryFromParamList()
Teuchos::RCP< InverseFactory > invFactoryFromParamList |
( |
const Teuchos::ParameterList & | list, |
|
|
const std::string & | type ) |
|
related |
Build an InverseFactory object from a ParameterList, as specified in Stratimikos.
Build an InverseFactory object from a ParameterList, as specified in Stratimikos. The specific inverse routine (either solver or preconditioner) to be chosen is specified by a string.
- Note
- It is preferred that the
InverseLibrary
is used to construct an InverseFactory
instead.
- Parameters
-
[in] | list | ParameterList that describes the available solvers/preconditioners. |
[in] | type | String saying which solver/preconditioner to use. |
- Returns
- An inverse factory using the specified inverse operation.
Definition at line 243 of file Teko_InverseFactory.cpp.
◆ invFactoryValidParameters()
Teuchos::RCP< const Teuchos::ParameterList > invFactoryValidParameters |
( |
| ) |
|
|
related |
Get a valid parameter list for the inverse factory class.
Get a valid parameter list for the inverse factory class. This will specify the set of parameters for each possible "inverse".
- Note
- It is preferred that the
InverseLibrary
is used to get paramter lists for InverseFactory
construction.
- Returns
- A parameter list is returned that is suitable to be passed to
invFactoryFromParamList
.
Definition at line 280 of file Teko_InverseFactory.cpp.
◆ callbackHandler_
The documentation for this class was generated from the following files: