|
template<class Container_T> |
void | writeToSendBuffer (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Container_T &cells) |
|
template<class Container_T> |
void | writeToSendBufferCollective (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Container_T &cells) |
|
void | allocateReceiveBuffers (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange) |
|
void | allocateReceiveBuffersCollective (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange) |
|
void | readFromReceiveBuffer (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Local_Container_T &cells) |
|
void | readFromCollectiveBuffer (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Local_Container_T &cells) |
|
|
void | deleteBuffers () |
| deletes the buffers
|
|
template<class Container_T> |
void | writeToSendBuffer (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Container_T &cells) |
| fills all information that needs to be sent from a coupling cell into the send-buffer.
|
|
void | writeToBcastBuffer (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Cell_T &cell, I01 idx) |
| fills all information that needs to be broadcast from a coupling cell into the broadcast-buffer.
|
|
void | writeToReduceBuffer (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Cell_T &cell, I01 idx) |
| fills all information that needs to be reduced to a coupling cell into the reduce-buffer.
|
|
template<class Container_T> |
void | readFromReceiveBuffer (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Container_T &cells) |
|
void | readFromCollectiveBuffer (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, Cell_T &couplingCell, I01 idx) |
|
void | readFromReduceBuffer (coupling::sendrecv::DataExchangeFromMD2Macro< dim > &dataExchange, Cell_T &couplingCell, I01 idx) |
|
void | allocateReceiveBuffers (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, I01 idx) |
|
void | allocateBcastBufferForReceiving (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, I01 idx) |
|
void | allocateReduceBufferForReceiving (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, I01 idx) |
|
void | triggerSending (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange) |
|
void | triggerBcasts (unsigned int rank) |
|
void | triggerReceiving (coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange) |
|
void | triggerReduce (unsigned int rank) |
|
void | waitAllOperations () |
|
void | waitAllCollectiveOperations () |
|
void | allocateRequests () |
|
void | allocateBcastRequests (unsigned int thisRank) |
|
void | allocateReduceRequests (unsigned int thisRank) |
|
template<class Cell_T, unsigned int dim>
class coupling::sendrecv::FromMacro2MD< Cell_T, dim >
SendReceiveBuffer for transfer of quantities from a macroscopic solver to the coupling cells. Derived from the class coupling::sendrecv::SendReceiveBuffer.
extends the generic SendReceiveBuffer for transfer of quantities from a macroscopic solver to the coupling cells of the coupling tool (incl. ghost cells).
- Template Parameters
-
Cell_T | cell type |
dim | Number of dimensions; it can be 1, 2 or 3 |
- Author
- Philipp Neumann
template<class Cell_T, unsigned int dim>
template<class Container_T>
sends information from the local coupling cells of a macroscopic solver to the coupling cells of MaMico (ghost cells are also allowed). Since the macroscopic solver can have an arbitrary distribution of cells on the processes, the buffer for sending the cell data is provided to this function in terms of an array of coupling cells including the respective global cell indices. This function calls sendFromMacro2MDNonBlocking(..) and immediately subsequently wait4SendFromMacro2MD(...). Those two methods may alternatively be used, e.g., for "non-blocking" communication.
- Parameters
-