PPL Logo

libs/ck-libs/datatransfer/parallelsurfacetransfer.C File Reference

Go to the source code of this file.

Data Structures

class  surfProgress_t
class  ConcreteLocalElement
 Provides access to a local element. More...
class  parallelSurfaceTransfer_c
class  meshState
class  sendState
 Describes the outgoing mesh. More...
class  entityPackList
class  meshChunk
 Manages the on-the-wire mesh format when sending or receiving tet mesh chunks. More...
struct  meshChunk::header_t
class  faceSender
 Sends faces across the wire to one destination. More...
class  ConcreteNetworkElement
 Provides access to an element received off the network. More...
class  faceReceiver
 Receives faces from the wire. More...
class  VerboseSurfProgress_t

Functions

static bbox3d getPrismBox (int t, const PrismMesh &mesh)
static bbox3d getTriangleBox (int t, const TriangleSurfaceMesh &mesh)
int bytesToXfer (int nBytes)
template<class D, class S>
void copy (D *dest, const S *src, int n)
void ParallelSurfaceTransfer (collide_t voxels, MPI_Comm mpi_comm, int valsPerFace, int valsPerPt, const double *srcFaceVals, const double *srcPtVals, const PrismMesh &srcMesh, double *destFaceVals, double *destPtVals, const TriangleSurfaceMesh &destMesh)
 Transfer this data from srcMesh to destMesh, where the srcMesh is a doubly-extruded surface mesh of prisms, and destMesh is a surface mesh of triangles.


Function Documentation

static bbox3d getPrismBox ( int  t,
const PrismMesh mesh 
) [static]

Definition at line 126 of file parallelsurfacetransfer.C.

References bbox3d::add(), conn, bbox3d::empty(), PrismMesh::getPoint(), and PrismMesh::getPrism().

Referenced by parallelSurfaceTransfer_c::transfer().

Here is the call graph for this function:

Here is the caller graph for this function:

static bbox3d getTriangleBox ( int  t,
const TriangleSurfaceMesh mesh 
) [static]

Definition at line 134 of file parallelsurfacetransfer.C.

References bbox3d::add(), conn, bbox3d::empty(), TriangleSurfaceMesh::getPoint(), and TriangleSurfaceMesh::getTriangle().

Referenced by parallelSurfaceTransfer_c::transfer().

Here is the call graph for this function:

Here is the caller graph for this function:

int bytesToXfer ( int  nBytes  )  [inline]

template<class D, class S>
void copy ( D *  dest,
const S *  src,
int  n 
) [inline]

void ParallelSurfaceTransfer ( collide_t  voxels,
MPI_Comm  mpi_comm,
int  valsPerFace,
int  valsPerPt,
const double *  srcFace,
const double *  srcPt,
const PrismMesh srcMesh,
double *  destFace,
double *  destPt,
const TriangleSurfaceMesh destMesh 
)

Transfer this data from srcMesh to destMesh, where the srcMesh is a doubly-extruded surface mesh of prisms, and destMesh is a surface mesh of triangles.

There are valsPerFace double's associated with each prism of the mesh, stored in srcFace and destFace; there are valsPerPt double's associated with each point of the mesh, stored in srcPt and destPt;

Definition at line 624 of file parallelsurfacetransfer.C.

References surfProgress_t::p(), PUP::t, and parallelSurfaceTransfer_c::transfer().

Here is the call graph for this function:


Generated on Mon Sep 21 08:06:59 2020 for Charm++ by  doxygen 1.5.5