DNDSR 0.2.1
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DistributedHex3D Struct Reference

#include <SyntheticMeshBuilders.hpp>

Collaboration diagram for DistributedHex3D:
[legend]

Public Member Functions

DNDS::index cellLocal (DNDS::index ix, DNDS::index iy, DNDS::index iz) const
 
DNDS::index nodeLocal (DNDS::index ix, DNDS::index iy, DNDS::index iz) const
 
void build (DNDS::index tileN, bool isPeriodic, const MPIInfo &mpi)
 

Public Attributes

DNDS::index N
 
DNDS::MPI_int np
 
DNDS::index nCellLocal
 
DNDS::index nNodeOwned
 
DNDS::index nNodeGhost
 
DNDS::index nNodeTotal
 
tAdjPair cell2node
 
tElemInfoArrayPair cellElemInfo
 
tPbiPair cell2nodePbi
 
ssp< GlobalOffsetsMappingcellGM
 
ssp< GlobalOffsetsMappingnodeGM
 
ssp< OffsetAscendIndexMappingcellGhostMapping
 
ssp< OffsetAscendIndexMappingnodeGhostMapping
 
bool periodic {false}
 

Detailed Description

Build a distributed NxNxN hex mesh. Each rank owns one NxNxN block. Blocks are stacked in the X direction: rank p has X in [p*N, (p+1)*N]. Node ownership: rank p owns nodes with X in [p*N, (p+1)*N), except the last rank also owns X = np*N. Shared boundary nodes at X = p*N are owned by rank p.

Global cell index: rank-contiguous. Rank p's cells are [p*N^3, (p+1)*N^3). Cell (ix, iy, iz) on rank p → global index = p*N^3 + ix*N*N + iy*N + iz.

Global node index: rank-contiguous. Rank p owns nodes with ix in [0, N) (or [0, N] for last rank), iy in [0, N], iz in [0, N]. Local node (ix, iy, iz) → local index = ix*(N+1)*(N+1) + iy*(N+1) + iz. Global index = rank-offset + local index.

Definition at line 604 of file SyntheticMeshBuilders.hpp.

Member Function Documentation

◆ build()

void DistributedHex3D::build ( DNDS::index  tileN,
bool  isPeriodic,
const MPIInfo mpi 
)
inline

Definition at line 634 of file SyntheticMeshBuilders.hpp.

Here is the call graph for this function:

◆ cellLocal()

DNDS::index DistributedHex3D::cellLocal ( DNDS::index  ix,
DNDS::index  iy,
DNDS::index  iz 
) const
inline

Definition at line 623 of file SyntheticMeshBuilders.hpp.

Here is the caller graph for this function:

◆ nodeLocal()

DNDS::index DistributedHex3D::nodeLocal ( DNDS::index  ix,
DNDS::index  iy,
DNDS::index  iz 
) const
inline

Definition at line 629 of file SyntheticMeshBuilders.hpp.

Member Data Documentation

◆ cell2node

tAdjPair DistributedHex3D::cell2node

Definition at line 613 of file SyntheticMeshBuilders.hpp.

◆ cell2nodePbi

tPbiPair DistributedHex3D::cell2nodePbi

Definition at line 615 of file SyntheticMeshBuilders.hpp.

◆ cellElemInfo

tElemInfoArrayPair DistributedHex3D::cellElemInfo

Definition at line 614 of file SyntheticMeshBuilders.hpp.

◆ cellGhostMapping

ssp<OffsetAscendIndexMapping> DistributedHex3D::cellGhostMapping

Definition at line 618 of file SyntheticMeshBuilders.hpp.

◆ cellGM

ssp<GlobalOffsetsMapping> DistributedHex3D::cellGM

Definition at line 617 of file SyntheticMeshBuilders.hpp.

◆ N

DNDS::index DistributedHex3D::N

Definition at line 606 of file SyntheticMeshBuilders.hpp.

◆ nCellLocal

DNDS::index DistributedHex3D::nCellLocal

Definition at line 608 of file SyntheticMeshBuilders.hpp.

◆ nNodeGhost

DNDS::index DistributedHex3D::nNodeGhost

Definition at line 610 of file SyntheticMeshBuilders.hpp.

◆ nNodeOwned

DNDS::index DistributedHex3D::nNodeOwned

Definition at line 609 of file SyntheticMeshBuilders.hpp.

◆ nNodeTotal

DNDS::index DistributedHex3D::nNodeTotal

Definition at line 611 of file SyntheticMeshBuilders.hpp.

◆ nodeGhostMapping

ssp<OffsetAscendIndexMapping> DistributedHex3D::nodeGhostMapping

Definition at line 618 of file SyntheticMeshBuilders.hpp.

◆ nodeGM

ssp<GlobalOffsetsMapping> DistributedHex3D::nodeGM

Definition at line 617 of file SyntheticMeshBuilders.hpp.

◆ np

DNDS::MPI_int DistributedHex3D::np

Definition at line 607 of file SyntheticMeshBuilders.hpp.

◆ periodic

bool DistributedHex3D::periodic {false}

Definition at line 620 of file SyntheticMeshBuilders.hpp.


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