A class which applies a preconditioner repeatedly. The inherit assumption is that the preconditioner corresponds to a residual correction. More...
#include <Teko_IterativePreconditionerFactory.hpp>

Public Member Functions | |
| IterativePreconditionerFactory () | |
| Default constructor, for use with the AutoClone class. | |
| IterativePreconditionerFactory (unsigned int correctionNum, const Teuchos::RCP< Teko::InverseFactory > &precFactory) | |
| IterativePreconditionerFactory (unsigned int correctionNum, const Teuchos::RCP< Teko::PreconditionerFactory > &precFactory) | |
| 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. | |
| virtual Teuchos::RCP < Teuchos::ParameterList > | getRequestedParameters () const |
| Request the additional parameters this preconditioner factory needs. | |
| virtual bool | updateRequestedParameters (const Teuchos::ParameterList &pl) |
| Update this object with the fields from a parameter list. | |
A class which applies a preconditioner repeatedly. The inherit assumption is that the preconditioner corresponds to a residual correction.
A class which applies a preconditioner repeatedly. The inherit assumption is that the preconditioner corresponds to a residual correction. For a linear operator
preconditioned by
the initial residual correction is

Now because the preconditioner approximates
we have
. This leads to the following residual correction scheme

An additional application of the preconditioner will give the $i^{th}$ correction

This factory takes a preconditioner (or inverse) factory and constructs
, and then applies it, as outlined above, a user specified number of times.
Similar to the other preconditioner in Teko this class can be constructed through an XML file. For example:
<ParameterList name="Iterative Solve"> <Parameter name="Type" type="string" value="Iterative Preconditioner"/> <Parameter name="Preconditioner Type" type="string" value="ML"/> <Parameter name="Iteration Count" type="int" value="3"/> </ParameterList>
Definition at line 97 of file Teko_IterativePreconditionerFactory.hpp.
Default constructor, for use with the AutoClone class.
Definition at line 55 of file Teko_IterativePreconditionerFactory.cpp.
| Teko::IterativePreconditionerFactory::IterativePreconditionerFactory | ( | unsigned int | correctionNum, |
| const Teuchos::RCP< Teko::InverseFactory > & | precFactory | ||
| ) |
Construct a preconditioner factory that applies a specified preconditioner, a fixed number of times.
| [in] | correctionNum | The correction number to be returned by the preconditioner operator. If the preconditioner is only applied once than correctionNum=0 and is returned. |
| [in] | precFactory | Factory used to construct the preconditioner |
Construct a preconditioner factory that applies a specified preconditioner, a fixed number of times.
Definition at line 62 of file Teko_IterativePreconditionerFactory.cpp.
| Teko::IterativePreconditionerFactory::IterativePreconditionerFactory | ( | unsigned int | correctionNum, |
| const Teuchos::RCP< Teko::PreconditionerFactory > & | precFactory | ||
| ) |
Construct a preconditioner factory that applies a specified preconditioner, a fixed number of times.
| [in] | correctionNum | The correction number to be returned by the preconditioner operator. If the preconditioner is only applied once than correctionNum=0 and is returned. |
| [in] | precFactory | Factory used to construct the preconditioner |
Construct a preconditioner factory that applies a specified preconditioner, a fixed number of times.
Definition at line 70 of file Teko_IterativePreconditionerFactory.cpp.
| LinearOp Teko::IterativePreconditionerFactory::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 81 of file Teko_IterativePreconditionerFactory.cpp.
| void Teko::IterativePreconditionerFactory::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 113 of file Teko_IterativePreconditionerFactory.cpp.
| Teuchos::RCP< Teuchos::ParameterList > Teko::IterativePreconditionerFactory::getRequestedParameters | ( | ) | const [virtual] |
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 from Teko::PreconditionerFactory.
Definition at line 137 of file Teko_IterativePreconditionerFactory.cpp.
| bool Teko::IterativePreconditionerFactory::updateRequestedParameters | ( | const Teuchos::ParameterList & | pl | ) | [virtual] |
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 from Teko::PreconditionerFactory.
Definition at line 148 of file Teko_IterativePreconditionerFactory.cpp.
1.7.6.1