MaMiCo 1.2
|
data exchange from the macroscopic solver to the MD solver. Derived from the class coupling::sendrecv::DataExchange More...
#include <DataExchangeFromMacro2MD.h>
Public Member Functions | |
DataExchangeFromMacro2MD (coupling::interface::MacroscopicSolverInterface< dim > *interface, unsigned int topologyOffset, unsigned int tagoffset=0) | |
virtual | ~DataExchangeFromMacro2MD () |
std::vector< unsigned int > | getTargetRanks (I01 idx) override |
std::vector< unsigned int > | getSourceRanks (I01 idx) override |
void | readFromCell (double *const buffer, const coupling::datastructures::CouplingCell< dim > &cell) override |
void | writeToCell (const double *const buffer, coupling::datastructures::CouplingCell< dim > &cell) override |
unsigned int | getDoublesPerCell () const override |
![]() | |
DataExchange (unsigned int tag) | |
virtual | ~DataExchange () |
unsigned int | getTag () const |
Private Attributes | |
coupling::interface::MacroscopicSolverInterface< dim > * | _msi |
unsigned int | _topologyOffset |
data exchange from the macroscopic solver to the MD solver. Derived from the class coupling::sendrecv::DataExchange
data exchange from the macroscopic solver to the MD solver, that is to the coupling tool. We transfer the buffers microscopicMass and microscopicMomentum of the CouplingCell. The target ranks are determined by the getRanksForCouplingCell(): since coupling cells may exist on different ranks (due to ghost layers), this method determines all ranks with a particular coupling cell and returns a vector with all required ranks. The source ranks are determined via the macroscopic solver interface's method getRanks()
dim | Number of dimensions; it can be 1, 2 or 3 |
|
inline |
Constructor
interface | macroscopic solver interface |
tagoffset | 0 per default |
|
inlinevirtual |
Destructor
|
inlineoverridevirtual |
returns the number of doubles that are sent per coupling cell.
Implements coupling::sendrecv::DataExchange< coupling::datastructures::CouplingCell< dim >, dim >.
|
inlineoverridevirtual |
returns all ranks from which a particular cell (at index idx) is sent.
idx |
Implements coupling::sendrecv::DataExchange< coupling::datastructures::CouplingCell< dim >, dim >.
|
inlineoverridevirtual |
returns the ranks to which a particular cell (at index idx) should be sent.
idx |
Implements coupling::sendrecv::DataExchange< coupling::datastructures::CouplingCell< dim >, dim >.
|
inlineoverridevirtual |
local rule to read from coupling cell and write data to (e.g. send) buffer. We only send the macroscopic mass and macroscopic momentum from MD to the macroscopic solver.
buffer | |
cell |
Implements coupling::sendrecv::DataExchange< coupling::datastructures::CouplingCell< dim >, dim >.
|
inlineoverridevirtual |
local rule to read from receive buffer and write data to coupling cell
buffer | |
cell |
Implements coupling::sendrecv::DataExchange< coupling::datastructures::CouplingCell< dim >, dim >.