6 vector<pair<ComputationalCell, ComputationalCell> >& res,
TracerStickerNames const & tracerstickersnames,
10 boost::container::flat_map<size_t, ComputationalCell> ghost_cells = ghost_.operator()(tess,
11 cells, time, tracerstickersnames);
13 size_t Nedges = res.size();
14 for (
size_t i = 0; i < Nedges; ++i)
16 Edge const& edge = tess.
GetEdge(static_cast<int>(i));
18 res[i].first = cells[
static_cast<size_t>(edge.
neighbors.first)];
22 res[i].first = cells.at(static_cast<size_t>(edge.
neighbors.first));
25 res[i].first = ghost_cells[
static_cast<size_t>(edge.
neighbors.first)];
27 res[i].second = cells[
static_cast<size_t>(edge.
neighbors.second)];
31 res[i].second = cells.at(static_cast<size_t>(edge.
neighbors.second));
34 res[i].second = ghost_cells[
static_cast<size_t>(edge.
neighbors.second)];
Abstract class for tessellation.
virtual int GetPointNo(void) const =0
Get Total number of mesh generating points.
virtual int GetOriginalIndex(int point) const
Returns the original index of the duplicated point.
Interface between two cells.
Abstract class for creating ghost points.
Class for pcm interpolation of the hydrodynamic variables.
PCM(GhostPointGenerator const &ghost)
Class constructor.
virtual Edge const & GetEdge(int index) const =0
Returns edge (interface between cells)
Container for cache data.
Class for keeping the names of the tracers and stickers.
virtual int GetTotalSidesNumber(void) const =0
Returns the total number of faces.
std::pair< int, int > neighbors
Neighboring cells.
void operator()(const Tessellation &tess, const vector< ComputationalCell > &cells, double time, vector< pair< ComputationalCell, ComputationalCell > > &res, TracerStickerNames const &tracerstikersnames, CacheData const &cd) const
interpolates values on both sides of each interface