include/pops/coupling/amr/amr_level_storage.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
|
AmrLevelStack: AMR hierarchy storage (levels + aux) extracted from the couplers. More...
#include <pops/core/state/state.hpp>#include <pops/core/foundation/types.hpp>#include <pops/mesh/index/box2d.hpp>#include <pops/mesh/storage/multifab.hpp>#include <utility>#include <vector>
Include dependency graph for amr_level_storage.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| class | pops::AmrLevelStack< Level > |
| Owns the AMR level stack and the parallel aux stack. More... | |
Namespaces | |
| namespace | pops |
Detailed Description
AmrLevelStack: AMR hierarchy storage (levels + aux) extracted from the couplers.
The coupler now only ORDERS the operations; this stack OWNS the level stack std::vector<Level>, the parallel aux MultiFab stack, and carries the wiring L_[k].aux = &aux_[k]. Generic over Level (AmrLevelMF mono-box or AmrLevelMP multi-box): only the U (MultiFab) and aux (const MultiFab*) members are touched here; the distribution lives in the MultiFab (no mono-rank assumption). ADDRESS INVARIANT: aux_ is sized ONCE at the ctor then never resized (the L_[k].aux pointers point into aux_); reattach_aux(k) replaces aux_[k] IN PLACE and rewires. aux width propagated as a parameter (default kAuxBaseComps = 3, bit-identical).
Generated by