BioCMAMC-ST
WrapMPI::HostIterationPayload Class Reference

Represents the payload of data on the host side for an iteration. More...

#include <iteration_payload.hpp>

Public Member Functions

void fill (const CmaRead::ReactorState &current_reactor_state)
 
bool sendAll (std::size_t n_rank) noexcept
 

Public Attributes

std::span< const double > liquid_flows
 View liquid flow values to be sent for the current iteration.
 
std::span< const double > liquid_volumes
 View liquid volmes values to be sent for the current iteration.
 
std::span< const double > gas_volumes
 View gas flow values to be sent for the current iteration.
 
CmaRead::Neighbors::Neighbors_const_view_t neighbors
 View neighbors values to be sent for the current iteration.
 

Private Member Functions

bool send (size_t rank) noexcept
 Sends this payload to a specified MPI rank.
 

Private Attributes

std::array< MPI_Request, n_vector_sendrequests
 

Static Private Attributes

static constexpr std::size_t n_vector_send = 4
 

Detailed Description

Represents the payload of data on the host side for an iteration.

This class encapsulates the data to be sent

Member Function Documentation

◆ fill()

void WrapMPI::HostIterationPayload::fill ( const CmaRead::ReactorState & current_reactor_state)

◆ send()

bool WrapMPI::HostIterationPayload::send ( size_t rank)
nodiscardprivatenoexcept

Sends this payload to a specified MPI rank.

This function sends the liquid flows, liquid volumes, and gas volumes to a specified destination rank using MPI.

Parameters
rankThe MPI rank of the destination process.
Note
This method uses MPI to perform the send operation and assumes the MPI environment is initialized.
Here is the call graph for this function:

◆ sendAll()

bool WrapMPI::HostIterationPayload::sendAll ( std::size_t n_rank)
nodiscardnoexcept
Here is the call graph for this function:

Member Data Documentation

◆ gas_volumes

std::span<const double> WrapMPI::HostIterationPayload::gas_volumes

View gas flow values to be sent for the current iteration.

◆ liquid_flows

std::span<const double> WrapMPI::HostIterationPayload::liquid_flows

View liquid flow values to be sent for the current iteration.

◆ liquid_volumes

std::span<const double> WrapMPI::HostIterationPayload::liquid_volumes

View liquid volmes values to be sent for the current iteration.

◆ n_vector_send

std::size_t WrapMPI::HostIterationPayload::n_vector_send = 4
staticconstexprprivate

◆ neighbors

CmaRead::Neighbors::Neighbors_const_view_t WrapMPI::HostIterationPayload::neighbors

View neighbors values to be sent for the current iteration.

◆ requests

std::array<MPI_Request,n_vector_send> WrapMPI::HostIterationPayload::requests
private

The documentation for this class was generated from the following files: