52 #include <esysUtils/Esys_MPI.h>
134 double*
getOutBuffer(
unsigned char subx,
unsigned char suby,
unsigned char subz);
139 double*
getInBuffer(
unsigned char subx,
unsigned char suby,
unsigned char subz);
143 size_t getBuffSize(
unsigned char subx,
unsigned char suby,
unsigned char subz);
147 size_t startOffset(
unsigned char subx,
unsigned char suby,
unsigned char subz);
150 void displayBlock(
unsigned char subx,
unsigned char suby,
unsigned char subz,
bool out);
163 void setUsed(
unsigned char buffid);
170 void createBuffArrays(
double* startaddress,
double* buffptr[27],
size_t inset,
size_t xmidlen,
size_t ymidlen,
size_t zmidlen);
196 int getTag(
unsigned char sourcex,
unsigned char sourcey,
unsigned char sourcez,
unsigned char targetx,
unsigned char targety,
unsigned char targetz);
200 int getTag(
unsigned char destx,
unsigned char desty,
unsigned char destz,
bool deltax,
bool deltay,
bool deltaz);
204 unsigned char getSrcBuffID(
unsigned char destx,
unsigned char desty,
unsigned char destz,
bool deltax,
bool deltay,
bool deltaz);
237 size_t ymidlen,
unsigned int dpp=1);
243 double*
getOutBuffer(
unsigned char subx,
unsigned char suby);
248 double*
getInBuffer(
unsigned char subx,
unsigned char suby);
252 size_t getBuffSize(
unsigned char subx,
unsigned char suby);
256 size_t startOffset(
unsigned char subx,
unsigned char suby);
259 void displayBlock(
unsigned char subx,
unsigned char suby,
bool out);
272 void setUsed(
unsigned char buffid);
279 void createBuffArrays(
double* startaddress,
double* buffptr[27],
size_t inset,
size_t xmidlen,
size_t ymidlen);
301 int getTag2(
unsigned char sourcex,
unsigned char sourcey,
unsigned char targetx,
unsigned char targety);
305 int getTag2(
unsigned char destx,
unsigned char desty,
bool deltax,
bool deltay);
309 unsigned char getSrcBuffID2(
unsigned char destx,
unsigned char desty,
bool deltax,
bool deltay);
double * getOutBuffer(unsigned char subx, unsigned char suby)
Definition: blocktools2.cpp:99
void generateOutNeighbours(coord_t blockx, coord_t blocky, messvec &v)
Definition: blocktools2.cpp:66
void createBuffArrays(double *startaddress, double *buffptr[27], size_t inset, size_t xmidlen, size_t ymidlen)
Definition: blocktools2.cpp:204
void generateInNeighbours(coord_t blockx, coord_t blocky, coord_t blockz, messvec &v)
Definition: blocktools.cpp:42
Definition: blocktools.h:70
int tag
Definition: blocktools.h:75
void copyFromBuffer(unsigned char buffid, double *dest)
Definition: blocktools2.cpp:344
size_t buffoffsets[27]
Definition: blocktools.h:176
void setUsed(unsigned char buffid)
Definition: blocktools2.cpp:214
double * getInBuffer(unsigned char subx, unsigned char suby, unsigned char subz)
Definition: blocktools.cpp:131
Block(size_t sx, size_t sy, size_t sz, size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen, unsigned int dpp=1)
Definition: blocktools.cpp:276
void copyFromBuffer(unsigned char buffid, double *dest)
Definition: blocktools.cpp:385
size_t sx
Definition: blocktools.h:180
double * inbuff
Definition: blocktools.h:174
unsigned char destbuffid
Definition: blocktools.h:77
size_t sx
Definition: blocktools.h:289
void displayBlock(unsigned char subx, unsigned char suby, bool out)
Definition: blocktools2.cpp:287
const unsigned int dpsize
Definition: blocktools.h:189
size_t startOffset(unsigned char subx, unsigned char suby, unsigned char subz)
Definition: blocktools.cpp:308
size_t inset
Definition: blocktools.h:183
size_t getBuffSize(unsigned char subx, unsigned char suby)
Definition: blocktools2.cpp:119
Definition: blocktools.h:231
double * outbuff
Definition: blocktools.h:284
size_t dims[27][3]
Definition: blocktools.h:179
size_t ymidlen
Definition: blocktools.h:293
Definition: blocktools.h:210
double * getInBuffer(unsigned char subx, unsigned char suby)
Definition: blocktools2.cpp:109
void createBuffArrays(double *startaddress, double *buffptr[27], size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen)
Definition: blocktools.cpp:235
~Block2()
Definition: blocktools2.cpp:158
double * outbuffptr[27]
Definition: blocktools.h:188
size_t dims[9][2]
Definition: blocktools.h:288
void generateOutNeighbours(coord_t blockx, coord_t blocky, coord_t blockz, messvec &v)
Definition: blocktools.cpp:81
Definition: blocktools.h:85
double * outbuff
Definition: blocktools.h:175
void populateOffsetTable(size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen)
Definition: blocktools.cpp:213
size_t buffoffsets[9]
Definition: blocktools.h:285
coord_t zmax
Definition: blocktools.h:103
neighbourID_t sourceID
Definition: blocktools.h:73
const unsigned int dpsize
Definition: blocktools.h:296
double * inbuff
Definition: blocktools.h:283
void populateDimsTable()
Definition: blocktools2.cpp:164
size_t ymidlen
Definition: blocktools.h:185
neighbourID_t destID
Definition: blocktools.h:74
size_t flatoffsets[27]
Definition: blocktools.h:177
BlockGrid2(coord_t maxx, coord_t maxy)
Definition: blocktools2.cpp:22
BlockGrid(coord_t maxx, coord_t maxy, coord_t maxz)
Definition: blocktools.cpp:23
size_t startOffset(unsigned char subx, unsigned char suby)
Definition: blocktools2.cpp:275
coord_t xmax
Definition: blocktools.h:226
void copyAllToBuffer(double *src)
Definition: blocktools.cpp:250
void copyUsedFromBuffer(double *dest)
Definition: blocktools2.cpp:232
unsigned char srcbuffid
Definition: blocktools.h:76
void generateInNeighbours(coord_t blockx, coord_t blocky, messvec &v)
Definition: blocktools2.cpp:33
void copyToBuffer(unsigned char buffid, double *src)
Definition: blocktools.cpp:356
neighbourID_t getNID(coord_t x, coord_t y, coord_t z) const
Definition: blocktools.cpp:27
size_t flatoffsets[9]
Definition: blocktools.h:286
size_t xmidlen
Definition: blocktools.h:184
bool used[9]
Definition: blocktools.h:287
void populateOffsetTable(size_t inset, size_t xmidlen, size_t ymidlen)
Definition: blocktools2.cpp:182
size_t sy
Definition: blocktools.h:290
size_t getBuffSize(unsigned char subx, unsigned char suby, unsigned char subz)
Definition: blocktools.cpp:141
Block2(size_t sx, size_t sy, size_t inset, size_t xmidlen, size_t ymidlen, unsigned int dpp=1)
Definition: blocktools2.cpp:245
size_t xmidlen
Definition: blocktools.h:292
int Esys_MPI_rank
Definition: Esys_MPI.h:37
double * outbuffptr[9]
Definition: blocktools.h:295
void copyUsedFromBuffer(double *dest)
Definition: blocktools.cpp:263
size_t sy
Definition: blocktools.h:181
~Block()
Definition: blocktools.cpp:180
size_t inset
Definition: blocktools.h:291
void populateDimsTable()
Definition: blocktools.cpp:186
double * inbuffptr[27]
Definition: blocktools.h:187
void setUsed(unsigned char buffid)
Definition: blocktools.cpp:245
void copyAllToBuffer(double *src)
Definition: blocktools2.cpp:219
void copyToBuffer(unsigned char buffid, double *src)
Definition: blocktools2.cpp:316
coord_t ymax
Definition: blocktools.h:102
coord_t xmax
Definition: blocktools.h:101
neighbourID_t getNID(coord_t x, coord_t y) const
Definition: blocktools2.cpp:26
double * getOutBuffer(unsigned char subx, unsigned char suby, unsigned char subz)
Definition: blocktools.cpp:121
size_t zmidlen
Definition: blocktools.h:186
bool used[27]
Definition: blocktools.h:178
Definition: blocktools.h:122
void displayBlock(unsigned char subx, unsigned char suby, unsigned char subz, bool out)
Definition: blocktools.cpp:322
double * inbuffptr[9]
Definition: blocktools.h:294
coord_t ymax
Definition: blocktools.h:227
size_t sz
Definition: blocktools.h:182