9 #ifndef _snl_fei_Broker_LinSysCore_hpp_
10 #define _snl_fei_Broker_LinSysCore_hpp_
29 #define fei_file "snl_fei_Broker_LinSysCore.hpp"
89 bool zeroSharedRows =
true;
91 zeroSharedRows =
false;
138 std::vector<int> globalOffsets;
139 std::vector<int> globalBlkOffsets;
144 std::vector<int> lsizes(num_procs, 0);
145 std::vector<int> gsizes(num_procs, 0);
146 lsizes[local_proc] = localsize;
148 globalOffsets.resize(num_procs+1);
150 for(
int p=0; p<num_procs; ++p) {
151 globalOffsets[p] = offset;
154 globalOffsets[num_procs] = offset;
155 globalBlkOffsets = globalOffsets;
164 numLocalEqns_ = globalOffsets[local_proc+1]-globalOffsets[local_proc];
168 &globalBlkOffsets[0],
170 &globalBlkOffsets[0]));
194 std::vector<int>& rowNumbers = localSRGraph->
rowNumbers;
195 int numLocalRows = rowNumbers.size();
196 int* rowOffsets = &(localSRGraph->
rowOffsets[0]);
200 int numGlobalNonzeros = 0;
203 std::vector<int*> colPtrs(numLocalRows);
204 std::vector<int> ptRowsPerBlkRow(numLocalRows, 1);
205 std::vector<int> rowLengths(numLocalRows);
206 int* rowLengthsPtr = &rowLengths[0];
208 for(
int i=0; i<numLocalRows; ++i) {
209 colPtrs[i] = &(nonzeros[rowOffsets[i]]);
210 rowLengthsPtr[i] = rowOffsets[i+1]-rowOffsets[i];
220 &ptRowsPerBlkRow[0]));
240 #endif // _snl_fei_Broker_LinSysCore_hpp_