#include <mrtr_ml_preconditioner.H>
Public Member Functions | |
Mortar_ML_Preconditioner (RefCountPtr< Epetra_CrsMatrix > Atilde, RefCountPtr< Epetra_CrsMatrix > A, RefCountPtr< Epetra_CrsMatrix > WT, RefCountPtr< Epetra_CrsMatrix > B, RefCountPtr< Epetra_Map > Annmap, ParameterList &mlparams, bool constructnow=true) | |
Construct the mortar modified ml preocnditioner. | |
virtual | ~Mortar_ML_Preconditioner () |
Destroys an instance of this class. | |
const char * | Label () const |
Returns the label of this class. | |
const Epetra_Comm & | Comm () const |
get Comm of this class | |
const Epetra_Map & | OperatorDomainMap () const |
Get fine level OperatorDomainMap. | |
const Epetra_Map & | OperatorRangeMap () const |
Get fine level OperatorRangeMap. | |
bool | Compute () |
Compute the preconditioner. | |
int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
ApplyInverse the preconditioner. | |
int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
not implemented | |
int | SetUseTranspose (bool UseTranspose) |
not implemented | |
double | NormInf () const |
not implemented | |
bool | UseTranspose () const |
not implemented | |
bool | HasNormInf () const |
not implemented |
MOERTEL::Mortar_ML_Preconditioner::Mortar_ML_Preconditioner | ( | RefCountPtr< Epetra_CrsMatrix > | Atilde, | |
RefCountPtr< Epetra_CrsMatrix > | A, | |||
RefCountPtr< Epetra_CrsMatrix > | WT, | |||
RefCountPtr< Epetra_CrsMatrix > | B, | |||
RefCountPtr< Epetra_Map > | Annmap, | |||
ParameterList & | mlparams, | |||
bool | constructnow = true | |||
) | [explicit] |
Construct the mortar modified ml preocnditioner.
Construct the mortar modified ml preconditioner using ML's MLAPI
Atilde | (In) : The mortar modified spd system of equations | |
A | (In) : The original (uncoupled) system matrix | |
WT | (In) : Mortar scaling object | |
B | (In) : Mortar constraints equations | |
params | (In) : ML parameters | |
constructnow | (In) : If true, the preconditioner is constructed immediately |
References Compute().
virtual MOERTEL::Mortar_ML_Preconditioner::~Mortar_ML_Preconditioner | ( | ) | [inline, virtual] |
Destroys an instance of this class.
Destructor
int MOERTEL::Mortar_ML_Preconditioner::ApplyInverse | ( | const Epetra_MultiVector & | X, | |
Epetra_MultiVector & | Y | |||
) | const |
ApplyInverse the preconditioner.
ApplyInverse the preconditioner. Method is derived from Epetra_Operator.
X | (In) : Epetra_MultiVector matching the fine level map of this preconditioner | |
Y | (Out) : Epetra_MultiVector containing the result on output |
References Compute().
const Epetra_Comm& MOERTEL::Mortar_ML_Preconditioner::Comm | ( | ) | const [inline] |
get Comm of this class
Derived from Epetra_Operator, returns ref to the Epetra_Comm of this class
Referenced by Compute().
bool MOERTEL::Mortar_ML_Preconditioner::Compute | ( | ) |
Compute the preconditioner.
Compute the mortar modified ml preconditioner
References Comm(), MOERTEL::MatMatMult(), MOERTEL::MatrixMatrixAdd(), and MOERTEL::PaddedMatrix().
Referenced by ApplyInverse(), and Mortar_ML_Preconditioner().
const Epetra_Map& MOERTEL::Mortar_ML_Preconditioner::OperatorDomainMap | ( | ) | const [inline] |
Get fine level OperatorDomainMap.
Derived from Epetra_Operator, get fine level OperatorDomainMap
const Epetra_Map& MOERTEL::Mortar_ML_Preconditioner::OperatorRangeMap | ( | ) | const [inline] |
Get fine level OperatorRangeMap.
Derived from Epetra_Operator, get fine level OperatorRangeMap