ML  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
List of all members
MLAPI::MultiLevelSA Class Reference

Black-box multilevel smoothed aggregation preconditioner. More...

#include <MLAPI_MultiLevelSA.h>

Inheritance diagram for MLAPI::MultiLevelSA:
Inheritance graph
[legend]
Collaboration diagram for MLAPI::MultiLevelSA:
Collaboration graph
[legend]

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 OperatorR (const int i) const
 Returns a reference to the restriction operator of level i.
 
const OperatorA (const int i) const
 Returns a reference to the operator of level i.
 
const OperatorP (const int i) const
 Returns a reference to the prolongator operator of level i.
 
const InverseOperatorS (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.
 
- Public Member Functions inherited from MLAPI::BaseOperator
virtual ~BaseOperator ()
 Virtual destructor.
 
- Public Member Functions inherited from MLAPI::BaseObject
 BaseObject ()
 Constructor with empty label.
 
 BaseObject (const std::string &Label)
 Constructor with given Label.
 
virtual ~BaseObject ()
 Destructor.
 
void SetLabel (const std::string &Label)
 Sets the Label of this object to Label.
 
const std::string & GetLabel () const
 Returns the Label of this object.
 
- Public Member Functions inherited from MLAPI::CompObject
 CompObject ()
 Constructor, set counter to 0.0.
 
 ~CompObject ()
 Destructor.
 
double GetFlops () const
 Returns the internal counter of flops.
 
void SetFlops (double Flops) const
 Sets internal counter to Flops.
 
void UpdateFlops (double Flops) const
 Updates internal counter by summing Flops.
 
- Public Member Functions inherited from MLAPI::TimeObject
 TimeObject ()
 Constructor, set counter to 0.0.
 
 ~TimeObject ()
 Destructor.
 
void ResetTimer () const
 Resets the internal timer.
 
void UpdateTime () const
 Updates the internal timer with the time spent since the last call to ResetTimer().
 
void UpdateTime (double t) const
 Updates the internal timer with input value t.
 
double GetTime () const
 Returns the internally stored counter.
 

Additional Inherited Members

- Protected Attributes inherited from MLAPI::TimeObject
Epetra_Time Time_
 Object used to track time.
 
double TotalTime_
 Internal counter.
 

Detailed Description

Black-box multilevel smoothed aggregation preconditioner.

Author
Marzio Sala, SNL 9214
Date
Last updated on Feb-05.

The documentation for this class was generated from the following file: