6 #ifndef TESSELLATION_HPP 7 #define TESSELLATION_HPP 1 60 virtual vector<int>
Update(
const vector<Vector2D>& points,
bool HilbertOrder=
false) = 0;
70 virtual vector<int>
Update(
const vector<Vector2D>& points,
const Tessellation& tess,
bool HOrder =
false) = 0;
98 virtual const vector<Edge>&
getAllEdges(
void)
const = 0;
110 virtual double GetWidth(
int index)
const = 0;
116 virtual double GetVolume(
int index)
const = 0;
122 virtual vector<int>
const&
GetCellEdges(
int index)
const =0;
149 virtual void GetNeighbors(
int index,vector<int> &neigh)
const = 0;
184 virtual vector<vector<int> >
const&
GetSentPoints(
void)
const=0;
217 virtual vector<Vector2D>&
GetAllCM(
void)=0;
225 #endif // TESSELLATION_HPP Geometrical calculations.
virtual vector< int > GetDuplicatedProcs(void) const =0
Returns the indeces of the processors with whom ghost points where exchanged.
virtual vector< int > Update(const vector< Vector2D > &points, bool HilbertOrder=false)=0
Update the tessellation.
virtual vector< size_t > GetSelfPoint(void) const =0
Returns the indeces of the points that remain with the processor after the ne processor mesh is built...
virtual void GetNeighborNeighbors(vector< int > &result, int point) const =0
Retrieves vicarious neighbors.
Abstract class for tessellation.
virtual int GetPointNo(void) const =0
Get Total number of mesh generating points.
virtual Vector2D const & GetCellCM(int index) const =0
Returns Position of Cell's CM.
virtual int GetOriginalIndex(int point) const
Returns the original index of the duplicated point.
virtual vector< Vector2D > & GetAllCM(void)=0
Returns the center of masses of the cells.
Interface between two cells.
virtual Vector2D GetMeshPoint(int index) const =0
Returns Position of mesh generating point.
virtual vector< vector< int > > const & GetSentPoints(void) const =0
Returns the indeces of the points that where sent to other processors.
virtual Edge const & GetEdge(int index) const =0
Returns edge (interface between cells)
virtual bool NearBoundary(int index) const =0
Returns if the cell is adjacent to a boundary.
virtual vector< Vector2D > & GetMeshPoints(void)=0
Returns a reference to the point vector.
virtual const vector< Edge > & getAllEdges(void) const =0
Returns reference to the list of all edges.
virtual int GetTotalPointNumber(void) const =0
Returns the total number of points (including ghost)
virtual double GetWidth(int index) const =0
Returns the effective width of a cell.
virtual double GetVolume(int index) const =0
Returns the volume of a cell.
vector< int > HilbertOrder(vector< Vector2D > const &cor, int num, int innernum=0)
Returns the Hilber curve ordering.
virtual int GetTotalSidesNumber(void) const =0
Returns the total number of faces.
virtual Tessellation * clone(void) const =0
Cloning function.
virtual Vector2D CalcFaceVelocity(Vector2D wl, Vector2D wr, Vector2D rL, Vector2D rR, Vector2D f) const =0
Calculates the velocity of a single edge.
virtual vector< vector< int > > & GetDuplicatedPoints(void)=0
Returns the indeces of the points that where sent to other processors as ghost points.
virtual vector< int > const & GetCellEdges(int index) const =0
Returns the indexes of a cell's edges.
Abstract class for geometric boundary conditions for the tessellation.
virtual vector< vector< int > > & GetGhostIndeces(void)=0
Returns the indeces of each ghost point in the vector of points that the tessellation holds...
virtual vector< int > GetNeighbors(int index) const =0
Returns the indeces of the neighbors.
virtual void Initialise(vector< Vector2D > const &points, OuterBoundary const *bc, bool HilbertOrder=true)=0
Initialises the tessellation.
virtual vector< int > GetSentProcs(void) const =0
Returns the indeces of the processors with whom points where exchanged.