HaloSchedule 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
|
Memoized schedule for ONE (Periodicity, domain) over a fixed layout. More...
#include <halo_schedule.hpp>
Collaboration diagram for pops::HaloSchedule:Public Attributes | |
| bool | per_x = false |
| bool | per_y = false |
| Box2D | domain {} |
| std::vector< HaloJob > | local |
| std::vector< std::vector< HaloJob > > | send |
| std::vector< std::vector< HaloJob > > | recv |
Detailed Description
Memoized schedule for ONE (Periodicity, domain) over a fixed layout.
local holds the copies whose dst AND src are owned by this rank; send[r]/recv[r] hold the jobs exchanged with rank r (both empty unless built under MPI with n_ranks() > 1). The fingerprint (per_x, per_y, domain) identifies the (Periodicity, domain) it was built for; the LAYOUT is implicit because the plan is stored on the MultiFab that owns the BoxArray/DistributionMapping/n_grow (see HaloScheduleCache). The jobs carry only Box2D regions, so the plan is INDEPENDENT of ncomp (the component count is supplied at replay via mf.ncomp() to size buffers); ncomp is intentionally absent from the key.
Member Data Documentation
◆ domain
| Box2D pops::HaloSchedule::domain {} |
◆ local
| std::vector<HaloJob> pops::HaloSchedule::local |
◆ per_x
| bool pops::HaloSchedule::per_x = false |
◆ per_y
| bool pops::HaloSchedule::per_y = false |
◆ recv
| std::vector<std::vector<HaloJob> > pops::HaloSchedule::recv |
◆ send
| std::vector<std::vector<HaloJob> > pops::HaloSchedule::send |
The documentation for this struct was generated from the following file:
- include/pops/mesh/boundary/halo_schedule.hpp
Generated by