SharedAmrLayout Struct ReferenceΒΆ

adc_cpp: pops::detail::SharedAmrLayout 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
pops::detail::SharedAmrLayout Struct Reference

SHARED layout of a multi-block AMR hierarchy (PR1 capstone), frozen at construction. More...

#include <amr_dsl_block.hpp>

+ Collaboration diagram for pops::detail::SharedAmrLayout:

Public Member Functions

int nlev () const
 

Public Attributes

Geometry geom
 
BoxArray ba_coarse
 
DistributionMapping dm_coarse
 
std::vector< BoxArrayba
 
std::vector< DistributionMappingdm
 
std::vector< Realdx
 
std::vector< Realdy
 
bool replicated_coarse = true
 
BCRec poisson_bc
 
std::function< bool(Real, Real)> wall
 
int n = 128
 
Periodicity base_per {true, true}
 

Detailed Description

SHARED layout of a multi-block AMR hierarchy (PR1 capstone), frozen at construction.

All blocks allocate their levels on EXACTLY this layout (same BoxArray + DistributionMapping + dx/dy per level) -> same_layout_or_throw passes by construction. PR1: coarse + ONE central FIXED fine patch (placement by union of tags is a later PR). We expose the BoxArrays / dmaps / dx/dy per level, the coarse grid (Geometry + ba) for the Poisson, and the ownership policy. build_amr_block allocates the block on top of it.

Member Function Documentation

◆ nlev()

int pops::detail::SharedAmrLayout::nlev ( ) const
inline

Member Data Documentation

◆ ba

std::vector<BoxArray> pops::detail::SharedAmrLayout::ba

◆ ba_coarse

BoxArray pops::detail::SharedAmrLayout::ba_coarse

◆ base_per

Periodicity pops::detail::SharedAmrLayout::base_per {true, true}

◆ dm

std::vector<DistributionMapping> pops::detail::SharedAmrLayout::dm

◆ dm_coarse

DistributionMapping pops::detail::SharedAmrLayout::dm_coarse

◆ dx

std::vector<Real> pops::detail::SharedAmrLayout::dx

◆ dy

std::vector<Real> pops::detail::SharedAmrLayout::dy

◆ geom

Geometry pops::detail::SharedAmrLayout::geom

◆ n

int pops::detail::SharedAmrLayout::n = 128

◆ poisson_bc

BCRec pops::detail::SharedAmrLayout::poisson_bc

◆ replicated_coarse

bool pops::detail::SharedAmrLayout::replicated_coarse = true

◆ wall

std::function<bool(Real, Real)> pops::detail::SharedAmrLayout::wall

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