24 std::vector<int> local(
numProcs*2, 0);
27 if (numLocalEqns < 0) {
28 throw std::runtime_error(
"fei::EqnComm ERROR, negative numLocalEqns not allowed.");
33 MPI_Allreduce(&local[0], global,
numProcs, MPI_INT, MPI_MAX,
comm_);
52 globalOffsets_(globalOffsets)
60 const std::vector<int>&
86 osstr <<
"fei::EqnComm::getOwnerProc: input eqn="<<eqn<<
", proc="<<proc
87 <<
", ERROR, proc should be in [0.."<<
numProcs-1<<
"].";
88 throw std::runtime_error(std::string(osstr.str().c_str()));
const std::vector< int > & getGlobalOffsets() const
std::vector< int > globalOffsets_
EqnComm(MPI_Comm comm, int numLocalEqns)
int localProc(MPI_Comm comm)
int getOwnerProc(int eqn) const
#define FEI_OSTRINGSTREAM
int numProcs(MPI_Comm comm)