PPL Logo

parallelTransfer_c Class Reference

Collaboration diagram for parallelTransfer_c:

Collaboration graph
[legend]

Public Member Functions

 parallelTransfer_c (collide_t voxels_, MPI_Comm mpi_comm_, int valsPerTet_, int valsPerPt_, const xfer_t *srcTet_, const xfer_t *srcPt_, const TetMesh &srcMesh_, xfer_t *destTet_, xfer_t *destPt_, const TetMesh &destMesh_)
 ~parallelTransfer_c ()
void transfer (progress_t &progress)
 Perform a parallel data transfer from srcVals to destVals.

Private Member Functions

bool isDest (int n)
 Return true if this is the collision-box number of a destination tet.
bool isLocal (const int *coll)
 Return true if this collision record describes a local intersection.
void accumulateCellValues (const xfer_t *sCellVals, int dest, double sharedVolume)
 A source cell, with values sVals, overlaps with this dest cell with this much shared volume.
void transferNodeValues (const ConcreteElementNodeData &srcElement, int dest)
 This source element, with values sPt, overlaps with this dest element.

Private Attributes

collide_t voxels
int firstDest
MPI_Comm mpi_comm
int myRank
int commSize
int valsPerTet
int valsPerPt
const TetMeshsrcMesh
const xfer_tsrcTet
const xfer_tsrcPt
const TetMeshdestMesh
xfer_tdestTet
xfer_tdestPt
double * destVolumes
ConcreteLocalElement theLocalElement

Detailed Description

Definition at line 48 of file paralleltransfer.C.


Constructor & Destructor Documentation

parallelTransfer_c::parallelTransfer_c ( collide_t  voxels_,
MPI_Comm  mpi_comm_,
int  valsPerTet_,
int  valsPerPt_,
const xfer_t srcTet_,
const xfer_t srcPt_,
const TetMesh srcMesh_,
xfer_t destTet_,
xfer_t destPt_,
const TetMesh destMesh_ 
) [inline]

Definition at line 96 of file paralleltransfer.C.

References commSize, PUP::d, destMesh, destTet, destVolumes, TetMesh::getTets(), mpi_comm, MPI_Comm_rank, myRank, and valsPerTet.

Here is the call graph for this function:

parallelTransfer_c::~parallelTransfer_c (  )  [inline]

Definition at line 116 of file paralleltransfer.C.

References destVolumes.


Member Function Documentation

bool parallelTransfer_c::isDest ( int  n  )  [inline, private]

Return true if this is the collision-box number of a destination tet.

Only works for local numbers.

Definition at line 53 of file paralleltransfer.C.

References firstDest.

Referenced by transfer().

Here is the caller graph for this function:

bool parallelTransfer_c::isLocal ( const int coll  )  [inline, private]

Return true if this collision record describes a local intersection.

Definition at line 58 of file paralleltransfer.C.

References myRank.

Referenced by transfer().

Here is the caller graph for this function:

void parallelTransfer_c::accumulateCellValues ( const xfer_t sCellVals,
int  dest,
double  sharedVolume 
) [inline, private]

A source cell, with values sVals, overlaps with this dest cell with this much shared volume.

Transfer cell-centered values.

Definition at line 73 of file paralleltransfer.C.

References destTet, destVolumes, and valsPerTet.

Referenced by transfer().

Here is the caller graph for this function:

void parallelTransfer_c::transferNodeValues ( const ConcreteElementNodeData srcElement,
int  dest 
) [inline, private]

This source element, with values sPt, overlaps with this dest element.

Transfer any possible node-centered values.

Definition at line 82 of file paralleltransfer.C.

References destMesh, destPt, GenericElement::element_contains_point(), TetMesh::getPoint(), TetMesh::getTet(), GenericElement::interpolate_natural(), and valsPerPt.

Referenced by transfer().

Here is the call graph for this function:

Here is the caller graph for this function:

void parallelTransfer_c::transfer ( progress_t progress  ) 


Field Documentation

Definition at line 49 of file paralleltransfer.C.

Referenced by transfer().

Definition at line 50 of file paralleltransfer.C.

Referenced by isDest(), and transfer().

Definition at line 55 of file paralleltransfer.C.

Referenced by parallelTransfer_c(), and transfer().

Definition at line 56 of file paralleltransfer.C.

Referenced by parallelTransfer_c(), and transfer().

Definition at line 60 of file paralleltransfer.C.

Referenced by accumulateCellValues(), parallelTransfer_c(), and transfer().

Definition at line 60 of file paralleltransfer.C.

Referenced by transfer(), and transferNodeValues().

Definition at line 61 of file paralleltransfer.C.

Referenced by transfer().

Definition at line 62 of file paralleltransfer.C.

Referenced by transfer().

Definition at line 63 of file paralleltransfer.C.

Referenced by transfer().

Definition at line 64 of file paralleltransfer.C.

Referenced by parallelTransfer_c(), transfer(), and transferNodeValues().

Definition at line 65 of file paralleltransfer.C.

Referenced by accumulateCellValues(), parallelTransfer_c(), and transfer().

Definition at line 66 of file paralleltransfer.C.

Referenced by transferNodeValues().

Definition at line 69 of file paralleltransfer.C.

Referenced by transfer().


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

Generated on Mon Sep 21 08:28:24 2020 for Charm++ by  doxygen 1.5.5