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)
Analysis of transform operation on original object and construction of new object.
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)