Public Member Functions | Public Attributes | List of all members
RefineStrategy Class Referenceabstract

Abstract class for refinment strategies. More...

#include <RefineStrategy.hpp>

Inheritance diagram for RefineStrategy:
Inheritance graph
[legend]
Collaboration diagram for RefineStrategy:
Collaboration graph
[legend]

Public Member Functions

 RefineStrategy (void)
 Class constructor.
 
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. More...
 
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. More...
 
vector< int > RemoveNearBoundary (vector< int > const &ToRefine, vector< Vector2D > &directions, Tessellation const &tess)
 Removed from the list cells near periodic boundaries. More...
 
virtual ~RefineStrategy (void)
 Virtual destructor.
 

Public Attributes

vector< int > refined_old
 The cells that were refined in the previous time step.
 

Detailed Description

Abstract class for refinment strategies.

Author
Elad Steinberg

Definition at line 16 of file RefineStrategy.hpp.

Member Function Documentation

◆ CellsToRefine()

virtual vector<int> RefineStrategy::CellsToRefine ( Tessellation const &  tess,
vector< ComputationalCell > const &  cells,
double  time,
vector< Vector2D > &  directions,
vector< int > const &  Removed 
)
pure virtual

Calculates the cells to be refined.

Parameters
tessThe tessellation
cellsThe primitive cells
timeThe simulation time
directionsThe directions to move the splitted points, can be given empty
RemovedA list of the cells that were removed in the last cell removal
Returns
A list of the cells to refine

Implemented in NohRefine.

◆ RemoveDuplicatedLately()

vector< int > RefineStrategy::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.

Parameters
ToRefineThe list of candidate cells to split
NpointsThe number of points in the tessellation
directionsThe directions to move the splitted points, can be given empty
RemovedA list of the cells that were removed in the last cell removal
tessThe tessellation
Returns
A new list, where the points that were split last time step are removed from

Definition at line 39 of file RefineStrategy.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveNearBoundary()

vector< int > RefineStrategy::RemoveNearBoundary ( vector< int > const &  ToRefine,
vector< Vector2D > &  directions,
Tessellation const &  tess 
)

Removed from the list cells near periodic boundaries.

Parameters
ToRefineList of candidates
directionsThe split directions, can be given empty
tessThe tessellation
Returns
The corrected list

Definition at line 6 of file RefineStrategy.cpp.

Here is the call graph for this function:

The documentation for this class was generated from the following files: