DNDSR 0.2.1
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
SyntheticTiledGrid Struct Reference
Collaboration diagram for SyntheticTiledGrid:
[legend]

Public Member Functions

DNDS::index cellGlobal (DNDS::index rank, DNDS::index localRow, DNDS::index localCol) const
 
DNDS::index cellOwnerRank (DNDS::index gr, DNDS::index gc) const
 
DNDS::index nodeGlobal (DNDS::index r, DNDS::index c) const
 
void build (DNDS::index tileN, const MPIInfo &mpi)
 
DNDS::index expectedGhostNodesN (DNDS::index nLayers) const
 
std::set< DNDS::indexexpectedGhostCells (const MPIInfo &mpi) const
 
std::set< DNDS::indexexpectedGhostNodesFromOwnedCells (const MPIInfo &mpi) const
 
DNDS::index expectedGhostCellsN (DNDS::index nLayers) const
 Analytical n-layer cell ghost count.
 

Public Attributes

bool periodic {false}
 
DNDS::index N
 
DNDS::index totalCols
 
DNDS::index totalRows
 
DNDS::index nCellLocal
 
DNDS::index nNodeLocal
 
DNDS::index colStart
 
DNDS::index colEnd
 
DNDS::index rowStart
 
DNDS::index rowEnd
 
DNDS::index rankCol
 
DNDS::index rankRow
 
DNDS::index ranksPerRow
 
DNDS::index ranksPerCol
 
std::vector< DNDS::indexownerNodeOffsets
 
tAdjPair cell2cell
 
tAdjPair cell2node
 
ssp< GlobalOffsetsMappingcellGM
 
ssp< GlobalOffsetsMappingnodeGM
 

Detailed Description

Generate a tiled NxN quad grid: each rank owns one NxN tile. The global mesh is N rows × (np*N) columns of quad cells.

Rank 0 tile Rank 1 tile Rank 2 tile ... [0,N)×[0,N) [0,N)×[N,2N) [0,N)×[2N,3N)

Cell (row r, col c) has global index r * totalCols + c, where totalCols = np * N.

Node (row r, col c) has global index r * (totalCols + 1) + c.

Each rank owns cells with col in [rank*N, (rank+1)*N). Ghost cells: 1-ring node-neighbors across tile boundaries.

NOTE: Node global indices are row-major across the full (N+1)×(np*N+1) grid, so they are NOT rank-contiguous. The node GlobalOffsetsMapping from setMPIAlignBcast assigns contiguous ownership ranges (rank 0 owns [0, nNodeLocal_0), rank 1 owns [nNodeLocal_0, ...)). This abstract partition does NOT align with geometric locality — a rank's "owned" range may include node indices physically located on other ranks' tiles. The test is self-consistent: both the evaluator and the analytical expected-value functions use the same nodeGM, so ghost counts are exact within this abstract partition.

Definition at line 374 of file test_MeshConnectivity_Ghost.cpp.

Member Function Documentation

◆ build()

void SyntheticTiledGrid::build ( DNDS::index  tileN,
const MPIInfo mpi 
)
inline

Definition at line 418 of file test_MeshConnectivity_Ghost.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cellGlobal()

DNDS::index SyntheticTiledGrid::cellGlobal ( DNDS::index  rank,
DNDS::index  localRow,
DNDS::index  localCol 
) const
inline

Definition at line 385 of file test_MeshConnectivity_Ghost.cpp.

Here is the caller graph for this function:

◆ cellOwnerRank()

DNDS::index SyntheticTiledGrid::cellOwnerRank ( DNDS::index  gr,
DNDS::index  gc 
) const
inline

Definition at line 389 of file test_MeshConnectivity_Ghost.cpp.

Here is the caller graph for this function:

◆ expectedGhostCells()

std::set< DNDS::index > SyntheticTiledGrid::expectedGhostCells ( const MPIInfo mpi) const
inline

Definition at line 528 of file test_MeshConnectivity_Ghost.cpp.

Here is the caller graph for this function:

◆ expectedGhostCellsN()

DNDS::index SyntheticTiledGrid::expectedGhostCellsN ( DNDS::index  nLayers) const
inline

Analytical n-layer cell ghost count.

Definition at line 558 of file test_MeshConnectivity_Ghost.cpp.

Here is the caller graph for this function:

◆ expectedGhostNodesFromOwnedCells()

std::set< DNDS::index > SyntheticTiledGrid::expectedGhostNodesFromOwnedCells ( const MPIInfo mpi) const
inline

Definition at line 542 of file test_MeshConnectivity_Ghost.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ expectedGhostNodesN()

DNDS::index SyntheticTiledGrid::expectedGhostNodesN ( DNDS::index  nLayers) const
inline

Definition at line 520 of file test_MeshConnectivity_Ghost.cpp.

Here is the caller graph for this function:

◆ nodeGlobal()

DNDS::index SyntheticTiledGrid::nodeGlobal ( DNDS::index  r,
DNDS::index  c 
) const
inline

Node global index via per-rank local matrix. Node at (r,c) belongs to cellOwnerRank(r,c). Its local (row,col) within that rank and its rank's offset give the 1-D global index. Periodic nodes wrap.

Definition at line 398 of file test_MeshConnectivity_Ghost.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ cell2cell

tAdjPair SyntheticTiledGrid::cell2cell

Definition at line 382 of file test_MeshConnectivity_Ghost.cpp.

◆ cell2node

tAdjPair SyntheticTiledGrid::cell2node

Definition at line 382 of file test_MeshConnectivity_Ghost.cpp.

◆ cellGM

ssp<GlobalOffsetsMapping> SyntheticTiledGrid::cellGM

Definition at line 383 of file test_MeshConnectivity_Ghost.cpp.

◆ colEnd

DNDS::index SyntheticTiledGrid::colEnd

Definition at line 379 of file test_MeshConnectivity_Ghost.cpp.

◆ colStart

DNDS::index SyntheticTiledGrid::colStart

Definition at line 379 of file test_MeshConnectivity_Ghost.cpp.

◆ N

DNDS::index SyntheticTiledGrid::N

Definition at line 377 of file test_MeshConnectivity_Ghost.cpp.

◆ nCellLocal

DNDS::index SyntheticTiledGrid::nCellLocal

Definition at line 378 of file test_MeshConnectivity_Ghost.cpp.

◆ nNodeLocal

DNDS::index SyntheticTiledGrid::nNodeLocal

Definition at line 378 of file test_MeshConnectivity_Ghost.cpp.

◆ nodeGM

ssp<GlobalOffsetsMapping> SyntheticTiledGrid::nodeGM

Definition at line 383 of file test_MeshConnectivity_Ghost.cpp.

◆ ownerNodeOffsets

std::vector<DNDS::index> SyntheticTiledGrid::ownerNodeOffsets

Definition at line 381 of file test_MeshConnectivity_Ghost.cpp.

◆ periodic

bool SyntheticTiledGrid::periodic {false}

Definition at line 376 of file test_MeshConnectivity_Ghost.cpp.

◆ rankCol

DNDS::index SyntheticTiledGrid::rankCol

Definition at line 380 of file test_MeshConnectivity_Ghost.cpp.

◆ rankRow

DNDS::index SyntheticTiledGrid::rankRow

Definition at line 380 of file test_MeshConnectivity_Ghost.cpp.

◆ ranksPerCol

DNDS::index SyntheticTiledGrid::ranksPerCol

Definition at line 380 of file test_MeshConnectivity_Ghost.cpp.

◆ ranksPerRow

DNDS::index SyntheticTiledGrid::ranksPerRow

Definition at line 380 of file test_MeshConnectivity_Ghost.cpp.

◆ rowEnd

DNDS::index SyntheticTiledGrid::rowEnd

Definition at line 379 of file test_MeshConnectivity_Ghost.cpp.

◆ rowStart

DNDS::index SyntheticTiledGrid::rowStart

Definition at line 379 of file test_MeshConnectivity_Ghost.cpp.

◆ totalCols

DNDS::index SyntheticTiledGrid::totalCols

Definition at line 377 of file test_MeshConnectivity_Ghost.cpp.

◆ totalRows

DNDS::index SyntheticTiledGrid::totalRows

Definition at line 377 of file test_MeshConnectivity_Ghost.cpp.


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