00001 #ifndef MLAPI_AGGREGATION_H
00002 #define MLAPI_AGGREGATION_H
00003
00004 #include "ml_common.h"
00005
00015
00016
00017
00018
00019
00020 namespace Teuchos {
00021 class ParameterList;
00022 }
00023
00024 namespace MLAPI {
00025
00026 class Operator;
00027 class MultiVector;
00028
00030 void GetPtent(const Operator& A, Teuchos::ParameterList& List,
00031 const MultiVector& ThisNS,
00032 Operator& Ptent, MultiVector& NextNS);
00033
00035 void GetPtent(const Operator& A, Teuchos::ParameterList& List, Operator& Ptent);
00036
00054 void GetPtent(const Epetra_RowMatrix& A, Teuchos::ParameterList& List,
00055 double* thisns, Teuchos::RCP<Epetra_CrsMatrix>& Ptent,
00056 Teuchos::RCP<Epetra_MultiVector>& NextNS, const int domainoffset = 0);
00057
00074 void GetPtent(const Epetra_RowMatrix& A, Teuchos::ParameterList& List,
00075 double* thisns, Teuchos::RCP<Epetra_CrsMatrix>& Ptent,
00076 const int domainoffset = 0);
00077
00100 int GetAggregates(Epetra_RowMatrix& A, Teuchos::ParameterList& List,
00101 double* thisns, Epetra_IntVector& aggrinfo);
00102
00127 int GetGlobalAggregates(Epetra_RowMatrix& A, Teuchos::ParameterList& List,
00128 double* thisns, Epetra_IntVector& aggrinfo);
00129 }
00130
00131 #endif // MLAPI_AGGREGATION_H