00001 #ifndef IFPACK_GREEDYPARTITIONER_H
00002 #define IFPACK_GREEDYPARTITIONER_H
00003
00004 #include "Ifpack_ConfigDefs.h"
00005 #ifdef HAVE_IFPACK_TEUCHOS
00006 #include "Ifpack_Partitioner.h"
00007 #include "Ifpack_OverlappingPartitioner.h"
00008 #include "Teuchos_ParameterList.hpp"
00009 class Epetra_Comm;
00010 class Ifpack_Graph;
00011 class Epetra_Map;
00012 class Epetra_BlockMap;
00013 class Epetra_Import;
00014
00016
00017 class Ifpack_GreedyPartitioner : public Ifpack_OverlappingPartitioner {
00018
00019 public:
00020
00022 Ifpack_GreedyPartitioner(const Ifpack_Graph* Graph) :
00023 Ifpack_OverlappingPartitioner(Graph),
00024 RootNode_(0)
00025 {}
00026
00028 virtual ~Ifpack_GreedyPartitioner() {};
00029
00031 int SetPartitionParameters(Teuchos::ParameterList& List)
00032 {
00033 RootNode_ = List.get("partitioner: root node", RootNode_);
00034
00035 return(0);
00036 }
00037
00039 int ComputePartitions();
00040
00041 private:
00042
00043 int RootNode_;
00044
00045 };
00046
00047 #endif // HAVE_IFPACK_TEUCHOS
00048 #endif // IFPACK_GREEDYPARTITIONER_H