Epetra_LocalMap: A class for replicating vectors and matrices across multiple processors. More...
#include <Epetra_LocalMap.h>


Public Member Functions | |
| Epetra_LocalMap (int NumMyElements, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_LocalMap constructor for a user-defined replicate distribution of elements.  More... | |
| Epetra_LocalMap (long long NumMyElements, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_LocalMap (long long NumMyElements, long long IndexBase, const Epetra_Comm &Comm) | |
| Epetra_LocalMap (const Epetra_LocalMap &map) | |
| Epetra_LocalMap copy constructor.  | |
| virtual | ~Epetra_LocalMap () | 
| Epetra_LocalMap destructor.  | |
| Epetra_LocalMap & | operator= (const Epetra_LocalMap &map) | 
| Assignment Operator.  | |
  Public Member Functions inherited from Epetra_Map | |
| Epetra_Map (int NumGlobalElements, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_Map constructor for a Epetra-defined uniform linear distribution of elements.  More... | |
| Epetra_Map (long long NumGlobalElements, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_Map (long long NumGlobalElements, long long IndexBase, const Epetra_Comm &Comm) | |
| Epetra_Map (int NumGlobalElements, int NumMyElements, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_Map constructor for a user-defined linear distribution of elements.  More... | |
| Epetra_Map (long long NumGlobalElements, int NumMyElements, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_Map (long long NumGlobalElements, int NumMyElements, long long IndexBase, const Epetra_Comm &Comm) | |
| Epetra_Map (int NumGlobalElements, int NumMyElements, const int *MyGlobalElements, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_Map constructor for a user-defined arbitrary distribution of elements.  More... | |
| Epetra_Map (long long NumGlobalElements, int NumMyElements, const long long *MyGlobalElements, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_Map (long long NumGlobalElements, int NumMyElements, const long long *MyGlobalElements, long long IndexBase, const Epetra_Comm &Comm) | |
| Epetra_Map (long long NumGlobal_Elements, int NumMy_Elements, const long long *myGlobalElements, int indexBase, const Epetra_Comm &comm, bool UserIsDistributedGlobal, long long UserMinAllGID, long long UserMaxAllGID) | |
| Epetra_Map constructor for a user-defined arbitrary distribution of elements, where the user provides all the globals.  More... | |
| Epetra_Map (long long NumGlobal_Elements, int NumMy_Elements, const long long *myGlobalElements, long long indexBase, const Epetra_Comm &comm, bool UserIsDistributedGlobal, long long UserMinAllGID, long long UserMaxAllGID) | |
| Epetra_Map (int NumGlobal_Elements, int NumMy_Elements, const int *myGlobalElements, int indexBase, const Epetra_Comm &comm, bool UserIsDistributedGlobal, int UserMinAllGID, int UserMaxAllGID) | |
| Epetra_Map (const Epetra_Map &map) | |
| Epetra_Map copy constructor.  | |
| virtual | ~Epetra_Map (void) | 
| Epetra_Map destructor.  | |
| Epetra_Map & | operator= (const Epetra_Map &map) | 
| Assignment Operator.  | |
| Epetra_Map * | RemoveEmptyProcesses () const | 
| Return a new BlockMap with processes with zero elements removed.  More... | |
| Epetra_Map * | ReplaceCommWithSubset (const Epetra_Comm *Comm) const | 
| Replace this Map's communicator with a subset communicator.  More... | |
  Public Member Functions inherited from Epetra_BlockMap | |
| template<> | |
| bool | GlobalIndicesIsType () const | 
| template<> | |
| bool | GlobalIndicesIsType () const | 
| Epetra_BlockMap (int NumGlobalElements, int ElementSize, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap constructor for a Epetra-defined uniform linear distribution of constant size elements.  More... | |
| Epetra_BlockMap (long long NumGlobalElements, int ElementSize, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap (long long NumGlobalElements, int ElementSize, long long IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap (int NumGlobalElements, int NumMyElements, int ElementSize, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap constructor for a user-defined linear distribution of constant size elements.  More... | |
| Epetra_BlockMap (long long NumGlobalElements, int NumMyElements, int ElementSize, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap (long long NumGlobalElements, int NumMyElements, int ElementSize, long long IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap (int NumGlobalElements, int NumMyElements, const int *MyGlobalElements, int ElementSize, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap constructor for a user-defined arbitrary distribution of constant size elements.  More... | |
| Epetra_BlockMap (long long NumGlobalElements, int NumMyElements, const long long *MyGlobalElements, int ElementSize, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap (long long NumGlobalElements, int NumMyElements, const long long *MyGlobalElements, int ElementSize, long long IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap (int NumGlobalElements, int NumMyElements, const int *MyGlobalElements, const int *ElementSizeList, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap constructor for a user-defined arbitrary distribution of variable size elements.  More... | |
| Epetra_BlockMap (long long NumGlobalElements, int NumMyElements, const long long *MyGlobalElements, const int *ElementSizeList, int IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap (long long NumGlobalElements, int NumMyElements, const long long *MyGlobalElements, const int *ElementSizeList, long long IndexBase, const Epetra_Comm &Comm) | |
| Epetra_BlockMap (long long NumGlobal_Elements, int NumMy_Elements, const long long *myGlobalElements, int ElementSize, int indexBase, const Epetra_Comm &comm, bool UserIsDistributedGlobal, long long UserMinAllGID, long long UserMaxAllGID) | |
| Epetra_BlockMap constructor for a user-defined arbitrary distribution of constant size elements, where the user provides all the globals.  More... | |
| Epetra_BlockMap (long long NumGlobal_Elements, int NumMy_Elements, const long long *myGlobalElements, int ElementSize, long long indexBase, const Epetra_Comm &comm, bool UserIsDistributedGlobal, long long UserMinAllGID, long long UserMaxAllGID) | |
| Epetra_BlockMap (int NumGlobal_Elements, int NumMy_Elements, const int *myGlobalElements, int ElementSize, int indexBase, const Epetra_Comm &comm, bool UserIsDistributedGlobal, int UserMinAllGID, int UserMaxAllGID) | |
| Epetra_BlockMap (const Epetra_BlockMap &map) | |
| Epetra_BlockMap copy constructor.  | |
| virtual | ~Epetra_BlockMap (void) | 
| Epetra_BlockMap destructor.  | |
| int | RemoteIDList (int NumIDs, const int *GIDList, int *PIDList, int *LIDList) const | 
| Returns the processor IDs and corresponding local index value for a given list of global indices.  More... | |
| int | RemoteIDList (int NumIDs, const long long *GIDList, int *PIDList, int *LIDList) const | 
| int | RemoteIDList (int NumIDs, const int *GIDList, int *PIDList, int *LIDList, int *SizeList) const | 
| Returns the processor IDs, corresponding local index value, and element size for a given list of global indices.  More... | |
| int | RemoteIDList (int NumIDs, const long long *GIDList, int *PIDList, int *LIDList, int *SizeList) const | 
| int | LID (int GID) const | 
| Returns local ID of global ID, return -1 if not found on this processor.  | |
| int | LID (long long GID) const | 
| int | GID (int LID) const | 
| Returns global ID of local ID, return IndexBase-1 if not found on this processor.  | |
| long long | GID64 (int LID) const | 
| int | FindLocalElementID (int PointID, int &ElementID, int &ElementOffset) const | 
| Returns the LID of the element that contains the given local PointID, and the Offset of the point in that element.  | |
| bool | MyGID (int GID_in) const | 
| Returns true if the GID passed in belongs to the calling processor in this map, otherwise returns false.  | |
| bool | MyGID (long long GID_in) const | 
| bool | MyLID (int lid) const | 
| Returns true if the LID passed in belongs to the calling processor in this map, otherwise returns false.  | |
| int | MinAllGID () const | 
| Returns the minimum global ID across the entire map.  | |
| long long | MinAllGID64 () const | 
| int | MaxAllGID () const | 
| Returns the maximum global ID across the entire map.  | |
| long long | MaxAllGID64 () const | 
| int | MinMyGID () const | 
| Returns the minimum global ID owned by this processor.  | |
| long long | MinMyGID64 () const | 
| int | MaxMyGID () const | 
| Returns the maximum global ID owned by this processor.  | |
| long long | MaxMyGID64 () const | 
| int | MinLID () const | 
| The minimum local index value on the calling processor.  | |
| int | MaxLID () const | 
| The maximum local index value on the calling processor.  | |
| int | NumGlobalElements () const | 
| Number of elements across all processors.  | |
| long long | NumGlobalElements64 () const | 
| int | NumMyElements () const | 
| Number of elements on the calling processor.  | |
| int | MyGlobalElements (int *MyGlobalElementList) const | 
| Puts list of global elements on this processor into the user-provided array.  | |
| int | MyGlobalElements (long long *MyGlobalElementList) const | 
| int | MyGlobalElementsPtr (int *&MyGlobalElementList) const | 
| int | MyGlobalElementsPtr (long long *&MyGlobalElementList) const | 
| int | ElementSize () const | 
| Returns the size of elements in the map; only valid if map has constant element size.  | |
| int | ElementSize (int LID) const | 
| Size of element for specified LID.  | |
| int | FirstPointInElement (int LID) const | 
| Returns the requested entry in the FirstPointInElementList; see FirstPointInElementList() for details.  More... | |
| int | IndexBase () const | 
| Index base for this map.  | |
| long long | IndexBase64 () const | 
| int | NumGlobalPoints () const | 
| Number of global points for this map; equals the sum of all element sizes across all processors.  | |
| long long | NumGlobalPoints64 () const | 
| int | NumMyPoints () const | 
| Number of local points for this map; equals the sum of all element sizes on the calling processor.  | |
| int | MinMyElementSize () const | 
| Minimum element size on the calling processor.  | |
| int | MaxMyElementSize () const | 
| Maximum element size on the calling processor.  | |
| int | MinElementSize () const | 
| Minimum element size across all processors.  | |
| int | MaxElementSize () const | 
| Maximum element size across all processors.  | |
| bool | UniqueGIDs () const | 
| Returns true if map GIDs are 1-to-1.  More... | |
| bool | GlobalIndicesInt () const | 
| Returns true if map create with int NumGlobalElements.  | |
| bool | GlobalIndicesLongLong () const | 
| Returns true if map create with long long NumGlobalElements.  | |
| template<typename int_type > | |
| bool | GlobalIndicesIsType () const | 
| bool | GlobalIndicesTypeValid () const | 
| bool | GlobalIndicesTypeMatch (const Epetra_BlockMap &other) const | 
| bool | ConstantElementSize () const | 
| Returns true if map has constant element size.  | |
| bool | SameBlockMapDataAs (const Epetra_BlockMap &Map) const | 
| bool | SameAs (const Epetra_BlockMap &Map) const | 
| Returns true if this and Map are identical maps.  | |
| bool | PointSameAs (const Epetra_BlockMap &Map) const | 
| Returns true if this and Map have identical point-wise structure.  More... | |
| bool | LinearMap () const | 
| Returns true if the global ID space is contiguously divided (but not necessarily uniformly) across all processors.  | |
| bool | DistributedGlobal () const | 
| Returns true if map is defined across more than one processor.  | |
| int * | MyGlobalElements () const | 
| Pointer to internal array containing list of global IDs assigned to the calling processor.  | |
| long long * | MyGlobalElements64 () const | 
| void | MyGlobalElements (const int *&IntGIDs, const long long *&LLGIDs) const | 
| void | MyGlobalElements (int *&IntGIDs, long long *&LLGIDs) | 
| int * | FirstPointInElementList () const | 
| Pointer to internal array containing a mapping between the local elements and the first local point number in each element.  More... | |
| int * | ElementSizeList () const | 
| List of the element sizes corresponding to the array MyGlobalElements().  | |
| int * | PointToElementList () const | 
| For each local point, indicates the local element ID that the point belongs to.  | |
| int | ElementSizeList (int *ElementSizeList) const | 
| Same as ElementSizeList() except it fills the user array that is passed in.  | |
| int | FirstPointInElementList (int *FirstPointInElementList) const | 
| Same as FirstPointInElementList() except it fills the user array that is passed in.  | |
| int | PointToElementList (int *PointToElementList) const | 
| Same as PointToElementList() except it fills the user array that is passed in.  | |
| virtual void | Print (std::ostream &os) const | 
| Print object to an output stream.  | |
| const Epetra_Comm & | Comm () const | 
| Access function for Epetra_Comm communicator.  | |
| bool | IsOneToOne () const | 
| Epetra_BlockMap & | operator= (const Epetra_BlockMap &map) | 
| Assignment Operator.  | |
| int | ReferenceCount () const | 
| Returns the reference count of BlockMapData.  More... | |
| const Epetra_BlockMapData * | DataPtr () const | 
| Returns a pointer to the BlockMapData instance this BlockMap uses.  More... | |
| Epetra_BlockMap * | RemoveEmptyProcesses () const | 
| Return a new BlockMap with processes with zero elements removed.  More... | |
| Epetra_BlockMap * | ReplaceCommWithSubset (const Epetra_Comm *Comm) const | 
| Replace this BlockMap's communicator with a subset communicator.  More... | |
  Public Member Functions inherited from Epetra_Object | |
| Epetra_Object (int TracebackModeIn=-1, bool set_label=true) | |
| Epetra_Object Constructor.  More... | |
| Epetra_Object (const char *const Label, int TracebackModeIn=-1) | |
| Epetra_Object Constructor.  More... | |
| Epetra_Object (const Epetra_Object &Object) | |
| Epetra_Object Copy Constructor.  More... | |
| virtual | ~Epetra_Object () | 
| Epetra_Object Destructor.  More... | |
| virtual int | ReportError (const std::string Message, int ErrorCode) const | 
| Error reporting method.  | |
| virtual void | SetLabel (const char *const Label) | 
| Epetra_Object Label definition using char *.  More... | |
| virtual const char * | Label () const | 
| Epetra_Object Label access funtion.  More... | |
Additional Inherited Members | |
  Static Public Member Functions inherited from Epetra_Object | |
| static void | SetTracebackMode (int TracebackModeValue) | 
| Set the value of the Epetra_Object error traceback report mode.  More... | |
| static int | GetTracebackMode () | 
| Get the value of the Epetra_Object error report mode.  | |
| static std::ostream & | GetTracebackStream () | 
| Get the output stream for error reporting.  | |
  Static Public Attributes inherited from Epetra_Object | |
| static int | TracebackMode | 
  Protected Member Functions inherited from Epetra_BlockMap | |
| void | CleanupData () | 
  Protected Member Functions inherited from Epetra_Object | |
| std::string | toString (const int &x) const | 
| std::string | toString (const long long &x) const | 
| std::string | toString (const double &x) const | 
  Protected Attributes inherited from Epetra_BlockMap | |
| Epetra_BlockMapData * | BlockMapData_ | 
Epetra_LocalMap: A class for replicating vectors and matrices across multiple processors.
Small matrix and vector objects are often replicated on distributed memory parallel machines. The Epetra_LocalMap class allows construction of these replicated local objects and keeps information that describes this distribution.
Epetra_LocalMap allows the storage and retrieval of the following information. Once a Epetra_Map is constructed any of the following attributes can be obtained by calling a query function that has the name as the attribute, e.g. to get the value of NumGlobalPoints, you can call a function NumGlobalElements(). For attributes that are lists, the query functions return the list values in a user allocated array.
The Epetra_LocalMap class is actually a derived class of Epetra_Map. Epetra_Map is in turn derived from Epetra_BlockMap. As such, Epetra_LocalMap has full access to all the functions in these other map classes.
In particular, the following function allows a boolean test:
| Epetra_LocalMap::Epetra_LocalMap | ( | int | NumMyElements, | 
| int | IndexBase, | ||
| const Epetra_Comm & | Comm | ||
| ) | 
Epetra_LocalMap constructor for a user-defined replicate distribution of elements.
Creates a map that puts NumMyElements on the calling processor. Each processor should pass in the same value for NumMyElements.
| In | NumMyElements - Number of elements owned by the calling processor. | 
| In | IndexBase - Minimum index value used for arrays that use this map. Typically 0 for C/C++ and 1 for Fortran. | 
| In | Comm - Epetra_Comm communicator containing information on the number of processors. | 
 1.8.5