FEI  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
fei_EqnComm.hpp
1 /*--------------------------------------------------------------------*/
2 /* Copyright 2007 Sandia Corporation. */
3 /* Under the terms of Contract DE-AC04-94AL85000, there is a */
4 /* non-exclusive license for use of this work by or on behalf */
5 /* of the U.S. Government. Export of this program may require */
6 /* a license from the United States Government. */
7 /*--------------------------------------------------------------------*/
8 
9 #ifndef _fei_EqnComm_hpp_
10 #define _fei_EqnComm_hpp_
11 
12 #include <fei_macros.hpp>
13 #include <fei_fwd.hpp>
14 #include <fei_mpi.h>
15 
16 namespace fei {
17 class EqnComm {
18  public:
20  EqnComm(MPI_Comm comm, int numLocalEqns);
21  EqnComm(MPI_Comm comm, int numLocalEqns, const std::vector<int>& globalOffsets);
22 
24  virtual ~EqnComm();
25 
26  const std::vector<int>& getGlobalOffsets() const;
27 
28  int getOwnerProc(int eqn) const;
29 
30  private:
31  MPI_Comm comm_;
32  std::vector<int> globalOffsets_;
33 };//class EqnComm
34 }//namespace fei
35 #endif
36