12 normal = normal /
abs(normal);
20 boost::container::flat_map<size_t, ComputationalCell> res;
22 for (
size_t i = 0; i < ghosts.size(); ++i)
24 Edge const& edge = tess.
GetEdge(static_cast<int>(ghosts[i].first));
25 size_t ghost_index = ghosts[i].second == 1 ?
static_cast<size_t> (edge.
neighbors.first)
26 : static_cast<size_t>(edge.
neighbors.second);
30 ReverseNormalVelocity(ctemp, edge, ghosts[i].second, tess);
31 res.insert(std::pair<size_t, ComputationalCell>(ghost_index, ctemp));
34 res.insert(std::pair<size_t, ComputationalCell>(ghost_index, cells[ghost_index]));
41 vector<ComputationalCell>
const& cells,
42 vector<Slope>
const& ,
49 cell.
tracers = cells[0].tracers;
51 for (
size_t i = 0; i < N; ++i)
53 return Slope(cell, cell);
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.
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.
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.
virtual Vector2D GetMeshPoint(int index) const =0
Returns Position of mesh generating point.
Class for spatial interpolations.
tvector tracers
Tracers (can transfer from one cell to another)
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.
double ScalarProd(Vector3D const &v1, Vector3D const &v2)
Scalar product of two vectors.
Class for creating computationalcells of ghost points for rigid walls.
Class for keeping the names of the tracers and stickers.
std::pair< int, int > neighbors
Neighboring cells.
double abs(Vector3D const &v)
Norm of a vector.
Vector2D velocity
Velocity.