Array4 Struct ReferenceΒΆ

adc_cpp: pops::Array4 Struct Reference
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends

WRITE POD handle (raw pointer + strides) over a Fab2D buffer, indexed by (i, j, c) IN GLOBAL INDICES (ig0/jg0 = lower corner of the grown box). More...

#include <fab2d.hpp>

+ Collaboration diagram for pops::Array4:

Public Member Functions

POPS_HD Realoperator() (int i, int j, int c=0) const
 Reference to cell (i, j) of component c (global indices).
 

Public Attributes

Realp {nullptr}
 
int nx_tot {0}
 
std::int64_t comp_stride {0}
 
int ig0 {0}
 
int jg0 {0}
 

Detailed Description

WRITE POD handle (raw pointer + strides) over a Fab2D buffer, indexed by (i, j, c) IN GLOBAL INDICES (ig0/jg0 = lower corner of the grown box).

Trivially copyable, capturable by value in a device kernel. INVARIANT: owns NOTHING; valid as long as the source Fab is.

Member Function Documentation

◆ operator()()

POPS_HD Real & pops::Array4::operator() ( int  i,
int  j,
int  c = 0 
) const
inline

Reference to cell (i, j) of component c (global indices).

POPS_HD. No bounds checking (hot path / device): the caller guarantees (i, j, c) is inside the grown box.

Member Data Documentation

◆ comp_stride

std::int64_t pops::Array4::comp_stride {0}

◆ ig0

int pops::Array4::ig0 {0}

◆ jg0

int pops::Array4::jg0 {0}

◆ nx_tot

int pops::Array4::nx_tot {0}

◆ p

Real* pops::Array4::p {nullptr}

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