Using an absolute row sum approximation of the matrix this factory creates an inverse using the explicity scaled matrix. The inverse of the scaling operation is automatically applied. More...
#include <Teko_DiagonallyScaledPreconditionerFactory.hpp>

Public Member Functions | |
| DiagonallyScaledPreconditionerFactory () | |
| Default constructor, for use with the AutoClone class. | |
| DiagonallyScaledPreconditionerFactory (const Teuchos::RCP< Teko::InverseFactory > &invFactory, ScalingType columnScaling=COLUMN_SCALING, DiagonalType diagonalType=AbsRowSum) | |
| virtual | ~DiagonallyScaledPreconditionerFactory () |
| default destructor: prints out diagnostic string | |
| virtual LinearOp | buildPreconditionerOperator (LinearOp &lo, PreconditionerState &state) const |
| Function that is called to build the preconditioner for the linear operator that is passed in. | |
Methods for construction from a parameter list entry | |
| virtual void | initializeFromParameterList (const Teuchos::ParameterList &settings) |
| This function builds the internals of the preconditioner factory from a parameter list. | |
Using an absolute row sum approximation of the matrix this factory creates an inverse using the explicity scaled matrix. The inverse of the scaling operation is automatically applied.
The current behavior for this factory on an operator
is to compute the absolute row sum of
and define the scaling matrix
. Then explicitly right muliply by
(
is not modified, and invert the linear system
using the user specified inverse factory. Then the scaling is removed by second (implicit) multiplication by
. Thus the operator returned by the factory is
.
For construction purposes this class can be initialized using a parameter list. Most often used in conjuncition with an InverseLibrary object. In particular the relevant parameters are
<Parameter name="Type" type="string" value="Diagonal Scaling"/> <Parameter name="Inverse Factory" type="string" value="<Some Inverse Factory>"/> <Parameter name="Scaling Type" type="string" value="<Row,Column>"/> <!-- Row is default --> <Parameter name="Diagonal Type" type="string" value="<AbsRowSum,Diagonal,Lumped>"/> <!-- AbsRowSum is default -->
Definition at line 83 of file Teko_DiagonallyScaledPreconditionerFactory.hpp.
Default constructor, for use with the AutoClone class.
Definition at line 55 of file Teko_DiagonallyScaledPreconditionerFactory.cpp.
| Teko::DiagonallyScaledPreconditionerFactory::DiagonallyScaledPreconditionerFactory | ( | const Teuchos::RCP< Teko::InverseFactory > & | invFactory, |
| ScalingType | scalingType = COLUMN_SCALING, |
||
| DiagonalType | diagonalType = AbsRowSum |
||
| ) |
Construct a preconditioner factory that scales the operator.
| [in] | invFactory | Factory to perform the inverse |
Construct a preconditioner factory that applies a specified preconditioner, a fixed number of times.
Definition at line 62 of file Teko_DiagonallyScaledPreconditionerFactory.cpp.
default destructor: prints out diagnostic string
Definition at line 68 of file Teko_DiagonallyScaledPreconditionerFactory.cpp.
| LinearOp Teko::DiagonallyScaledPreconditionerFactory::buildPreconditionerOperator | ( | LinearOp & | lo, |
| PreconditionerState & | state | ||
| ) | const [virtual] |
Function that is called to build the preconditioner for the linear operator that is passed in.
This function builds a preconditioner based on the passed in LinearOp.
| [in] | lo | Source linear operator that is to be preconditioned. |
| [in] | state | An object associated with this operator to store the preconditioner state. |
Implements Teko::PreconditionerFactory.
Definition at line 75 of file Teko_DiagonallyScaledPreconditionerFactory.cpp.
| void Teko::DiagonallyScaledPreconditionerFactory::initializeFromParameterList | ( | const Teuchos::ParameterList & | settings | ) | [virtual] |
This function builds the internals of the preconditioner factory from a parameter list.
This function builds the internals of the preconditioner factory from a parameter list. Furthermore, it allows a preconditioner factory developer to easily add a factory to the build system. This function is required for building a preconditioner from a parameter list.
| [in] | settings | Parmaeter list to use as the internal settings |
Reimplemented from Teko::PreconditionerFactory.
Definition at line 112 of file Teko_DiagonallyScaledPreconditionerFactory.cpp.
1.7.6.1