#include <MLAPI_MultiLevelSA.h>


Public Member Functions | |
| MultiLevelSA (const Operator FineMatrix, Teuchos::ParameterList &List, const bool ConstructNow=true) | |
| Constructs the hierarchy for given Operator and parameters. | |
| virtual | ~MultiLevelSA () |
| Destructor. | |
| const Space | GetOperatorDomainSpace () const |
| Returns a copy of the internally stored domain space. | |
| const Space | GetOperatorRangeSpace () const |
| Returns a copy of the internally stored range space. | |
| const Space | GetDomainSpace () const |
| Returns a copy of the internally stored domain space. | |
| const Space | GetRangeSpace () const |
| Returns a copy of the internally stored range space. | |
| const Operator & | R (const int i) const |
Returns a reference to the restriction operator of level i. | |
| const Operator & | A (const int i) const |
Returns a reference to the operator of level i. | |
| const Operator & | P (const int i) const |
Returns a reference to the prolongator operator of level i. | |
| const InverseOperator & | S (const int i) const |
Returns a reference to the inverse operator of level i. | |
| int | GetMaxLevels () const |
| Returns the actual number of levels. | |
| bool | IsComputed () const |
Returns true if the hierarchy has been successfully computed, false otherwise. | |
| void | Compute () |
| Computes the hierarchy. | |
| int | Apply (const MultiVector &b_f, MultiVector &x_f) const |
Applies the preconditioner to b_f, returns the result in x_f. | |
| int | SolveMultiLevelSA (const MultiVector &b_f, MultiVector &x_f, int level) const |
| Recursively called core of the multi level preconditioner. | |
| std::ostream & | Print (std::ostream &os, const bool verbose=true) const |
Prints basic information about this preconditioner. | |
Private Attributes | |
| int | MaxLevels_ |
| Maximum number of levels. | |
| Operator | FineMatrix_ |
| Fine-level matrix. | |
| std::vector< Operator > | A_ |
| Contains the hierarchy of operators. | |
| std::vector< Operator > | R_ |
| Contains the hierarchy of restriction operators. | |
| std::vector< Operator > | P_ |
| Contains the hierarchy of prolongator operators. | |
| std::vector< InverseOperator > | S_ |
| Contains the hierarchy of inverse operators. | |
| Teuchos::ParameterList | List_ |
| Contains a copy of the input list. | |
| bool | IsComputed_ |
true if the hierarchy has been successfully computed, false otherwise. | |
| MLAPI::MultiLevelSA::MultiLevelSA | ( | const Operator | FineMatrix, | |
| Teuchos::ParameterList & | List, | |||
| const bool | ConstructNow = true | |||
| ) | [inline] |
| virtual MLAPI::MultiLevelSA::~MultiLevelSA | ( | ) | [inline, virtual] |
| const Operator& MLAPI::MultiLevelSA::A | ( | const int | i | ) | const [inline] |
| int MLAPI::MultiLevelSA::Apply | ( | const MultiVector & | b_f, | |
| MultiVector & | x_f | |||
| ) | const [inline, virtual] |
Implements MLAPI::BaseOperator.
| void MLAPI::MultiLevelSA::Compute | ( | ) | [inline] |
| const Space MLAPI::MultiLevelSA::GetDomainSpace | ( | ) | const [inline] |
| int MLAPI::MultiLevelSA::GetMaxLevels | ( | ) | const [inline] |
| const Space MLAPI::MultiLevelSA::GetOperatorDomainSpace | ( | ) | const [inline, virtual] |
Implements MLAPI::BaseOperator.
| const Space MLAPI::MultiLevelSA::GetOperatorRangeSpace | ( | ) | const [inline, virtual] |
Implements MLAPI::BaseOperator.
| const Space MLAPI::MultiLevelSA::GetRangeSpace | ( | ) | const [inline] |
| bool MLAPI::MultiLevelSA::IsComputed | ( | ) | const [inline] |
| const Operator& MLAPI::MultiLevelSA::P | ( | const int | i | ) | const [inline] |
| std::ostream& MLAPI::MultiLevelSA::Print | ( | std::ostream & | os, | |
| const bool | verbose = true | |||
| ) | const [inline, virtual] |
Implements MLAPI::BaseObject.
| const Operator& MLAPI::MultiLevelSA::R | ( | const int | i | ) | const [inline] |
| const InverseOperator& MLAPI::MultiLevelSA::S | ( | const int | i | ) | const [inline] |
| int MLAPI::MultiLevelSA::SolveMultiLevelSA | ( | const MultiVector & | b_f, | |
| MultiVector & | x_f, | |||
| int | level | |||
| ) | const [inline] |
std::vector<Operator> MLAPI::MultiLevelSA::A_ [private] |
Operator MLAPI::MultiLevelSA::FineMatrix_ [private] |
bool MLAPI::MultiLevelSA::IsComputed_ [private] |
Teuchos::ParameterList MLAPI::MultiLevelSA::List_ [private] |
int MLAPI::MultiLevelSA::MaxLevels_ [private] |
std::vector<Operator> MLAPI::MultiLevelSA::P_ [private] |
std::vector<Operator> MLAPI::MultiLevelSA::R_ [private] |
std::vector<InverseOperator> MLAPI::MultiLevelSA::S_ [private] |