PPL Logo

meshChunk Class Reference

Manages the on-the-wire mesh format when sending or receiving tet mesh chunks. More...

Collaboration diagram for meshChunk:

Collaboration graph
[legend]

Public Member Functions

 meshChunk ()
 ~meshChunk ()
void allocate (const meshState &s, int nSend, int nFace, int nPt)
 Allocate a new outgoing message with this size:.
int messageSizeXfer (void) const
 Return the number of doubles in this message:.
double * messageBuf (void) const
void receive (const meshState &s, double *buf_, int msgLen)
 Set up our pointers into this message, which is then owned by and will be deleted by this object.
intgetSendFaces (void)
 Return the list of tets that are being sent:.
int nSendFaces (void) const
int nFaces (void) const
 Return the number of tets included in this message:.
intgetFaceConn (const meshState &s, int t)
 Return the connectivity array associated with this tet:.
double * getFaceData (const meshState &s, int t)
 Return the user data associated with this tet:.
int nPts (void) const
 Return the number of points included in this message:.
double * getPtLoc (const meshState &s, int n)
 Return the coordinate data for this point:.
double * getPtData (const meshState &s, int n)
 Return the user data for this point:.

Private Member Functions

int headerSize () const
int sendFacesSize (const meshState &s, int nSend) const
int faceDataRecordSize (const meshState &s) const
int faceDataSize (const meshState &s, int nFaces) const
int ptDataRecordSize (const meshState &s) const
int ptDataSize (const meshState &s, int nPt) const
void setupPointers (const meshState &s, int msgLen)

Private Attributes

double * buf
header_theader
intsendFaces
double * faceData
double * ptData

Data Structures

struct  header_t

Detailed Description

Manages the on-the-wire mesh format when sending or receiving tet mesh chunks.

The on-the-wire mesh format looks like this:

Definition at line 217 of file parallelsurfacetransfer.C.


Constructor & Destructor Documentation

meshChunk::meshChunk (  )  [inline]

Definition at line 247 of file parallelsurfacetransfer.C.

References buf.

meshChunk::~meshChunk (  )  [inline]

Definition at line 248 of file parallelsurfacetransfer.C.

References buf.


Member Function Documentation

int meshChunk::headerSize (  )  const [inline, private]

Definition at line 228 of file parallelsurfacetransfer.C.

References bytesToXfer().

Referenced by allocate(), and setupPointers().

Here is the call graph for this function:

Here is the caller graph for this function:

int meshChunk::sendFacesSize ( const meshState s,
int  nSend 
) const [inline, private]

Definition at line 232 of file parallelsurfacetransfer.C.

References bytesToXfer().

Referenced by allocate(), and setupPointers().

Here is the call graph for this function:

Here is the caller graph for this function:

int meshChunk::faceDataRecordSize ( const meshState s  )  const [inline, private]

Definition at line 236 of file parallelsurfacetransfer.C.

References bytesToXfer(), and meshState::faceVal.

Referenced by faceDataSize(), getFaceConn(), and getFaceData().

Here is the call graph for this function:

Here is the caller graph for this function:

int meshChunk::faceDataSize ( const meshState s,
int  nFaces 
) const [inline, private]

Definition at line 238 of file parallelsurfacetransfer.C.

References faceDataRecordSize().

Referenced by allocate(), and setupPointers().

Here is the call graph for this function:

Here is the caller graph for this function:

int meshChunk::ptDataRecordSize ( const meshState s  )  const [inline, private]

Definition at line 242 of file parallelsurfacetransfer.C.

References meshState::ptVal.

Referenced by getPtData(), getPtLoc(), and ptDataSize().

Here is the caller graph for this function:

int meshChunk::ptDataSize ( const meshState s,
int  nPt 
) const [inline, private]

Definition at line 244 of file parallelsurfacetransfer.C.

References ptDataRecordSize().

Referenced by allocate(), and setupPointers().

Here is the call graph for this function:

Here is the caller graph for this function:

void meshChunk::allocate ( const meshState s,
int  nSend,
int  nFace,
int  nPt 
) [inline]

Allocate a new outgoing message with this size:.

Definition at line 252 of file parallelsurfacetransfer.C.

References buf, faceDataSize(), header, headerSize(), meshChunk::header_t::nFace, meshChunk::header_t::nPt, meshChunk::header_t::nSend, meshChunk::header_t::nXfer, ptDataSize(), sendFacesSize(), and setupPointers().

