pnm 1.0.3
peclet.pnm — pore-network extraction from SDF geometry (Kokkos)
Loading...
Searching...
No Matches
pnm::BlockGeo Struct Reference

Extended-block geometry policy (the MPI pipeline): ghost-inclusive local box <-> global periodic grid. More...

#include <pore_kernels.hpp>

Public Member Functions

Index lidx (int lx, int ly, int lz) const
 
Index cell (int lx, int ly, int lz) const
 
Index gidAt (int lx, int ly, int lz) const
 gid of the (periodically wrapped) global cell under extended-local coords.
 
Index gid (int lx, int ly, int lz) const
 
void gcoord (int lx, int ly, int lz, int &gx, int &gy, int &gz) const
 
bool inOwned (int ix, int iy, int iz) const
 
Index owned (int ix, int iy, int iz) const
 
void ownedCoords (Index o, int &ix, int &iy, int &iz) const
 
Index localOf (Index gid) const
 gid -> extended-local linear index if the cell has an image in this extended box, else -1.
 
Index cellAtGlobal (int gx, int gy, int gz) const
 
bool onSurface (int ix, int iy, int iz) const
 Is the owned cell within one cell of a block face (the only cells that can see a ghost)?
 
std::size_t numOwned () const
 
std::size_t numExt () const
 

Static Public Member Functions

static int wrapc (int a, int n)
 

Public Attributes

int ex
 
int ey
 
int ez
 
int ox
 
int oy
 
int oz
 
int nx
 
int ny
 
int nz
 
int gnx
 
int gny
 
int gnz
 
int g
 

Detailed Description

Extended-block geometry policy (the MPI pipeline): ghost-inclusive local box <-> global periodic grid.

Definition at line 131 of file pore_kernels.hpp.

Member Function Documentation

◆ wrapc()

static int pnm::BlockGeo::wrapc ( int  a,
int  n 
)
inlinestatic

Definition at line 138 of file pore_kernels.hpp.

References pnm::wrapc().

Referenced by cellAtGlobal(), gcoord(), gidAt(), and localOf().

◆ lidx()

Index pnm::BlockGeo::lidx ( int  lx,
int  ly,
int  lz 
) const
inline

Definition at line 139 of file pore_kernels.hpp.

References ex, and ey.

Referenced by cell(), and localOf().

◆ cell()

Index pnm::BlockGeo::cell ( int  lx,
int  ly,
int  lz 
) const
inline

Definition at line 142 of file pore_kernels.hpp.

References lidx().

◆ gidAt()

Index pnm::BlockGeo::gidAt ( int  lx,
int  ly,
int  lz 
) const
inline

gid of the (periodically wrapped) global cell under extended-local coords.

Definition at line 144 of file pore_kernels.hpp.

References gnx, gny, gnz, ox, oy, oz, and wrapc().

Referenced by gid().

◆ gid()

Index pnm::BlockGeo::gid ( int  lx,
int  ly,
int  lz 
) const
inline

Definition at line 148 of file pore_kernels.hpp.

References gidAt().

Referenced by localOf().

◆ gcoord()

void pnm::BlockGeo::gcoord ( int  lx,
int  ly,
int  lz,
int &  gx,
int &  gy,
int &  gz 
) const
inline

Definition at line 149 of file pore_kernels.hpp.

References gnx, gny, gnz, ox, oy, oz, and wrapc().

◆ inOwned()

bool pnm::BlockGeo::inOwned ( int  ix,
int  iy,
int  iz 
) const
inline

Definition at line 154 of file pore_kernels.hpp.

References nz.

◆ owned()

Index pnm::BlockGeo::owned ( int  ix,
int  iy,
int  iz 
) const
inline

Definition at line 157 of file pore_kernels.hpp.

References nx, and ny.

◆ ownedCoords()

void pnm::BlockGeo::ownedCoords ( Index  o,
int &  ix,
int &  iy,
int &  iz 
) const
inline

Definition at line 160 of file pore_kernels.hpp.

References nx, and ny.

◆ localOf()

Index pnm::BlockGeo::localOf ( Index  gid) const
inline

gid -> extended-local linear index if the cell has an image in this extended box, else -1.

(All images of a cell carry identical values after an exchange — selfCopy covers periodic self-images — so any image is good for reading.)

Definition at line 168 of file pore_kernels.hpp.

References ex, ey, ez, gid(), gnx, gny, gnz, lidx(), ox, oy, oz, and wrapc().

Referenced by cellAtGlobal().

◆ cellAtGlobal()

Index pnm::BlockGeo::cellAtGlobal ( int  gx,
int  gy,
int  gz 
) const
inline

Definition at line 183 of file pore_kernels.hpp.

References gnx, gny, gnz, localOf(), and wrapc().

◆ onSurface()

bool pnm::BlockGeo::onSurface ( int  ix,
int  iy,
int  iz 
) const
inline

Is the owned cell within one cell of a block face (the only cells that can see a ghost)?

Definition at line 187 of file pore_kernels.hpp.

References nx, ny, and nz.

◆ numOwned()

std::size_t pnm::BlockGeo::numOwned ( ) const
inline

Definition at line 190 of file pore_kernels.hpp.

References nx, ny, and nz.

Referenced by pnm::extract_network_flow_mpi(), and pnm::extract_pore_network_mpi().

◆ numExt()

std::size_t pnm::BlockGeo::numExt ( ) const
inline

Definition at line 191 of file pore_kernels.hpp.

References ex, ey, and ez.

Referenced by pnm::extract_network_flow_mpi(), and pnm::extract_pore_network_mpi().

Member Data Documentation

◆ ex

int pnm::BlockGeo::ex

◆ ey

int pnm::BlockGeo::ey

Definition at line 132 of file pore_kernels.hpp.

Referenced by pnm::extract_pore_network_mpi(), lidx(), localOf(), and numExt().

◆ ez

int pnm::BlockGeo::ez

Definition at line 132 of file pore_kernels.hpp.

Referenced by pnm::extract_pore_network_mpi(), localOf(), and numExt().

◆ ox

int pnm::BlockGeo::ox

Definition at line 133 of file pore_kernels.hpp.

Referenced by pnm::extract_pore_network_mpi(), gcoord(), gidAt(), and localOf().

◆ oy

int pnm::BlockGeo::oy

Definition at line 133 of file pore_kernels.hpp.

Referenced by pnm::extract_pore_network_mpi(), gcoord(), gidAt(), and localOf().

◆ oz

int pnm::BlockGeo::oz

Definition at line 133 of file pore_kernels.hpp.

Referenced by pnm::extract_pore_network_mpi(), gcoord(), gidAt(), and localOf().

◆ nx

int pnm::BlockGeo::nx

◆ ny

int pnm::BlockGeo::ny

◆ nz

int pnm::BlockGeo::nz

Definition at line 134 of file pore_kernels.hpp.

Referenced by pnm::extract_pore_network_mpi(), inOwned(), numOwned(), and onSurface().

◆ gnx

int pnm::BlockGeo::gnx

Definition at line 135 of file pore_kernels.hpp.

Referenced by cellAtGlobal(), gcoord(), gidAt(), and localOf().

◆ gny

int pnm::BlockGeo::gny

Definition at line 135 of file pore_kernels.hpp.

Referenced by cellAtGlobal(), gcoord(), gidAt(), and localOf().

◆ gnz

int pnm::BlockGeo::gnz

Definition at line 135 of file pore_kernels.hpp.

Referenced by cellAtGlobal(), gcoord(), gidAt(), and localOf().

◆ g

int pnm::BlockGeo::g

Definition at line 136 of file pore_kernels.hpp.


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