waLBerla 7.3
Loading...
Searching...
No Matches
walberla::v8::HaloExchange Class Reference

Detailed Description

Primary facilitator for exchange of halo-layer data between adjacent blocks.

#include <HaloExchange.hpp>

Public Member Functions

 HaloExchange (std::unique_ptr< AbstractCommScheme > scheme)
void startCommunication ()
void wait ()
void communicate ()
void operator() ()

Static Public Member Functions

template<typename TCommStencil, memory::MemTag TMemTag>
static HaloExchangeBuilder< TCommStencil, TMemTag > create (const std::shared_ptr< StructuredBlockForest > &blocks)
 Create a new halo-exchange object through its builder.

Private Attributes

std::unique_ptr< AbstractCommScheme > scheme_

Constructor & Destructor Documentation

◆ HaloExchange()

walberla::v8::halo_exchange::HaloExchange::HaloExchange ( std::unique_ptr< AbstractCommScheme > scheme)
inlineexplicit

Member Function Documentation

◆ communicate()

void walberla::v8::halo_exchange::HaloExchange::communicate ( )
inline

◆ create()

template<typename TCommStencil, memory::MemTag TMemTag>
HaloExchangeBuilder< TCommStencil, TMemTag > walberla::v8::halo_exchange::HaloExchange::create ( const std::shared_ptr< StructuredBlockForest > & blocks)
inlinestatic

Create a new halo-exchange object through its builder.

Template Parameters
TCommStencilStencil defining the communication neighborhood; i.e. the set of neighbors with whom each block should exchange data
TMemTagMemory tag that controls the placement of the communication buffers

◆ operator()()

void walberla::v8::halo_exchange::HaloExchange::operator() ( )
inline

◆ startCommunication()

void walberla::v8::halo_exchange::HaloExchange::startCommunication ( )
inline

◆ wait()

void walberla::v8::halo_exchange::HaloExchange::wait ( )
inline

Member Data Documentation

◆ scheme_

std::unique_ptr< AbstractCommScheme > walberla::v8::halo_exchange::HaloExchange::scheme_
private

The documentation for this class was generated from the following file:
  • /builds/administration/walberla-website/walberla/include/walberla/v8/halo_exchange/HaloExchange.hpp