5#ifndef _MOLECULARDYNAMICS_COUPLING_SENDRECV_DATAEXCHANGE_H_
6#define _MOLECULARDYNAMICS_COUPLING_SENDRECV_DATAEXCHANGE_H_
8#include "coupling/datastructures/CouplingCell.h"
9#include "tarch/la/Vector.h"
13template <
class Cell_T,
unsigned int dim>
class DataExchange;
59 virtual void readFromCell(
double*
const buffer,
const Cell_T& cell) = 0;
65 virtual void writeToCell(
const double*
const buffer, Cell_T& cell) = 0;
generic class for the the data exchange purposes.
Definition DataExchange.h:27
const unsigned int _tag
Definition DataExchange.h:73
virtual std::vector< unsigned int > getSourceRanks(I01 idx)=0
virtual std::vector< unsigned int > getTargetRanks(I01 idx)=0
unsigned int getTag() const
Definition DataExchange.h:38
DataExchange(unsigned int tag)
Definition DataExchange.h:32
virtual void readFromCell(double *const buffer, const Cell_T &cell)=0
virtual ~DataExchange()
Definition DataExchange.h:34
virtual unsigned int getDoublesPerCell() const =0
virtual void writeToCell(const double *const buffer, Cell_T &cell)=0
everything necessary for coupling operations, is defined in here
Definition AdditiveMomentumInsertion.h:15