|
Epetra Package Browser (Single Doxygen Collection)
Development
|
Go to the documentation of this file.
119 #ifdef HAVE_EPETRA_DEBUG
135 PermuteToLIDs, PermuteFromLIDs, RemoteLIDs, ExportLIDs,
147 #ifdef HAVE_EPETRA_DEBUG
163 PermuteToLIDs, PermuteFromLIDs, RemoteLIDs, ExportLIDs,
175 #ifdef HAVE_EPETRA_DEBUG
191 PermuteToLIDs, PermuteFromLIDs, RemoteLIDs, ExportLIDs,
203 #ifdef HAVE_EPETRA_DEBUG
219 PermuteToLIDs, PermuteFromLIDs, RemoteLIDs, ExportLIDs,
233 int* PermuteFromLIDs,
247 if (NumSameIDs + NumPermuteIDs > 0) {
256 if (CombineMode==
Zero)
260 bool VarSizes =
false;
261 if( NumExportIDs > 0) {
263 Sizes_ =
new int[NumExportIDs];
266 LenExports, Exports, SizeOfPacket,
Sizes_, VarSizes, Distor));
298 for (
int iproc=0; iproc < NumProc; iproc++) {
301 os <<
"Length of Export buffer (in chars) = " <<
LenExports_ << std::endl;
302 os <<
"Length of Import buffer (in chars) = " <<
LenImports_ << std::endl;
314 bool throw_error =
true;
316 throw ReportError(
"Epetra_DistObject::operator= is not supported.",-1);
Epetra_Object: The base Epetra class.
int * PermuteFromLIDs() const
List of elements in the source map that are permuted.
Epetra_Distributor & Distributor() const
int * PermuteFromLIDs() const
List of elements in the source map that are permuted.
virtual int NumProc() const =0
Returns total number of processes.
const Epetra_Comm & Comm() const
Returns the address of the Epetra_Comm for this multi-vector.
int * PermuteToLIDs() const
List of elements in the target map that are permuted.
int * ExportLIDs() const
List of elements that will be sent to other processors.
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().
int NumRemoteIDs() const
Returns the number of elements that are not on the calling processor.
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().
Epetra_SrcDistObject: A class for supporting flexible source distributed objects for import/export op...
#define EPETRA_CHK_ERR(a)
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.
int NumRemoteIDs() const
Returns the number of elements that are not on the calling processor.
int NumPermuteIDs() const
Returns the number of elements that are local to the calling processor, but not part of the first Num...
int NumSameIDs() const
Returns the number of elements that are identical between the source and target maps,...
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.
Epetra_DistObject & operator=(const Epetra_DistObject &src)
virtual int DoReverse(char *export_objs, int obj_size, int &len_import_objs, char *&import_objs)=0
Execute reverse of plan on buffer of export objects in a single step.
virtual ~Epetra_DistObject()
Epetra_DistObject destructor.
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 objec...
virtual int Do(char *export_objs, int obj_size, int &len_import_objs, char *&import_objs)=0
Execute plan on buffer of export objects in a single step.
const Epetra_BlockMap & SourceMap() const
Returns the SourceMap used to construct this importer.
virtual int ReportError(const std::string Message, int ErrorCode) const
Error reporting method.
int * RemoteLIDs() const
List of elements in the target map that are coming from other processors.
bool SameAs(const Epetra_BlockMap &Map) const
Returns true if this and Map are identical maps.
Epetra_BlockMap: A class for partitioning block element vectors and matrices.
int * ExportLIDs() const
List of elements that will be sent to other processors.
int * PermuteToLIDs() const
List of elements in the target map that are permuted.
Epetra_OffsetIndex: This class builds index for efficient mapping of data from one Epetra_CrsGraph ba...
bool DistributedGlobal() const
Returns true if map is defined across more than one processor.
Epetra_DistObject(const Epetra_BlockMap &Map)
Basic Epetra_DistObject constuctor.
const Epetra_BlockMap & TargetMap() const
Returns the TargetMap used to construct this exporter.
const Epetra_BlockMap & SourceMap() const
Returns the SourceMap used to construct this exporter.
const Epetra_BlockMap & TargetMap() const
Returns the TargetMap used to construct this importer.
Epetra_DistObject: A class for constructing and using dense multi-vectors, vectors and matrices in pa...
int NumPermuteIDs() const
Returns the number of elements that are local to the calling processor, but not part of the first Num...
virtual void Print(std::ostream &os) const
Print method.
int NumExportIDs() const
Returns the number of elements that must be sent by the calling processor to other processors.
Epetra_Distributor: The Epetra Gather/Scatter Setup Base Class.
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.
virtual void PrintInfo(std::ostream &os) const =0
Print object to an output stream.
int NumExportIDs() const
Returns the number of elements that must be sent by the calling processor to other processors.
int NumSameIDs() const
Returns the number of elements that are identical between the source and target maps,...
Epetra_Export: This class builds an export object for efficient exporting of off-processor elements.
Epetra_Distributor & Distributor() const
int * RemoteLIDs() const
List of elements in the target map that are coming from other processors.
virtual int MyPID() const =0
Return my process ID.
Epetra_Import: This class builds an import object for efficient importing of off-processor elements.
virtual int CheckSizes(const Epetra_SrcDistObject &Source)=0
Allows the source and target (this) objects to be compared for compatibility, return nonzero if not.