Epetra Package Browser (Single Doxygen Collection)
Development
|
Epetra_DistObject: A class for constructing and using dense multi-vectors, vectors and matrices in parallel. More...
#include <Epetra_DistObject.h>
Protected Attributes | |
Epetra_BlockMap | Map_ |
const Epetra_Comm * | Comm_ |
char * | Exports_ |
char * | Imports_ |
int | LenExports_ |
int | LenImports_ |
int * | Sizes_ |
Private Member Functions | |
Epetra_DistObject & | operator= (const Epetra_DistObject &src) |
Constructors/Destructor | |
Epetra_DistObject (const Epetra_BlockMap &Map) | |
Basic Epetra_DistObject constuctor. More... | |
Epetra_DistObject (const Epetra_BlockMap &Map, const char *const Label) | |
Epetra_DistObject (const Epetra_DistObject &Source) | |
Epetra_DistObject copy constructor. More... | |
virtual | ~Epetra_DistObject () |
Epetra_DistObject destructor. More... | |
Import/Export Methods | |
int | Import (const Epetra_SrcDistObject &A, const Epetra_Import &Importer, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0) |
Imports an Epetra_DistObject using the Epetra_Import object. More... | |
int | Import (const Epetra_SrcDistObject &A, const Epetra_Export &Exporter, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0) |
Imports an Epetra_DistObject using the Epetra_Export object. More... | |
int | Export (const Epetra_SrcDistObject &A, const Epetra_Import &Importer, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0) |
Exports an Epetra_DistObject using the Epetra_Import object. More... | |
int | Export (const Epetra_SrcDistObject &A, const Epetra_Export &Exporter, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0) |
Exports an Epetra_DistObject using the Epetra_Export object. More... | |
Attribute accessor methods | |
const Epetra_BlockMap & | Map () const |
Returns the address of the Epetra_BlockMap for this multi-vector. More... | |
const Epetra_Comm & | Comm () const |
Returns the address of the Epetra_Comm for this multi-vector. More... | |
bool | DistributedGlobal () const |
Returns true if this multi-vector is distributed global, i.e., not local replicated. More... | |
Miscellaneous | |
virtual void | Print (std::ostream &os) const |
Print method. More... | |
Internal utilities | |
virtual int | DoTransfer (const Epetra_SrcDistObject &A, Epetra_CombineMode CombineMode, int NumSameIDs, int NumPermuteIDs, int NumRemoteIDs, int NumExportIDs, int *PermuteToLIDs, int *PermuteFromLIDs, int *RemoteLIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &LenImports, char *&Imports, Epetra_Distributor &Distor, bool DoReverse, const Epetra_OffsetIndex *Indexor) |
Perform actual transfer (redistribution) of data across memory images, using Epetra_Distributor object. More... | |
Virtual methods to be implemented by derived class | |
virtual int | CheckSizes (const Epetra_SrcDistObject &Source)=0 |
Allows the source and target (this) objects to be compared for compatibility, return nonzero if not. More... | |
virtual int | CopyAndPermute (const Epetra_SrcDistObject &Source, int NumSameIDs, int NumPermuteIDs, int *PermuteToLIDs, int *PermuteFromLIDs, const Epetra_OffsetIndex *Indexor, Epetra_CombineMode CombineMode=Zero)=0 |
Perform ID copies and permutations that are on processor. More... | |
virtual int | PackAndPrepare (const Epetra_SrcDistObject &Source, int NumExportIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &SizeOfPacket, int *Sizes, bool &VarSizes, Epetra_Distributor &Distor)=0 |
Perform any packing or preparation required for call to DoTransfer(). More... | |
virtual int | UnpackAndCombine (const Epetra_SrcDistObject &Source, int NumImportIDs, int *ImportLIDs, int LenImports, char *Imports, int &SizeOfPacket, Epetra_Distributor &Distor, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor)=0 |
Perform any unpacking and combining after call to DoTransfer(). More... | |
Additional Inherited Members | |
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 void | SetLabel (const char *const Label) |
Epetra_Object Label definition using char *. More... | |
virtual const char * | Label () const |
Epetra_Object Label access funtion. More... | |
virtual int | ReportError (const std::string Message, int ErrorCode) const |
Error reporting method. More... | |
Public Member Functions inherited from Epetra_SrcDistObject | |
virtual | ~Epetra_SrcDistObject () |
Epetra_SrcDistObject destructor. More... | |
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. More... | |
static std::ostream & | GetTracebackStream () |
Get the output stream for error reporting. More... | |
Static Public Attributes inherited from Epetra_Object | |
static int | TracebackMode |
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 |
Epetra_DistObject: A class for constructing and using dense multi-vectors, vectors and matrices in parallel.
The Epetra_DistObject is a base class for all Epetra distributed global objects. It provides the basic mechanisms and interface specifications for importing and exporting operations using Epetra_Import and Epetra_Export objects.
Distributed Global vs. Replicated Local.
Definition at line 80 of file Epetra_DistObject.h.
Epetra_DistObject::Epetra_DistObject | ( | const Epetra_BlockMap & | Map | ) |
Basic Epetra_DistObject constuctor.
Creates a Epetra_DistObject object.
In | Map - A Epetra_LocalMap, Epetra_Map or Epetra_BlockMap. |
Definition at line 54 of file Epetra_DistObject.cpp.
Epetra_DistObject::Epetra_DistObject | ( | const Epetra_BlockMap & | Map, |
const char *const | Label | ||
) |
Creates a Epetra_DistObject object.
In | Map - A Epetra_LocalMap, Epetra_Map or Epetra_BlockMap. |
In | Label - An identifier for this object. By default, set to the name of the object class. |
Definition at line 68 of file Epetra_DistObject.cpp.
Epetra_DistObject::Epetra_DistObject | ( | const Epetra_DistObject & | Source | ) |
Epetra_DistObject copy constructor.
Definition at line 82 of file Epetra_DistObject.cpp.
|
virtual |
Epetra_DistObject destructor.
Definition at line 94 of file Epetra_DistObject.cpp.
int Epetra_DistObject::Import | ( | const Epetra_SrcDistObject & | A, |
const Epetra_Import & | Importer, | ||
Epetra_CombineMode | CombineMode, | ||
const Epetra_OffsetIndex * | Indexor = 0 |
||
) |
Imports an Epetra_DistObject using the Epetra_Import object.
In | Source - Distributed object that will be imported into the "\e this" object. |
In | Importer - A Epetra_Import object specifying the communication required. |
In | CombineMode - A Epetra_CombineMode enumerated type specifying how results should be combined on the receiving processor. |
Definition at line 113 of file Epetra_DistObject.cpp.
int Epetra_DistObject::Import | ( | const Epetra_SrcDistObject & | A, |
const Epetra_Export & | Exporter, | ||
Epetra_CombineMode | CombineMode, | ||
const Epetra_OffsetIndex * | Indexor = 0 |
||
) |
Imports an Epetra_DistObject using the Epetra_Export object.
In | Source - Distributed object that will be imported into the "\e this" object. |
In | Exporter - A Epetra_Export object specifying the communication required. |
In | CombineMode - A Epetra_CombineMode enumerated type specifying how results should be combined on the receiving processor. |
Definition at line 170 of file Epetra_DistObject.cpp.
int Epetra_DistObject::Export | ( | const Epetra_SrcDistObject & | A, |
const Epetra_Import & | Importer, | ||
Epetra_CombineMode | CombineMode, | ||
const Epetra_OffsetIndex * | Indexor = 0 |
||
) |
Exports an Epetra_DistObject using the Epetra_Import object.
In | Source - Distributed object that will be exported to the "\e this" object. |
In | Importer - A Epetra_Import object specifying the communication required. |
In | CombineMode - A Epetra_CombineMode enumerated type specifying how results should be combined on the receiving processor. |
Definition at line 198 of file Epetra_DistObject.cpp.
int Epetra_DistObject::Export | ( | const Epetra_SrcDistObject & | A, |
const Epetra_Export & | Exporter, | ||
Epetra_CombineMode | CombineMode, | ||
const Epetra_OffsetIndex * | Indexor = 0 |
||
) |
Exports an Epetra_DistObject using the Epetra_Export object.
In | Source - Distributed object that will be exported to the "\e this" multivector. |
In | Exporter - A Epetra_Export object specifying the communication required. |
In | CombineMode - A Epetra_CombineMode enumerated type specifying how results should be combined on the receiving processor. |
Definition at line 142 of file Epetra_DistObject.cpp.
|
inlinevirtual |
Returns the address of the Epetra_BlockMap for this multi-vector.
Implements Epetra_SrcDistObject.
Reimplemented in Epetra_VbrMatrix.
Definition at line 192 of file Epetra_DistObject.h.
|
inline |
Returns the address of the Epetra_Comm for this multi-vector.
Definition at line 195 of file Epetra_DistObject.h.
|
inline |
Returns true if this multi-vector is distributed global, i.e., not local replicated.
Definition at line 198 of file Epetra_DistObject.h.
|
virtual |
Print method.
Reimplemented from Epetra_Object.
Reimplemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_CrsGraph, Epetra_MultiVector, Epetra_IntMultiVector, Epetra_IntVector, Epetra_LongLongVector, Epetra_MapColoring, and Epetra_FECrsMatrix.
Definition at line 294 of file Epetra_DistObject.cpp.
|
protectedvirtual |
Perform actual transfer (redistribution) of data across memory images, using Epetra_Distributor object.
Definition at line 226 of file Epetra_DistObject.cpp.
|
protectedpure virtual |
Allows the source and target (this) objects to be compared for compatibility, return nonzero if not.
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_CrsGraph, Epetra_MultiVector, Epetra_IntMultiVector, Epetra_IntVector, Epetra_LongLongVector, and Epetra_MapColoring.
|
protectedpure virtual |
Perform ID copies and permutations that are on processor.
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_CrsGraph, Epetra_MultiVector, Epetra_IntMultiVector, Epetra_IntVector, Epetra_LongLongVector, and Epetra_MapColoring.
|
protectedpure virtual |
Perform any packing or preparation required for call to DoTransfer().
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_CrsGraph, Epetra_MultiVector, Epetra_IntMultiVector, Epetra_IntVector, Epetra_LongLongVector, and Epetra_MapColoring.
|
protectedpure virtual |
Perform any unpacking and combining after call to DoTransfer().
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_CrsGraph, Epetra_MultiVector, Epetra_IntMultiVector, Epetra_IntVector, Epetra_LongLongVector, and Epetra_MapColoring.
|
private |
Definition at line 310 of file Epetra_DistObject.cpp.
|
protected |
Definition at line 270 of file Epetra_DistObject.h.
|
protected |
Definition at line 271 of file Epetra_DistObject.h.
|
protected |
Definition at line 272 of file Epetra_DistObject.h.
|
protected |
Definition at line 273 of file Epetra_DistObject.h.
|
protected |
Definition at line 274 of file Epetra_DistObject.h.
|
protected |
Definition at line 275 of file Epetra_DistObject.h.
|
protected |
Definition at line 276 of file Epetra_DistObject.h.