Epetra Package Browser (Single Doxygen Collection) Development
|
Epetra_BasicDirectory: This class allows Epetra_Map objects to reference non-local elements. More...
#include <Epetra_BasicDirectory.h>
Public Member Functions | |
template<> | |
const int * | AllMinGIDs () const |
template<> | |
const long long * | AllMinGIDs () const |
![]() | |
virtual | ~Epetra_Directory () |
Epetra_Directory destructor. | |
I/O Methods | |
Epetra_Map * | DirectoryMap_ |
int * | ProcList_ |
int ** | ProcListLists_ |
int * | ProcListLens_ |
int | numProcLists_ |
bool | entryOnMultipleProcs_ |
int * | LocalIndexList_ |
int * | SizeList_ |
bool | SizeIsConst_ |
int * | AllMinGIDs_int_ |
long long * | AllMinGIDs_LL_ |
virtual void | Print (std::ostream &os) const |
Print method. | |
Epetra_BasicDirectory & | operator= (const Epetra_BasicDirectory &src) |
void | create_ProcListArrays () |
void | addProcToList (int proc, int LID) |
template<typename int_type > | |
int | Generate (const Epetra_BlockMap &Map) |
Generate: Sets up Directory tables. | |
const Epetra_Map & | DirectoryMap () const |
Returns the Epetra_Map containing the directory. | |
template<typename int_type > | |
const int_type * | AllMinGIDs () const |
template<typename int_type > | |
int | GetDirectoryEntries (const Epetra_BlockMap &Map, const int NumEntries, const int_type *GlobalEntries, int *Procs, int *LocalEntries, int *EntrySizes, bool high_rank_sharing_procs) const |
Constructors/Destructor | |
Epetra_BasicDirectory (const Epetra_BlockMap &Map) | |
Epetra_BasicDirectory constructor. | |
Epetra_BasicDirectory (const Epetra_BasicDirectory &Directory) | |
Epetra_BasicDirectory copy constructor. | |
virtual | ~Epetra_BasicDirectory (void) |
Epetra_BasicDirectory destructor. | |
Query method | |
int | GetDirectoryEntries (const Epetra_BlockMap &Map, const int NumEntries, const int *GlobalEntries, int *Procs, int *LocalEntries, int *EntrySizes, bool high_rank_sharing_procs=false) const |
GetDirectoryEntries : Returns proc and local id info for non-local map entries. | |
int | GetDirectoryEntries (const Epetra_BlockMap &Map, const int NumEntries, const long long *GlobalEntries, int *Procs, int *LocalEntries, int *EntrySizes, bool high_rank_sharing_procs=false) const |
bool | GIDsAllUniquelyOwned () const |
GIDsAllUniquelyOwned: returns true if all GIDs appear on just one processor. | |
Epetra_BasicDirectory: This class allows Epetra_Map objects to reference non-local elements.
For Epetra_BlockMap objects, a Epetra_Directory object must be created to allow referencing of non-local elements. The Epetra_BasicDirectory produces and contains a uniform linear Epetra_BlockMap and a ProcList_ allowing blocks of non-local elements to be accessed by dereferencing through the Epetra_BasicDirectory.
This class currently has one constructor, taking a Epetra_BlockMap object.
Definition at line 63 of file Epetra_BasicDirectory.h.
Epetra_BasicDirectory::Epetra_BasicDirectory | ( | const Epetra_BlockMap & | Map | ) |
Epetra_BasicDirectory constructor.
Definition at line 53 of file Epetra_BasicDirectory.cpp.
Epetra_BasicDirectory::Epetra_BasicDirectory | ( | const Epetra_BasicDirectory & | Directory | ) |
Epetra_BasicDirectory copy constructor.
Definition at line 139 of file Epetra_BasicDirectory.cpp.
|
virtual |
Epetra_BasicDirectory destructor.
Definition at line 213 of file Epetra_BasicDirectory.cpp.
|
virtual |
GetDirectoryEntries : Returns proc and local id info for non-local map entries.
Given a list of Global Entry IDs, this function returns the list of processor IDs and local IDs on the owning processor that correspond to the list of entries. If LocalEntries is 0, then local IDs are not returned. If EntrySizes is nonzero, it will contain a list of corresponding element sizes for the requested global entries.
In | NumEntries - Number of Global IDs being passed in. |
In | GlobalEntries - List of Global IDs being passed in. |
InOut | Procs - User allocated array of length at least NumEntries. On return contains list of processors owning the Global IDs in question. If any of the GIDs is shared by more than one processor, then the lowest-numbered processor is listed in this array, unless the optional argument 'high_rank_sharing_procs' is given as true. |
InOut | LocalEntries - User allocated array of length at least NumEntries. On return contains the local ID of the global on the owning processor. If LocalEntries is zero, no local ID information is returned. |
InOut | EntrySizes - User allocated array of length at least NumEntries. On return contains the size of the object associated with this global ID. If LocalEntries is zero, no size information is returned. |
In | high_rank_sharing_procs Optional argument, defaults to true. If any GIDs appear on multiple processors (referred to as "sharing procs"), this specifies whether the lowest-rank proc or the highest-rank proc is chosen as the "owner". |
Implements Epetra_Directory.
Definition at line 721 of file Epetra_BasicDirectory.cpp.
|
virtual |
Implements Epetra_Directory.
Definition at line 741 of file Epetra_BasicDirectory.cpp.
|
virtual |
GIDsAllUniquelyOwned: returns true if all GIDs appear on just one processor.
If any GIDs are owned by multiple processors, returns false.
Implements Epetra_Directory.
Definition at line 409 of file Epetra_BasicDirectory.cpp.
|
virtual |
Print method.
Definition at line 758 of file Epetra_BasicDirectory.cpp.
|
private |
Definition at line 783 of file Epetra_BasicDirectory.cpp.
|
private |
Definition at line 244 of file Epetra_BasicDirectory.cpp.
Definition at line 257 of file Epetra_BasicDirectory.cpp.
|
private |
Generate: Sets up Directory tables.
Definition at line 272 of file Epetra_BasicDirectory.cpp.
|
inlineprivate |
Returns the Epetra_Map containing the directory.
Definition at line 156 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 419 of file Epetra_BasicDirectory.cpp.
Definition at line 219 of file Epetra_BasicDirectory.h.
Definition at line 226 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 158 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 166 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 186 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 187 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 188 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 191 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 193 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 194 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 195 of file Epetra_BasicDirectory.h.
|
private |
Definition at line 198 of file Epetra_BasicDirectory.h.
Definition at line 201 of file Epetra_BasicDirectory.h.