MaMiCo 1.2
Loading...
Searching...
No Matches
FromMD2MacroRecvOnly.h
1// Copyright (C) 2015 Technische Universitaet Muenchen
2// This file is part of the Mamico project. For conditions of distribution
3// and use, please see the copyright notice in Mamico's main folder, or at
4// www5.in.tum.de/mamico
5#ifndef _MOLECULARDYNAMICS_COUPLING_SENDRECV_MD2MACRORECVONLY_H_
6#define _MOLECULARDYNAMICS_COUPLING_SENDRECV_MD2MACRORECVONLY_H_
7
8#include "coupling/CouplingMDDefinitions.h"
9#include "coupling/sendrecv/SendReceiveBuffer.h"
10#include <vector>
11
12namespace coupling {
13namespace sendrecv {
14template <class Cell_T, unsigned int dim> class FromMD2MacroRecvOnly;
15}
16} // namespace coupling
17
30template <class Cell_T, unsigned int dim> class coupling::sendrecv::FromMD2MacroRecvOnly : public coupling::sendrecv::SendReceiveBuffer<Cell_T, dim> {
31
32public:
35 FromMD2MacroRecvOnly() : coupling::sendrecv::SendReceiveBuffer<Cell_T, dim>() {}
38
49 template <class Container_T> void sendFromMD2Macro(coupling::sendrecv::DataExchange<Cell_T, dim>& dataExchange, const Container_T& cells);
50
57 template <class Container_T> void sendFromMD2MacroNonBlocking(coupling::sendrecv::DataExchange<Cell_T, dim>& dataExchange, const Container_T& cells);
58
65 template <class Container_T> void wait4SendFromMD2Macro(coupling::sendrecv::DataExchange<Cell_T, dim>& dataExchange, const Container_T& cells);
66
67private:
76 template <class Container_T> void allocateReceiveBuffers(coupling::sendrecv::DataExchange<Cell_T, dim>& dataExchange, const Container_T& cells);
77
86 template <class Container_T> void readFromReceiveBuffer(coupling::sendrecv::DataExchange<Cell_T, dim>& dataExchange, const Container_T& cells);
87};
88
89#include "FromMD2MacroRecvOnly.cpph"
90
91#endif // _MOLECULARDYNAMICS_COUPLING_SENDRECV_MD2MACRORECVONLY_H_
generic class for the the data exchange purposes.
Definition DataExchange.h:27
sends coupling cell information from MaMiCo to the macroscopic solver. Expects to only receive data f...
Definition FromMD2MacroRecvOnly.h:30
virtual ~FromMD2MacroRecvOnly()
Definition FromMD2MacroRecvOnly.h:37
void allocateReceiveBuffers(coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Container_T &cells)
void readFromReceiveBuffer(coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Container_T &cells)
void wait4SendFromMD2Macro(coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Container_T &cells)
void sendFromMD2Macro(coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Container_T &cells)
void sendFromMD2MacroNonBlocking(coupling::sendrecv::DataExchange< Cell_T, dim > &dataExchange, const Container_T &cells)
FromMD2MacroRecvOnly()
Definition FromMD2MacroRecvOnly.h:35
generic class for send-/ receive methodology.
Definition SendReceiveBuffer.h:35
everything necessary for coupling operations, is defined in here
Definition AdditiveMomentumInsertion.h:15