Pre-allocated send/recv buffers and sorted face-pair lists for FV ghost layer comm. More...
#include <fv_communication.hpp>
Classes | |
| struct | FacePair |
| All metadata needed to drive communication for one subdomain face. More... | |
Public Types | |
| using | Buffer = grid::Grid2DDataScalar< ScalarType > |
Public Member Functions | |
| FVGhostLayerBuffers (const grid::shell::DistributedDomain &domain) | |
| Allocates all send/recv buffers and builds the sorted face pair lists. | |
| const std::vector< FacePair > & | recv_ordered () const |
| Face pairs sorted for consistent MPI_Irecv posting order (by sending subdomain). | |
| const std::vector< FacePair > & | send_ordered () const |
| Face pairs sorted for consistent MPI_Isend / local-comm packing order. | |
| Buffer & | send_buf (const FacePair &fp) |
| Buffer & | recv_buf (const FacePair &fp) |
Pre-allocated send/recv buffers and sorted face-pair lists for FV ghost layer comm.
Construct once per operator (or wherever ghost layer updates are needed), then pass to update_fv_ghost_layers on every call. No heap allocation happens after construction.
| using terra::communication::shell::FVGhostLayerBuffers< ScalarType >::Buffer = grid::Grid2DDataScalar< ScalarType > |
|
inlineexplicit |
Allocates all send/recv buffers and builds the sorted face pair lists.
|
inline |
|
inline |
Face pairs sorted for consistent MPI_Irecv posting order (by sending subdomain).
|
inline |
|
inline |
Face pairs sorted for consistent MPI_Isend / local-comm packing order.