Epetra Package Browser (Single Doxygen Collection)
Development
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Epetra_Export.h
Go to the documentation of this file.
1
/*
2
//@HEADER
3
// ************************************************************************
4
//
5
// Epetra: Linear Algebra Services Package
6
// Copyright 2011 Sandia Corporation
7
//
8
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9
// the U.S. Government retains certain rights in this software.
10
//
11
// Redistribution and use in source and binary forms, with or without
12
// modification, are permitted provided that the following conditions are
13
// met:
14
//
15
// 1. Redistributions of source code must retain the above copyright
16
// notice, this list of conditions and the following disclaimer.
17
//
18
// 2. Redistributions in binary form must reproduce the above copyright
19
// notice, this list of conditions and the following disclaimer in the
20
// documentation and/or other materials provided with the distribution.
21
//
22
// 3. Neither the name of the Corporation nor the names of the
23
// contributors may be used to endorse or promote products derived from
24
// this software without specific prior written permission.
25
//
26
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
//
38
// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
39
//
40
// ************************************************************************
41
//@HEADER
42
*/
43
44
#ifndef EPETRA_EXPORT_H
45
#define EPETRA_EXPORT_H
46
47
#include "
Epetra_Object.h
"
48
#include "
Epetra_BlockMap.h
"
49
50
class
Epetra_Distributor
;
51
class
Epetra_Import
;
53
61
62
class
EPETRA_LIB_DLL_EXPORT
Epetra_Export
:
public
Epetra_Object
{
63
friend
class
Epetra_Import
;
64
public
:
65
67
231
Epetra_Export
(
const
Epetra_BlockMap
&
SourceMap
,
const
Epetra_BlockMap
&
TargetMap
);
232
234
Epetra_Export
(
const
Epetra_Export
& Exporter);
235
237
Epetra_Export
(
const
Epetra_Import
& Exporter);
238
240
virtual
~Epetra_Export
(
void
);
241
243
int
NumSameIDs
()
const
{
return
(
NumSameIDs_
);};
244
246
int
NumPermuteIDs
()
const
{
return
(
NumPermuteIDs_
);};
247
249
int
*
PermuteFromLIDs
()
const
{
return
(
PermuteFromLIDs_
);};
251
int
*
PermuteToLIDs
()
const
{
return
(
PermuteToLIDs_
);};
252
254
int
NumRemoteIDs
()
const
{
return
(
NumRemoteIDs_
);};
255
257
int
*
RemoteLIDs
()
const
{
return
(
RemoteLIDs_
);};
258
260
int
NumExportIDs
()
const
{
return
(
NumExportIDs_
);};
261
263
int
*
ExportLIDs
()
const
{
return
(
ExportLIDs_
);};
264
266
int
*
ExportPIDs
()
const
{
return
(
ExportPIDs_
);};
267
269
int
NumSend
()
const
{
return
(
NumSend_
);};
270
272
int
NumRecv
()
const
{
return
(
NumRecv_
);};
273
275
const
Epetra_BlockMap
&
SourceMap
()
const
{
return
(
SourceMap_
);};
276
278
const
Epetra_BlockMap
&
TargetMap
()
const
{
return
(
TargetMap_
);};
279
280
Epetra_Distributor
&
Distributor
()
const
{
return
(*
Distor_
);};
281
282
const
Epetra_Distributor
*
DistributorPtr
()
const
{
return
(
Distor_
);}
283
285
286
virtual
void
Print
(std::ostream & os)
const
;
288
protected
:
289
290
friend
class
Epetra_BlockMap
;
291
292
private
:
293
Epetra_Export
&
operator=
(
const
Epetra_Export
& src);
294
295
Epetra_BlockMap
TargetMap_
;
296
Epetra_BlockMap
SourceMap_
;
297
298
int
NumSameIDs_
;
299
int
NumPermuteIDs_
;
300
int
*
PermuteToLIDs_
;
301
int
*
PermuteFromLIDs_
;
302
int
NumRemoteIDs_
;
303
int
*
RemoteLIDs_
;
304
305
int
NumExportIDs_
;
306
int
*
ExportLIDs_
;
307
int
*
ExportPIDs_
;
308
309
int
NumSend_
;
310
int
NumRecv_
;
311
312
Epetra_Distributor
*
Distor_
;
313
314
template
<
typename
int
_type>
315
void
Construct
(
const
Epetra_BlockMap
&
SourceMap
,
const
Epetra_BlockMap
&
TargetMap
);
316
317
};
318
319
#endif
/* EPETRA_EXPORT_H */
Epetra_BlockMap.h
Epetra_Object.h
Epetra_Distributor
Epetra_Distributor: The Epetra Gather/Scatter Setup Base Class.
Definition
Epetra_Distributor.h:61
Epetra_Export::RemoteLIDs
int * RemoteLIDs() const
List of elements in the target map that are coming from other processors.
Definition
Epetra_Export.h:257
Epetra_Export::PermuteToLIDs_
int * PermuteToLIDs_
Definition
Epetra_Export.h:300
Epetra_Export::TargetMap
const Epetra_BlockMap & TargetMap() const
Returns the TargetMap used to construct this exporter.
Definition
Epetra_Export.h:278
Epetra_Export::NumExportIDs_
int NumExportIDs_
Definition
Epetra_Export.h:305
Epetra_Export::RemoteLIDs_
int * RemoteLIDs_
Definition
Epetra_Export.h:303
Epetra_Export::NumRecv_
int NumRecv_
Definition
Epetra_Export.h:310
Epetra_Export::Distributor
Epetra_Distributor & Distributor() const
Definition
Epetra_Export.h:280
Epetra_Export::Epetra_Export
Epetra_Export(const Epetra_BlockMap &SourceMap, const Epetra_BlockMap &TargetMap)
Constructs a Epetra_Export object from the source and target maps.
Definition
Epetra_Export.cpp:230
Epetra_Export::NumSameIDs_
int NumSameIDs_
Definition
Epetra_Export.h:298
Epetra_Export::ExportLIDs_
int * ExportLIDs_
Definition
Epetra_Export.h:306
Epetra_Export::NumRemoteIDs
int NumRemoteIDs() const
Returns the number of elements that are not on the calling processor.
Definition
Epetra_Export.h:254
Epetra_Export::Epetra_Import
friend class Epetra_Import
Definition
Epetra_Export.h:63
Epetra_Export::NumPermuteIDs_
int NumPermuteIDs_
Definition
Epetra_Export.h:299
Epetra_Export::SourceMap
const Epetra_BlockMap & SourceMap() const
Returns the SourceMap used to construct this exporter.
Definition
Epetra_Export.h:275
Epetra_Export::ExportPIDs_
int * ExportPIDs_
Definition
Epetra_Export.h:307
Epetra_Export::PermuteToLIDs
int * PermuteToLIDs() const
List of elements in the target map that are permuted.
Definition
Epetra_Export.h:251
Epetra_Export::TargetMap_
Epetra_BlockMap TargetMap_
Definition
Epetra_Export.h:295
Epetra_Export::NumSend_
int NumSend_
Definition
Epetra_Export.h:309
Epetra_Export::NumPermuteIDs
int NumPermuteIDs() const
Returns the number of elements that are local to the calling processor, but not part of the first Num...
Definition
Epetra_Export.h:246
Epetra_Export::NumRemoteIDs_
int NumRemoteIDs_
Definition
Epetra_Export.h:302
Epetra_Export::ExportPIDs
int * ExportPIDs() const
List of processors to which elements will be sent, ExportLIDs() [i] will be sent to processor ExportP...
Definition
Epetra_Export.h:266
Epetra_Export::SourceMap_
Epetra_BlockMap SourceMap_
Definition
Epetra_Export.h:296
Epetra_Export::PermuteFromLIDs
int * PermuteFromLIDs() const
List of elements in the source map that are permuted.
Definition
Epetra_Export.h:249
Epetra_Export::NumSameIDs
int NumSameIDs() const
Returns the number of elements that are identical between the source and target maps,...
Definition
Epetra_Export.h:243
Epetra_Export::NumSend
int NumSend() const
Total number of elements to be sent.
Definition
Epetra_Export.h:269
Epetra_Export::Construct
void Construct(const Epetra_BlockMap &SourceMap, const Epetra_BlockMap &TargetMap)
Definition
Epetra_Export.cpp:59
Epetra_Export::NumRecv
int NumRecv() const
Total number of elements to be received.
Definition
Epetra_Export.h:272
Epetra_Export::ExportLIDs
int * ExportLIDs() const
List of elements that will be sent to other processors.
Definition
Epetra_Export.h:263
Epetra_Export::NumExportIDs
int NumExportIDs() const
Returns the number of elements that must be sent by the calling processor to other processors.
Definition
Epetra_Export.h:260
Epetra_Export::Distor_
Epetra_Distributor * Distor_
Definition
Epetra_Export.h:312
Epetra_Export::Epetra_BlockMap
friend class Epetra_BlockMap
Definition
Epetra_Export.h:290
Epetra_Export::PermuteFromLIDs_
int * PermuteFromLIDs_
Definition
Epetra_Export.h:301
Epetra_Export::DistributorPtr
const Epetra_Distributor * DistributorPtr() const
Definition
Epetra_Export.h:282
Epetra_Import
Epetra_Import: This class builds an import object for efficient importing of off-processor elements.
Definition
Epetra_Import.h:63
Epetra_Object::Print
virtual void Print(std::ostream &os) const
Definition
Epetra_Object.cpp:97
Epetra_Object::Epetra_Object
Epetra_Object(int TracebackModeIn=-1, bool set_label=true)
Epetra_Object Constructor.
Definition
Epetra_Object.cpp:50
Epetra_Object::operator=
Epetra_Object & operator=(const Epetra_Object &src)
Definition
Epetra_Object.h:164
Generated by
1.17.0