Public Member Functions | List of all members
RemovalStrategy Class Referenceabstract

Abstract class for derefinment strategies. More...

#include <RemovalStrategy.hpp>

Inheritance diagram for RemovalStrategy:
Inheritance graph
[legend]

Public Member Functions

virtual vector< int > CellsToRemove (Tessellation const &tess, vector< ComputationalCell > const &cells, double time) const =0
 Removal abstract class. Can't remove neighboring cells or cells near peiodic boundary. Use CheckOutput to check correctness. More...
 
void CheckOutput (Tessellation const &tess, vector< int > &ToRemove) const
 Checks if the removed list is good, throws an error if not. More...
 
vector< int > RemoveNeighbors (vector< double > const &merits, vector< int > const &candidates, Tessellation const &tess) const
 Removes neighboring points and cells near the boundary which are not rigid walls. More...
 
vector< int > RemoveNearBoundary (vector< int > const &ToRemove, Tessellation const &tess) const
 Removed from the list cells near periodic boundaries. More...
 
virtual ~RemovalStrategy (void)
 Virtual destructor.
 

Detailed Description

Abstract class for derefinment strategies.

Author
Elad Steinberg

Definition at line 17 of file RemovalStrategy.hpp.

Member Function Documentation

◆ CellsToRemove()

virtual vector<int> RemovalStrategy::CellsToRemove ( Tessellation const &  tess,
vector< ComputationalCell > const &  cells,
double  time 
) const
pure virtual

Removal abstract class. Can't remove neighboring cells or cells near peiodic boundary. Use CheckOutput to check correctness.

Parameters
tessThe tessellation
cellsThe hydro primitives
timeThe sim time
Returns
The cells to remove

Implemented in NohRemove.

◆ CheckOutput()

void RemovalStrategy::CheckOutput ( Tessellation const &  tess,
vector< int > &  ToRemove 
) const

Checks if the removed list is good, throws an error if not.

Parameters
tessThe tessellation
ToRemoveThe list of points to remove

Definition at line 81 of file RemovalStrategy.cpp.

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

◆ RemoveNearBoundary()

vector< int > RemovalStrategy::RemoveNearBoundary ( vector< int > const &  ToRemove,
Tessellation const &  tess 
) const

Removed from the list cells near periodic boundaries.

Parameters
ToRemoveList of candidates
tessThe tessellation
Returns
The corrected list

Definition at line 4 of file RemovalStrategy.cpp.

Here is the call graph for this function:

◆ RemoveNeighbors()

vector< int > RemovalStrategy::RemoveNeighbors ( vector< double > const &  merits,
vector< int > const &  candidates,
Tessellation const &  tess 
) const

Removes neighboring points and cells near the boundary which are not rigid walls.

Parameters
meritsThe vector of merits that decides which one of the neighbors to keep (the one with the higher merit)
candidatesThe list of points to remove, assumed to be sorted
tessThe tessellation
Returns
The list of points to remove without neighboring points

Definition at line 31 of file RemovalStrategy.cpp.

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

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