Blockstructured Adaptive Mesh Refinement in object-oriented C++
00001 #ifndef _included_GridTableCommRcv_h 00002 #define _included_GridTableCommRcv_h 00003 00009 #include "DAGHParams.h" 00010 00011 #include "CommServer.h" 00012 #include "GridTable.h" 00013 00014 #define GridTableGhostRcvNULL ((GridTableGhostRcv *) NULL) 00015 #define GridTableDataRcvNULL ((GridTableDataRcv *) NULL) 00016 00017 class GridTableGhostRcv : public comm_service 00018 { 00019 public: 00020 GridTable &Table; 00021 char *Request; 00022 const unsigned Size; 00023 short rcvflag; 00024 00025 GridTableGhostRcv(GridTable& GT, 00026 const unsigned tag, 00027 const unsigned size, 00028 const int src=MPI_ANY_SOURCE); 00029 00030 inline ~GridTableGhostRcv() 00031 { if ( Request ) delete [] Request; } 00032 00033 void rcv_update( void * ); 00034 void callrecv( const MPI_Status & ); 00035 void callrecvNpost( const MPI_Status & ); 00036 void postrcv(); 00037 int received() { return (rcvflag == DAGHTrue); } 00038 const char * name() const; 00039 }; 00040 00041 class GridTableDataRcv : public comm_service 00042 { 00043 public: 00044 GridTable &Table; 00045 char *Request; 00046 const unsigned Size; 00047 short rcvflag; 00048 00049 GridTableDataRcv(GridTable& GT, 00050 const unsigned tag, 00051 const unsigned size, 00052 const int src=MPI_ANY_SOURCE); 00053 00054 inline ~GridTableDataRcv() 00055 { if ( Request ) delete [] Request; } 00056 00057 void rcv_update( void * ); 00058 void callrecv( const MPI_Status & ); 00059 void callrecvNpost( const MPI_Status & ); 00060 void postrcv(); 00061 int received() { return (rcvflag == DAGHTrue); } 00062 const char * name() const; 00063 }; 00064 00065 ostream & operator << ( ostream & , const MPI_Status & ); 00066 00067 #endif 00068
Quickstart Users Guide Programmers Reference Installation Examples Download
AMROC Main Home Contactlast update: 06/01/04