6 #ifndef TESSELLATION3D_HPP 7 #define TESSELLATION3D_HPP 1 33 virtual void Update(vector<Vector3D>
const& points) = 0;
62 virtual Face const&
GetFace(
size_t index)
const = 0;
68 virtual double GetWidth(
size_t index)
const = 0;
74 virtual double GetVolume(
size_t index)
const = 0;
80 virtual vector<size_t>
const&
GetCellFaces(
size_t index)
const = 0;
94 virtual vector<size_t>
GetNeighbors(
size_t index)
const = 0;
139 virtual vector<Vector3D>&
GetAllCM(
void) = 0;
175 #endif // TESSELLATION3D_HPP virtual double GetWidth(size_t index) const =0
Returns the effective width of a cell.
virtual bool NearBoundary(size_t index) const =0
Returns if the cell is adjacent to a boundary.
virtual void Update(vector< Vector3D > const &points)=0
Update the tessellation.
Abstract class for tessellation in 3D.
virtual double GetVolume(size_t index) const =0
Returns the volume of a cell.
virtual Vector3D CalcFaceVelocity(size_t p0, size_t p1, Vector3D const &v0, Vector3D const &v1) const =0
Calculates the velocity of a face.
virtual Vector3D Normal(size_t faceindex) const =0
Returns a vector normal to the face whose magnitude is the seperation between the neighboring points...
Hilbert 3D-space filling curve.
virtual size_t GetTotalPointNumber(void) const =0
Returns the total number of points (including ghost)
virtual bool IsGhostPoint(size_t index) const =0
Checks if a point is a ghost point or not.
Abstract class for geometric boundary conditions for the tessellation.
virtual void Initialise(vector< Vector3D > const &points, OuterBoundary3D const *bc)=0
Initialises the tessellation.
virtual ~Tessellation3D(void)
Virtual destructor.
virtual vector< vector< size_t > > & GetDuplicatedPoints(void)=0
Returns the indeces of the points that where sent to other processors as ghost points (or to same cpu...
virtual Vector3D GetMeshPoint(size_t index) const =0
Returns Position of mesh generating point.
virtual vector< size_t > GetNeighbors(size_t index) const =0
Returns a list of the neighbors of a cell.
Outer Boundary Conditions.
virtual Face const & GetFace(size_t index) const =0
Returns Face (interface between cells)
virtual Tessellation3D * clone(void) const =0
Cloning function.
virtual size_t GetPointNo(void) const =0
Get Total number of mesh generating points.
virtual bool BoundaryFace(size_t index) const =0
Returns if the face is a boundary one.
virtual vector< Vector3D > & GetMeshPoints(void)=0
Returns a reference to the point vector.
virtual Vector3D const & GetCellCM(size_t index) const =0
Returns Position of Cell's Center of Mass.
virtual size_t GetTotalFacesNumber(void) const =0
Returns the total number of faces.
virtual vector< Vector3D > & GetAllCM(void)=0
Returns the center of masses of the cells.
Interface between two cells.
virtual vector< size_t > const & GetCellFaces(size_t index) const =0
Returns the indeces of a cell's Faces.
virtual void GetNeighborNeighbors(vector< size_t > &result, size_t point) const =0
Returns the neighbors and neighbors of the neighbors of a cell.