ForTrilinos
 All Classes Files Functions Pages
Data Types | List of all members
fepetra_import Module Reference

Data Types

type  epetra_import
 
Epetra_Import:This class builds an import object for efficient importing of off-processor elements. More...
 

Public Member Functions

Constructor Functions
type(epetra_import) function epetra_import (TargetMap, SourceMap)
 
Epetra_Import Constructor More...
 
type(epetra_import) function duplicate (this)
 
Constructs a copy of a Epetra_Import object More...
 
Public Member Functions
integer(c_int) function numsameids (this)
 Returns the number of elements that are identical between the source and target maps, up to the first different ID. More...
 
integer(c_int) function numpermuteids (this)
 Returns the number of elements that are local to the calling processor, but not part of the first NumSameIDs() elements. More...
 
integer(c_int) function,
dimension(:), allocatable 
permutefromlids (this)
 List of elements in the source map that are permuted. More...
 
integer(c_int) function,
dimension(:), allocatable 
permutetolids (this)
 List of elements in the target map that are permuted. More...
 
integer(c_int) function numremoteids (this)
 Returns the number of elements that are not on the calling processor. More...
 
integer(c_int) function numexportids (this)
 Returns the number of elements that must be sent by the calling processor to other processors. More...
 
integer(c_int) function numsend (this)
 Total number of elements to be sent. More...
 
integer(c_int) function numrecv (this)
 Total number of elements to be received. More...
 
type(epetra_blockmap) function sourcemap (this)
 Returns the SourceMap used to construct this importer. More...
 
type(epetra_blockmap) function targetmap (this)
 Returns the TargetMap used to construct this importer. More...
 

Member Function/Subroutine Documentation

type(epetra_import) function fepetra_import::duplicate ( type(epetra_import), intent(in)  this)


Constructs a copy of a Epetra_Import object

This constructor returns a copy of an Epetra_Import object.

type(epetra_import) function fepetra_import::epetra_import ( class(epetra_blockmap), intent(in)  TargetMap,
class(epetra_blockmap), intent(in)  SourceMap 
)


Epetra_Import Constructor

Constructs a Epetra_Import object from the source and target maps. This constructor builds an Epetra_Import object by comparing the GID lists of the source and target maps.

Parameters
[in]targetmapIn Map containing the GIDs from which data should be imported to each processor from the source map whenever an import operation is performed using this importer.
[in]sourcemapIn Map containing the GIDs that should be used for importing data.
[in]sourcemap
Warning: Note that the SourceMap must have GIDs uniquely owned, each GID of the source map can occur only once.

Builds an import object that will transfer objects built with SourceMap to objects built with TargetMap. A Epetra_Import object categorizes the elements of the target map into three sets as follows:
  • All elements in the target map that have the same GID as the corresponding element of the source map, starting with the first element in the target map, going up to the first element that is different from the source map. The number of these IDs is returned by NumSameIDs().
  • All elements that are local to the processor, but are not part of the first set of elements. These elements have GIDs that are owned by the calling processor, but at least the first element of this list is permuted. Even if subsequent elements are not permuted, they are included in this list. The number of permuted elements is returned by NumPermutedIDs(). The list of elements (local IDs) in the source map that are permuted can be found in the list PermuteFromLIDs(). The list of elements (local IDs) in the target map that are the new locations of the source elements can be found in the list PermuteToLIDs().
  • All remaining elements of the target map correspond to global IDs that are owned by remote processors. The number of these elements is returned by NumRemoteIDs() and the list of these is returned by RemoteLIDs().
    See Trilinos Epetra_Import documentation for an example.
integer(c_int) function fepetra_import::numexportids ( class(epetra_import), intent(in)  this)

Returns the number of elements that must be sent by the calling processor to other processors.

integer(c_int) function fepetra_import::numpermuteids ( class(epetra_import), intent(in)  this)

Returns the number of elements that are local to the calling processor, but not part of the first NumSameIDs() elements.

integer(c_int) function fepetra_import::numrecv ( class(epetra_import), intent(in)  this)

Total number of elements to be received.

integer(c_int) function fepetra_import::numremoteids ( class(epetra_import), intent(in)  this)

Returns the number of elements that are not on the calling processor.

integer(c_int) function fepetra_import::numsameids ( class(epetra_import), intent(in)  this)

Returns the number of elements that are identical between the source and target maps, up to the first different ID.

integer(c_int) function fepetra_import::numsend ( class(epetra_import), intent(in)  this)

Total number of elements to be sent.

integer(c_int) function, dimension(:), allocatable fepetra_import::permutefromlids ( class(epetra_import), intent(in)  this)

List of elements in the source map that are permuted.

integer(c_int) function, dimension(:), allocatable fepetra_import::permutetolids ( class(epetra_import), intent(in)  this)

List of elements in the target map that are permuted.

type(epetra_blockmap) function fepetra_import::sourcemap ( class(epetra_import), intent(in)  this)

Returns the SourceMap used to construct this importer.

type(epetra_blockmap) function fepetra_import::targetmap ( class(epetra_import), intent(in)  this)

Returns the TargetMap used to construct this importer.


The documentation for this module was generated from the following file: