AmrSystemConfig 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
|
AMR mesh and cadence (per-block physical parameters live in the ModelSpec). More...
#include <amr_system.hpp>
Collaboration diagram for pops::AmrSystemConfig:Public Attributes | |
| int | n = 128 |
| coarse-level cells per direction | |
| double | L = 1.0 |
| size of the square domain [0,L]^2 | |
| int | regrid_every = 20 |
| re-refinement every N steps (0 = never after init) | |
| bool | periodic = true |
| periodic domain | |
| bool | distribute_coarse = false |
| OWNERSHIP POLICY of the coarse level (cf. | |
| int | coarse_max_grid = 0 |
| Coarse tile size when distribute_coarse=true (BoxArray::from_domain). | |
Detailed Description
AMR mesh and cadence (per-block physical parameters live in the ModelSpec).
Member Data Documentation
◆ coarse_max_grid
| int pops::AmrSystemConfig::coarse_max_grid = 0 |
Coarse tile size when distribute_coarse=true (BoxArray::from_domain).
0 => n/2 (minimal 2x2 split, least aggressive for the MG). Ignored if distribute_coarse=false.
◆ distribute_coarse
| bool pops::AmrSystemConfig::distribute_coarse = false |
OWNERSHIP POLICY of the coarse level (cf.
AmrCouplerMP::replicated_coarse). false (DEFAULT, historical): coarse mono-box REPLICATED on all ranks. The coarse Poisson and the coarse transport are REDUNDANT on each GPU (zero communication, better geometric MG) but DO NOT SCALE: only the fine patches are distributed. true (strong-scaling mode): coarse MULTI-BOX (BoxArray::from_domain, tile size coarse_max_grid) distributed round-robin across the ranks. The coarse Poisson and the coarse transport distribute (each rank carries only its tiles), which removes the redundancy and enables AMR strong-scaling. The geometric MG then operates on a multi-box coarse (cf. geometric_mg.hpp): convergence to be measured (may require more cycles).
◆ L
| double pops::AmrSystemConfig::L = 1.0 |
size of the square domain [0,L]^2
◆ n
| int pops::AmrSystemConfig::n = 128 |
coarse-level cells per direction
◆ periodic
| bool pops::AmrSystemConfig::periodic = true |
periodic domain
◆ regrid_every
| int pops::AmrSystemConfig::regrid_every = 20 |
re-refinement every N steps (0 = never after init)
The documentation for this struct was generated from the following file:
- include/pops/runtime/amr_system.hpp
Generated by