13 template<
typename Gr
idType>
14 std::string
Grid(
const GridType &inGrid)
17 std::ostringstream Ostr;
18 const std::vector<size_t> &
gridSizes(inGrid.GridSizes());
19 const std::vector<size_t> &partSizes(inGrid.PartitionSizes());
20 const std::vector<size_t> &
bufferSizes(inGrid.BufferSizes());
23 const std::vector<simulation::grid::subregion> &subRegions(inGrid.SubRegions());
28 int numPartitions = gridComm.
NProc();
29 const std::vector<int> &cartCoords(gridComm.CartCoordinates());
30 const std::vector<int> &cartDims(gridComm.CartDimensions());
31 std::vector<int> cartNeighbors;
32 gridComm.CartNeighbors(cartNeighbors);
34 Ostr <<
"Dimension: " << inGrid.Dimension() << std::endl
35 <<
"Number of points: (";
37 Ostr <<
")" << std::endl
40 Ostr <<
")" << std::endl
41 <<
"Total Points: " << numPointsBuffer << std::endl;
42 Ostr <<
"Number of partitions: " << numPartitions << std::endl
43 <<
"Partition Interval: ";
44 partitionInterval.PrettyPrint(Ostr);
46 <<
"Partition Buffer Interval: ";
47 partitionBufferInterval.PrettyPrint(Ostr);
49 <<
"Cartesian Topology Sizes: (";
51 Ostr <<
")" << std::endl
52 <<
"Cartesian Coordinates: (";
54 Ostr <<
")" << std::endl
55 <<
"Cartesian Neighbors: (";
57 Ostr <<
")" << std::endl;
58 Ostr <<
"Number of subregions: " << subRegions.size() << std::endl;
59 std::vector<simulation::grid::subregion>::const_iterator subRegionIt =
61 while(subRegionIt != subRegions.end()){
63 Ostr <<
"... SubRegion: " << subRegion.
regionName <<
" ..." << std::endl
64 <<
"Normal direction (points into domain): " << subRegion.
normalDirection << std::endl
65 <<
"SubRegion Interval: ";
69 Ostr <<
"SubRegion Partition Interval: ";
72 <<
"SubRegion Buffer Interval: ";
pcpp::IndexIntervalType regionInterval
pcpp::IndexIntervalType regionPartitionBufferInterval
void const size_t const size_t * gridSizes
pcpp::IndexIntervalType regionPartitionInterval
std::vector< size_t > partitionBufferIndices
Main encapsulation of MPI.
std::string Grid(const GridType &inGrid)
void const size_t const size_t * bufferSizes
std::ostream & PrettyPrint(std::ostream &outStream) const
Simple Block Structured Mesh object.
void const size_t * numPointsBuffer