Referenced by faceSender::putFace().

Here is the call graph for this function:

Here is the caller graph for this function:

int meshChunk::messageSizeXfer ( void   )  const [inline]

Return the number of doubles in this message:.

Definition at line 264 of file parallelsurfacetransfer.C.

References header, and meshChunk::header_t::nXfer.

Referenced by faceSender::isend().

Here is the caller graph for this function:

double* meshChunk::messageBuf ( void   )  const [inline]

Definition at line 265 of file parallelsurfacetransfer.C.

References buf.

Referenced by faceSender::isend().

Here is the caller graph for this function:

void meshChunk::receive ( const meshState s,
double *  buf_,
int  msgLen 
) [inline]

Set up our pointers into this message, which is then owned by and will be deleted by this object.

Definition at line 270 of file parallelsurfacetransfer.C.

References buf, and setupPointers().

Referenced by faceReceiver::recv().

Here is the call graph for this function:

Here is the caller graph for this function:

int* meshChunk::getSendFaces ( void   )  [inline]

Return the list of tets that are being sent:.

Definition at line 277 of file parallelsurfacetransfer.C.

References sendFaces.

Referenced by faceReceiver::getFace(), and faceSender::putFace().

Here is the caller graph for this function:

int meshChunk::nSendFaces ( void   )  const [inline]

Definition at line 278 of file parallelsurfacetransfer.C.

References header, and meshChunk::header_t::nSend.

int meshChunk::nFaces ( void   )  const [inline]

Return the number of tets included in this message:.

Definition at line 281 of file parallelsurfacetransfer.C.

References header, and meshChunk::header_t::nFace.

int* meshChunk::getFaceConn ( const meshState s,
int  t 
) [inline]

Return the connectivity array associated with this tet:.

Definition at line 283 of file parallelsurfacetransfer.C.

References faceData, and faceDataRecordSize().

Referenced by faceSender::putFace(), and ConcreteNetworkElement::setFace().

Here is the call graph for this function:

Here is the caller graph for this function:

double* meshChunk::getFaceData ( const meshState s,
int  t 
) [inline]

Return the user data associated with this tet:.

Definition at line 287 of file parallelsurfacetransfer.C.

References bytesToXfer(), faceData, and faceDataRecordSize().

Referenced by faceReceiver::getFace(), and faceSender::putFace().

Here is the call graph for this function:

Here is the caller graph for this function:

int meshChunk::nPts ( void   )  const [inline]

Return the number of points included in this message:.

Definition at line 292 of file parallelsurfacetransfer.C.

References header, and meshChunk::header_t::nPt.

double* meshChunk::getPtLoc ( const meshState s,
int  n 
) [inline]

Return the coordinate data for this point:.

Definition at line 294 of file parallelsurfacetransfer.C.

References ptData, and ptDataRecordSize().

Referenced by ConcreteNetworkElement::getNodeLocation(), and faceSender::putFace().

Here is the call graph for this function:

Here is the caller graph for this function:

double* meshChunk::getPtData ( const meshState s,
int  n 
) [inline]

Return the user data for this point:.

Definition at line 298 of file parallelsurfacetransfer.C.

References ptData, and ptDataRecordSize().

Referenced by ConcreteNetworkElement::getNodeData(), and faceSender::putFace().

Here is the call graph for this function:

Here is the caller graph for this function:

void meshChunk::setupPointers ( const meshState s,
int  msgLen 
) [inline, private]

Definition at line 304 of file parallelsurfacetransfer.C.

References PUP::b, buf, faceData, faceDataSize(), header, headerSize(), meshChunk::header_t::nFace, meshChunk::header_t::nPt, meshChunk::header_t::nSend, meshChunk::header_t::nXfer, ptData, ptDataSize(), sendFaces, and sendFacesSize().

Referenced by allocate(), and receive().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

double* meshChunk::buf [private]

Definition at line 231 of file parallelsurfacetransfer.C.

Referenced by getSendFaces(), and setupPointers().

double* meshChunk::faceData [private]

Definition at line 235 of file parallelsurfacetransfer.C.

Referenced by getFaceConn(), getFaceData(), and setupPointers().

double* meshChunk::ptData [private]

Definition at line 241 of file parallelsurfacetransfer.C.

Referenced by getPtData(), getPtLoc(), and setupPointers().


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

Generated on Mon Sep 21 08:27:20 2020 for Charm++ by  doxygen 1.5.5