42 #ifndef EpetraExt_LINEARPROBLEM_BTF_H 43 #define EpetraExt_LINEARPROBLEM_BTF_H 51 class Epetra_LinearProblem;
52 class Epetra_VbrMatrix;
53 class Epetra_MultiVector;
55 class Epetra_CrsMatrix;
56 class Epetra_CrsGraph;
58 class Epetra_BlockMap;
59 class Epetra_SerialDenseMatrix;
96 void deleteNewObjs_();
98 Epetra_BlockMap * NewMap_;
100 Epetra_LinearProblem * NewProblem_;
102 Epetra_VbrMatrix * NewMatrix_;
103 Epetra_CrsGraph * NewGraph_;
105 Epetra_MultiVector * NewLHS_;
106 Epetra_MultiVector * NewRHS_;
108 Epetra_Map * OrigRowMap_;
109 Epetra_Map * OrigColMap_;
110 Epetra_LinearProblem * OrigProblem_;
111 Epetra_CrsGraph * OrigGraph_;
112 Epetra_CrsMatrix * OrigMatrix_;
113 Epetra_MultiVector * OrigLHS_;
114 Epetra_MultiVector * OrigRHS_;
116 std::vector<int> OldGlobalElements_;
118 std::vector< std::set<int> > ZeroElements_;
120 std::vector< std::vector<Epetra_SerialDenseMatrix*> > Blocks_;
121 std::vector<int> BlockDim_;
122 std::vector<int> BlockCnt_;
123 std::map<int,int> BlockRowMap_;
124 std::map<int,int> SubBlockRowMap_;
125 std::map<int,int> BlockColMap_;
126 std::map<int,int> SubBlockColMap_;
128 std::vector< std::vector<int> > NewBlockRows_;
130 const double threshold_;
138 #endif //EpetraExt_LINEARPROBLEM_BTF_H bool fwd()
Forward transfer of data from orig object input in the operator() method call to the new object creat...
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.
NewTypeRef operator()(OriginalTypeRef orig)
bool rvs()
Reverse transfer of data from new object created in the operator() method call to the orig object inp...
LinearProblem_BTF(double thres=0.0, int verbose=0)