44 #ifndef _fei_Trilinos_Helpers_hpp_ 45 #define _fei_Trilinos_Helpers_hpp_ 47 #include "fei_trilinos_macros.hpp" 48 #include "fei_fwd.hpp" 50 #include <fei_Include_Trilinos.hpp> 53 #include <fei_SharedPtr.hpp> 55 #include <fei_LinearProblemManager.hpp> 56 #include <fei_VectorSpace.hpp> 57 #include <fei_Reducer.hpp> 58 #include <fei_MatrixGraph.hpp> 62 #ifdef HAVE_FEI_EPETRA 70 const std::vector<int>& local_eqns);
83 bool orderRowsWithLocalColsFirst=
false);
87 bool blockEntryMatrix,
89 bool orderRowsWithLocalColsFirst=
false);
93 bool blockEntryMatrix,
103 Teuchos::ParameterList& paramlist);
108 void copy_parameterlist(
const Teuchos::ParameterList& paramlist,
111 #ifdef HAVE_FEI_EPETRA 116 get_Epetra_MultiVector(
fei::Vector* feivec,
bool soln_vec);
159 int global_row_index,
int global_col_index)
164 int local_row = erowmap.
LID(global_row_index);
165 int local_col = ecolmap.
LID(global_col_index);
172 int* row_ptr = &colIndices[rowOffsets[local_row]];
173 int* end_row = &colIndices[rowOffsets[local_row+1]];
176 for(; row_ptr != end_row; ++row_ptr) {
177 if (*row_ptr == local_col)
break;
181 return rowOffsets[local_row] + col_offset;
190 int local_row_index,
int local_col_index)
199 int* row_ptr = &colIndices[rowOffsets[local_row_index]];
200 int* end_row = &colIndices[rowOffsets[local_row_index+1]];
203 for(; row_ptr != end_row; ++row_ptr) {
204 if (*row_ptr == local_col_index)
break;
208 return rowOffsets[local_row_index] + col_offset;
211 #endif // HAVE_FEI_EPETRA 215 #endif // _Trilinos_Helpers_hpp_ const Epetra_Map & RowMap() const
int ExtractCrsDataPointers(int *&IndexOffset, int *&Indices, double *&Values_in) const
const Epetra_Map & ColMap() const