include/pops/mesh/geometry/geometry.hpp File ReferenceΒΆ

adc_cpp: include/pops/mesh/geometry/geometry.hpp File 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
geometry.hpp File Reference

Geometry: index-space (Box2D) <-> Cartesian physical-space mapping; PolarGeometry: SIBLING for a global annular domain (r, theta). More...

+ Include dependency graph for geometry.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pops::Geometry
 Cartesian geometry of a level: index domain + physical bounds [xlo, xhi] x [ylo, yhi]. More...
 
struct  pops::PolarGeometry
 

Namespaces

namespace  pops
 

Detailed Description

Geometry: index-space (Box2D) <-> Cartesian physical-space mapping; PolarGeometry: SIBLING for a global annular domain (r, theta).

Physical domain is FIXED, no dx/dy cell size shrinking with refinement (refine() refines the index space at constant physical EXTENT). Cell centers (and faces, in polar) defined for EVERY index, ghosts included (negative indices). Accessors are POPS_HD: pure arithmetic, capturable by value and callable from a device kernel. Trivial POD: the annotation is free and keeps the host path bit-identical.