53 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
60 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
75 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
82 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
97 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
99 const int * myGlobalElements,
101 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm)
106 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
108 const long long * myGlobalElements,
110 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm)
116 const long long * myGlobalElements,
118 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm)
126 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
128 const int * myGlobalElements,
130 bool UserIsDistributedGlobal,
131 int UserMinAllGID,
int UserMaxAllGID)
132 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm, UserIsDistributedGlobal, UserMinAllGID, UserMaxAllGID)
137 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
139 const long long * myGlobalElements,
141 bool UserIsDistributedGlobal,
142 long long UserMinAllGID,
long long UserMaxAllGID)
143 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm, UserIsDistributedGlobal, UserMinAllGID, UserMaxAllGID)
148 const long long * myGlobalElements,
150 bool UserIsDistributedGlobal,
151 long long UserMinAllGID,
long long UserMaxAllGID)
152 :
Epetra_BlockMap(numGlobalElements, numMyElements, myGlobalElements, 1, indexBase, comm, UserIsDistributedGlobal, UserMinAllGID, UserMaxAllGID)
187 MPI_Comm NewComm,MyMPIComm = MpiComm->
Comm();
194 const int color = (
NumMyElements() == 0) ? MPI_UNDEFINED : 1;
200 int rv = MPI_Comm_split(MyMPIComm,color,0,&NewComm);
201 if(rv!=MPI_SUCCESS)
throw ReportError(
"Epetra_Map::RemoveEmptyProcesses: MPI_Comm_split failed.",-1);
203 if(color == MPI_UNDEFINED)
214 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
219 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
227 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
230 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
268 delete NewEpetraComm;
294 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
300 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
306 throw ReportError(
"Epetra_Map::ReplaceCommWithSubset ERROR, GlobalIndices type unknown.",-1);
virtual ~Epetra_Map(void)
Epetra_Map destructor.
Epetra_IntSerialDenseVector PointToElementList_
int NumGlobalElements() const
Number of elements across all processors.
Epetra_BlockMapData: The Epetra BlockMap Data Class.
Epetra_Map: A class for partitioning vectors and matrices.
Epetra_IntSerialDenseVector ElementSizeList_
Epetra_Map(int NumGlobalElements, int IndexBase, const Epetra_Comm &Comm)
Epetra_Map constructor for a Epetra-defined uniform linear distribution of elements.
Epetra_BlockMapData * BlockMapData_
bool GlobalIndicesLongLong() const
Returns true if map create with long long NumGlobalElements.
long long IndexBase64() const
long long NumGlobalElements64() const
int NumProc() const
Returns total number of processes.
virtual void SetLabel(const char *const Label)
Epetra_Object Label definition using char *.
Epetra_HashTable< int > * LIDHash_
Epetra_IntSerialDenseVector MyGlobalElements_int_
bool GlobalIndicesInt() const
Returns true if map create with int NumGlobalElements.
Epetra_MpiComm: The Epetra MPI Communication Class.
long long LastContiguousGID_
int IndexBase() const
Index base for this map.
bool OneToOneIsDetermined_
int NumMyElements() const
Number of elements on the calling processor.
Epetra_Map * RemoveEmptyProcesses() const
Return a new BlockMap with processes with zero elements removed.
long long NumGlobalElements_
Epetra_Comm: The Epetra Communication Abstract Base Class.
Epetra_Directory * Directory_
Epetra_BlockMap & operator=(const Epetra_BlockMap &map)
Assignment Operator.
Epetra_BlockMap: A class for partitioning block element vectors and matrices.
MPI_Comm Comm() const
Extract MPI Communicator from a Epetra_MpiComm object.
Epetra_IntSerialDenseVector LID_
Epetra_LongLongSerialDenseVector MyGlobalElements_LL_
const Epetra_Comm & Comm() const
Access function for Epetra_Comm communicator.
int LastContiguousGIDLoc_
bool GlobalIndicesLongLong_
Epetra_IntSerialDenseVector FirstPointInElementList_
int * MyGlobalElements() const
Pointer to internal array containing list of global IDs assigned to the calling processor.
virtual int ReportError(const std::string Message, int ErrorCode) const
Error reporting method.
long long NumGlobalPoints_
Epetra_Map * ReplaceCommWithSubset(const Epetra_Comm *Comm) const
Replace this Map's communicator with a subset communicator.
long long * MyGlobalElements64() const
Epetra_Map & operator=(const Epetra_Map &map)
Assignment Operator.
bool ConstantElementSize_