6 #ifndef REFINESTRATEGY_HPP 7 #define REFINESTRATEGY_HPP 1 10 #include "../../tessellation/tessellation.hpp" 11 #include "../two_dimensional/computational_cell_2d.hpp" 12 #include "../../misc/utils.hpp" 32 vector<ComputationalCell>
const& cells,
34 vector<Vector2D> &directions,
35 vector<int>
const& Removed)=0;
46 int Npoints,vector<Vector2D> &directions,vector<int>
const& Removed,
72 vector<Edge>
const& edges,
double R,
Vector2D &normal);
73 #endif // REFINESTRATEGY_HPP virtual vector< int > CellsToRefine(Tessellation const &tess, vector< ComputationalCell > const &cells, double time, vector< Vector2D > &directions, vector< int > const &Removed)=0
Calculates the cells to be refined.
Vector2D FindBestSplit(Tessellation const *tess, int PointToRefine, vector< Edge > const &edges, double R, Vector2D &normal)
Finds the best way to spit the cell by finding the line connecting the mesh point and the cell's CM...
RefineStrategy(void)
Class constructor.
Abstract class for tessellation.
vector< int > refined_old
The cells that were refined in the previous time step.
virtual ~RefineStrategy(void)
Virtual destructor.
vector< int > RemoveDuplicatedLately(vector< int > const &ToRefine, int Npoints, vector< Vector2D > &directions, vector< int > const &Removed, Tessellation const &tess)
Removes cells that were splitted in the last time step.
Abstract class for refinment strategies.
vector< int > RemoveNearBoundary(vector< int > const &ToRefine, vector< Vector2D > &directions, Tessellation const &tess)
Removed from the list cells near periodic boundaries.