6 boost::container::flat_map<size_t, ComputationalCell> res;
8 for (
size_t i = 0; i < ghosts.size(); ++i)
11 Edge const& edge = tess.
GetEdge(static_cast<int>(ghosts[i].first));
14 res.insert(std::pair<size_t, ComputationalCell>(ghosts[i].second == 1 ? static_cast<size_t> (edge.
neighbors.first)
15 : static_cast<size_t>(edge.
neighbors.second), ctemp));
21 const vector<ComputationalCell>& ,
const vector<Slope>& gradients,
24 return gradients[
static_cast<size_t>(tess.
GetOriginalIndex(static_cast<int>(ghost_index)))];
Abstract class for tessellation.
virtual int GetOriginalIndex(int point) const
Returns the original index of the duplicated point.
boost::container::flat_map< size_t, ComputationalCell > operator()(const Tessellation &tess, const vector< ComputationalCell > &cells, double time, TracerStickerNames const &tracerstickernames) const
Calculates the ghost points.
Slope GetGhostGradient(const Tessellation &tess, const vector< ComputationalCell > &cells, const vector< Slope > &gradients, size_t ghost_index, double time, const Edge &edge, TracerStickerNames const &tracerstickernames) const
Calculates the gradients for the ghost cells.
Interface between two cells.
Class for spatial interpolations.
virtual Edge const & GetEdge(int index) const =0
Returns edge (interface between cells)
vector< std::pair< size_t, size_t > > GetOuterEdgesIndeces(Tessellation const &tess) const
Finds the indeces of the outer edges points.
Class for creating computationalcells of ghost points for periodic boundaries.
Class for keeping the names of the tracers and stickers.
std::pair< int, int > neighbors
Neighboring cells.