![]() |
LifeV
|
Preconditioner - Abstract preconditioner class. More...
#include <Preconditioner.hpp>
Inheritance diagram for Preconditioner:
Collaboration diagram for Preconditioner:Protected Attributes | |
| std::string | M_precType |
| Displayer | M_displayer |
| list_Type | M_list |
| bool | M_preconditionerCreated |
Public Types | |
| typedef Epetra_Operator | prec_raw_type |
| typedef std::shared_ptr< prec_raw_type > | prec_type |
| typedef MatrixEpetra< Real > | operator_raw_type |
| typedef std::shared_ptr< operator_raw_type > | operator_type |
| typedef Displayer::comm_Type | comm_Type |
| typedef Displayer::commPtr_Type | commPtr_Type |
| typedef Teuchos::ParameterList | list_Type |
Constructors & Destructor | |
| Preconditioner (const commPtr_Type &comm=commPtr_Type()) | |
| Constructor. More... | |
| Preconditioner (const Preconditioner &preconditioner, const commPtr_Type &comm=commPtr_Type()) | |
| Copy constructor. More... | |
| virtual | ~Preconditioner () |
| Destructor. More... | |
Methods | |
| virtual void | createParametersList (list_Type &list, const GetPot &dataFile, const std::string §ion, const std::string &subSection)=0 |
| Create the list of parameters of the preconditioner. More... | |
| virtual Int | buildPreconditioner (operator_type &matrix)=0 |
| Build a preconditioner based on the given matrix. More... | |
| virtual void | resetPreconditioner ()=0 |
| Reset the preconditioner. More... | |
| virtual Real | condest ()=0 |
| Return An estimation of the condition number of the preconditioner. More... | |
| virtual void | showMe (std::ostream &output=std::cout) const |
| Show informations about the preconditioner. More... | |
Epetra Operator Interface Methods | |
| virtual Int | SetUseTranspose (const bool useTranspose=false) |
| Set the matrix to be used transposed (or not) More... | |
| virtual bool | UseTranspose () |
| Return true if the preconditioner is transposed. More... | |
| virtual Int | Apply (const Epetra_MultiVector &vector1, Epetra_MultiVector &vector2) const |
| Apply the inverse of the preconditioner on vector1 and store the result in vector2. More... | |
| virtual Int | ApplyInverse (const Epetra_MultiVector &vector1, Epetra_MultiVector &vector2) const |
| Apply the inverse of the preconditioner on vector1 and store the result in vector2. More... | |
| virtual const Epetra_Map & | OperatorRangeMap () const |
| Return the Range map of the operator. More... | |
| virtual const Epetra_Map & | OperatorDomainMap () const |
| Return the Domain map of the operator. More... | |
Set Methods | |
| void | setParametersList (const list_Type &list) |
| The the internal list. More... | |
| virtual void | setDataFromGetPot (const GetPot &dataFile, const std::string §ion)=0 |
| Set the data of the preconditioner using a GetPot object. More... | |
| virtual void | setSolver (SolverAztecOO &) |
| Set the internal solver. More... | |
Get Methods | |
| const bool & | preconditionerCreated () |
| Return true if the preconditioner has been created. More... | |
| virtual prec_raw_type * | preconditioner ()=0 |
| Return a raw pointer on the preconditioner. More... | |
| virtual prec_type | preconditionerPtr ()=0 |
| Return a shared pointer on the preconditioner. More... | |
| virtual std::string | preconditionerType ()=0 |
| Return the type of preconditioner. More... | |
| const list_Type & | parametersList () const |
| Return the parameters list. More... | |
| list_Type & | parametersList () |
| Return the parameters list. More... | |
Preconditioner - Abstract preconditioner class.
Definition at line 64 of file Preconditioner.hpp.
| typedef Epetra_Operator prec_raw_type |
Definition at line 71 of file Preconditioner.hpp.
| typedef std::shared_ptr<prec_raw_type> prec_type |
Definition at line 72 of file Preconditioner.hpp.
| typedef MatrixEpetra<Real> operator_raw_type |
Definition at line 74 of file Preconditioner.hpp.
| typedef std::shared_ptr<operator_raw_type> operator_type |
Definition at line 75 of file Preconditioner.hpp.
| typedef Displayer::comm_Type comm_Type |
Definition at line 77 of file Preconditioner.hpp.
| typedef Displayer::commPtr_Type commPtr_Type |
Definition at line 78 of file Preconditioner.hpp.
| typedef Teuchos::ParameterList list_Type |
Definition at line 80 of file Preconditioner.hpp.
| Preconditioner | ( | const commPtr_Type & | comm = commPtr_Type() | ) |
Constructor.
| comm | Comminicator |
Definition at line 47 of file Preconditioner.cpp.
Here is the caller graph for this function:| Preconditioner | ( | const Preconditioner & | preconditioner, |
| const commPtr_Type & | comm = commPtr_Type() |
||
| ) |
Copy constructor.
| preconditioner | Preconditioner |
| comm | Comminicator |
Definition at line 56 of file Preconditioner.cpp.
|
virtual |
Destructor.
Definition at line 65 of file Preconditioner.cpp.
|
pure virtual |
Create the list of parameters of the preconditioner.
| list | A Parameter list to be filled |
| dataFile | A GetPot object containing the data about the preconditioner |
| section | The section in "dataFile" where to find data about the preconditioner |
| subSection | The subsection in "dataFile" where to find data about the preconditioner |
Implemented in PreconditionerIfpack, PreconditionerLinearSolver, PreconditionerML, PreconditionerComposed, PreconditionerPCD, PreconditionerSIMPLE, PreconditionerComposition, PreconditionerYosida, and PreconditionerAztecOO.
|
pure virtual |
Build a preconditioner based on the given matrix.
| matrix | Matrix upon which construct the preconditioner |
Implemented in PreconditionerLinearSolver, PreconditionerIfpack, PreconditionerML, and PreconditionerAztecOO.
|
pure virtual |
Reset the preconditioner.
Implemented in PreconditionerLinearSolver, PreconditionerComposed, PreconditionerComposition, PreconditionerIfpack, PreconditionerML, and PreconditionerAztecOO.
|
pure virtual |
Return An estimation of the condition number of the preconditioner.
Implemented in PreconditionerML, PreconditionerIfpack, PreconditionerLinearSolver, PreconditionerComposition, PreconditionerPCD, PreconditionerSIMPLE, PreconditionerComposed, PreconditionerYosida, and PreconditionerAztecOO.
|
virtual |
Show informations about the preconditioner.
Reimplemented in PreconditionerML, PreconditionerIfpack, PreconditionerLinearSolver, and PreconditionerAztecOO.
Definition at line 100 of file Preconditioner.cpp.
|
virtual |
Set the matrix to be used transposed (or not)
| useTranspose | If true the preconditioner is transposed |
Reimplemented in PreconditionerML, PreconditionerIfpack, PreconditionerLinearSolver, PreconditionerComposed, and PreconditionerComposition.
Definition at line 79 of file Preconditioner.cpp.
|
virtual |
Return true if the preconditioner is transposed.
Reimplemented in PreconditionerML, PreconditionerIfpack, PreconditionerLinearSolver, PreconditionerComposed, and PreconditionerComposition.
Definition at line 142 of file Preconditioner.cpp.
|
virtual |
Apply the inverse of the preconditioner on vector1 and store the result in vector2.
| vector1 | Vector to which we apply the preconditioner |
| vector2 | Vector to the store the result |
Reimplemented in PreconditionerComposed, PreconditionerLinearSolver, PreconditionerML, PreconditionerIfpack, and PreconditionerComposition.
Definition at line 86 of file Preconditioner.cpp.
|
virtual |
Apply the inverse of the preconditioner on vector1 and store the result in vector2.
| vector1 | Vector to which we apply the preconditioner |
| vector2 | Vector to the store the result |
Reimplemented in PreconditionerLinearSolver, PreconditionerComposed, PreconditionerIfpack, PreconditionerML, and PreconditionerComposition.
Definition at line 93 of file Preconditioner.cpp.
|
virtual |
Return the Range map of the operator.
Reimplemented in PreconditionerML, PreconditionerIfpack, PreconditionerComposed, PreconditionerLinearSolver, and PreconditionerComposition.
Definition at line 149 of file Preconditioner.cpp.
|
virtual |
Return the Domain map of the operator.
Reimplemented in PreconditionerML, PreconditionerIfpack, PreconditionerComposed, PreconditionerLinearSolver, and PreconditionerComposition.
Definition at line 157 of file Preconditioner.cpp.
| void setParametersList | ( | const list_Type & | list | ) |
The the internal list.
| list | List to be set into the preconditioner |
Definition at line 109 of file Preconditioner.cpp.
|
pure virtual |
Set the data of the preconditioner using a GetPot object.
| dataFile | A GetPot object containing the data about the preconditioner |
| section | The section in "dataFile" where to find data about the preconditioner |
Implemented in PreconditionerLinearSolver, PreconditionerML, PreconditionerIfpack, PreconditionerComposition, PreconditionerPCD, PreconditionerSIMPLE, PreconditionerYosida, PreconditionerAztecOO, and PreconditionerComposed.
|
virtual |
Set the internal solver.
Note: the argument is unused
| solver | SolverAztecOO |
Reimplemented in PreconditionerLinearSolver, and PreconditionerAztecOO.
Definition at line 115 of file Preconditioner.cpp.
| const bool & preconditionerCreated | ( | ) |
Return true if the preconditioner has been created.
Definition at line 124 of file Preconditioner.cpp.
|
pure virtual |
Return a raw pointer on the preconditioner.
Implemented in PreconditionerLinearSolver, PreconditionerML, PreconditionerComposed, PreconditionerIfpack, PreconditionerComposition, and PreconditionerAztecOO.
|
pure virtual |
Return a shared pointer on the preconditioner.
Implemented in PreconditionerLinearSolver, PreconditionerML, PreconditionerComposed, PreconditionerIfpack, PreconditionerComposition, and PreconditionerAztecOO.
|
pure virtual |
Return the type of preconditioner.
Implemented in PreconditionerLinearSolver, PreconditionerComposed, PreconditionerML, PreconditionerComposition, PreconditionerIfpack, and PreconditionerAztecOO.
| const Preconditioner::list_Type & parametersList | ( | ) | const |
Return the parameters list.
Definition at line 130 of file Preconditioner.cpp.
Here is the caller graph for this function:| Preconditioner::list_Type & parametersList | ( | ) |
Return the parameters list.
Definition at line 136 of file Preconditioner.cpp.
|
protected |
Definition at line 226 of file Preconditioner.hpp.
|
protected |
Definition at line 227 of file Preconditioner.hpp.
|
protected |
Definition at line 228 of file Preconditioner.hpp.
|
protected |
Definition at line 229 of file Preconditioner.hpp.