00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _Isorropia_EpetraLevelScheduler_hpp_
00031 #define _Isorropia_EpetraLevelScheduler_hpp_
00032
00033 #include <Isorropia_ConfigDefs.hpp>
00034 #include <Isorropia_EpetraOperator.hpp>
00035 #include <Isorropia_LevelScheduler.hpp>
00036 #include <Teuchos_RCP.hpp>
00037
00038 #ifdef HAVE_EPETRA
00039 class Epetra_Map;
00040 class Epetra_BlockMap;
00041 class Epetra_Import;
00042 class Epetra_Vector;
00043 class Epetra_MultiVector;
00044 class Epetra_CrsGraph;
00045 class Epetra_CrsMatrix;
00046 class Epetra_RowMatrix;
00047 class Epetra_LinearProblem;
00048
00049 namespace Isorropia {
00050
00051 namespace Epetra {
00052
00059 class LevelScheduler : public Isorropia::LevelScheduler, public Isorropia::Epetra::Operator {
00060 public:
00061
00068 LevelScheduler(Teuchos::RCP<const Epetra_CrsGraph> input_graph,
00069 bool compute_now=true);
00070
00072 ~LevelScheduler() {} ;
00073
00080 void schedule(bool force_scheduling=false);
00081
00088 void compute(bool force_compute=false) {
00089 schedule(force_compute);
00090 }
00091
00092 };
00093
00094 }
00095 }
00096
00097 #endif //HAVE_EPETRA
00098
00099 #endif
00100