MaMiCo 1.2
|
data exchange from the MD solver to the macroscopic solver. Derived from the class coupling::sendrecv::DataExchange More...
#include <DataExchangeFromMD2Macro.h>
Public Member Functions | |
DataExchangeFromMD2Macro (coupling::interface::MacroscopicSolverInterface< dim > *interface, unsigned int topologyOffset, unsigned int tagoffset=0) | |
virtual | ~DataExchangeFromMD2Macro () |
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 MD solver to the macroscopic solver. Derived from the class coupling::sendrecv::DataExchange
data exchange from MD, that is the coupling tool, to the macroscopic solver. We transfer the buffers macroscopicMass and macroscopicMomentum of the CouplingCell. The target ranks are determined by the getRanks()-method of the macroscopic solver interface: the macroscopic solver interface thus needs to know on which ranks information from the MD simulation are required as input. The source ranks arise from the unique rank determination within the IndexConversion. We only allow transfer of non-ghost coupling cells to the macroscopic solver, i.e. cells which are completely embedded into the MD domain.
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 >.