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 NumProc() const
Returns total number of processes.
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_
MPI_Comm Comm() const
Extract MPI Communicator from a Epetra_MpiComm object.
virtual void SetLabel(const char *const Label)
Epetra_Object Label definition using char *.
Epetra_HashTable< int > * LIDHash_
int IndexBase() const
Index base for this map.
Epetra_IntSerialDenseVector MyGlobalElements_int_
virtual int ReportError(const std::string Message, int ErrorCode) const
Error reporting method.
Epetra_MpiComm: The Epetra MPI Communication Class.
long long NumGlobalElements64() const
long long LastContiguousGID_
long long * MyGlobalElements64() const
bool OneToOneIsDetermined_
long long NumGlobalElements_
Epetra_Comm: The Epetra Communication Abstract Base Class.
Epetra_Directory * Directory_
bool GlobalIndicesInt() const
Returns true if map create with int NumGlobalElements.
int NumMyElements() const
Number of elements on the calling processor.
int * MyGlobalElements() const
Pointer to internal array containing list of global IDs assigned to the calling processor.
Epetra_BlockMap & operator=(const Epetra_BlockMap &map)
Assignment Operator.
Epetra_BlockMap: A class for partitioning block element vectors and matrices.
const Epetra_Comm & Comm() const
Access function for Epetra_Comm communicator.
Epetra_IntSerialDenseVector LID_
Epetra_LongLongSerialDenseVector MyGlobalElements_LL_
int LastContiguousGIDLoc_
long long IndexBase64() const
bool GlobalIndicesLongLong_
Epetra_Map * RemoveEmptyProcesses() const
Return a new BlockMap with processes with zero elements removed.
Epetra_Map * ReplaceCommWithSubset(const Epetra_Comm *Comm) const
Replace this Map's communicator with a subset communicator.
int NumGlobalElements() const
Number of elements across all processors.
Epetra_IntSerialDenseVector FirstPointInElementList_
long long NumGlobalPoints_
bool GlobalIndicesLongLong() const
Returns true if map create with long long NumGlobalElements.
Epetra_Map & operator=(const Epetra_Map &map)
Assignment Operator.
bool ConstantElementSize_