44 #ifndef _fei_Trilinos_Helpers_hpp_ 45 #define _fei_Trilinos_Helpers_hpp_ 62 #ifdef HAVE_FEI_EPETRA 69 Epetra_Map create_Epetra_Map(
MPI_Comm comm,
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);
111 #ifdef HAVE_FEI_EPETRA 116 get_Epetra_MultiVector(
fei::Vector* feivec,
bool soln_vec);
121 Epetra_VbrMatrix* get_Epetra_VbrMatrix(
fei::Matrix* feimat);
126 Epetra_CrsMatrix* get_Epetra_CrsMatrix(
fei::Matrix* feimat);
135 Epetra_CrsMatrix*& crsA,
136 Epetra_Operator*& opA,
137 Epetra_MultiVector*& x,
138 Epetra_MultiVector*& b);
141 int zero_Epetra_VbrMatrix(Epetra_VbrMatrix* mat);
149 Epetra_CrsMatrix* A = get_Epetra_CrsMatrix(feiA.
get());
159 int global_row_index,
int global_col_index)
161 Epetra_CrsMatrix* A = get_Epetra_CrsMatrix(feiA.
get());
162 const Epetra_Map& erowmap = A->RowMap();
163 const Epetra_Map& ecolmap = A->ColMap();
164 int local_row = erowmap.LID(global_row_index);
165 int local_col = ecolmap.LID(global_col_index);
170 A->ExtractCrsDataPointers(rowOffsets, colIndices, coefs);
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)
192 Epetra_CrsMatrix* A = get_Epetra_CrsMatrix(feiA.
get());
197 A->ExtractCrsDataPointers(rowOffsets, colIndices, coefs);
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_
void copy_parameterlist(const Teuchos::ParameterList ¶mlist, fei::ParameterSet ¶mset)
void copy_parameterset(const fei::ParameterSet ¶mset, Teuchos::ParameterList ¶mlist)