99 typedef std::list< std::pair<peano4::grid::GridControlEvent,int> >
NewEvents;
std::string toString(exahype2::RefinementCommand value)
exahype2::RefinementCommand operator&&(exahype2::RefinementCommand lhs, exahype2::RefinementCommand rhs)
If one of the flags says refine, then refine.
Manage refine/erase requests within ExaHyPE 2.
NewEvents _newEvents
Container to accumulate new events.
void clear()
Clears the new events, including the sibling erase events.
static tarch::logging::Log _log
RefinementControl(double tolerance=0.01)
void addCommand(const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, exahype2::RefinementCommand command, int lifetime)
Add a new command.
const double _Tolerance
We blow up the region around refinement criterion slightly.
std::list< SiblingEraseEvent > NewSiblingEraseEvents
static tarch::multicore::BooleanSemaphore _semaphore
NewSiblingEraseEvents _newSiblingEraseEvents
Erase requests of cells which know their parent,.
std::list< std::pair< peano4::grid::GridControlEvent, int > > NewEvents
void addCommand(const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, exahype2::RefinementCommand command, int lifetime, const tarch::la::Vector< Dimensions, int > &relativePositionWithinFatherCell)
Add a new command of a cell which knows its position within its parent.
std::string toString() const
virtual ~RefinementControl()
peano4::grid::GridControlEvent createEraseEvent(const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h) const
Construct the grid control event which erases the cell with centre x and size h.
This file is part of the ExaHyPE 2 project within Peano 4.
RefinementCommand getDefaultRefinementCommand()
The default is coarsen as this is the lowest priority command.
Erase request of one cell which knows its parent.
int positionWithinParent
Position of the requesting cell within its parent, linearised.
tarch::la::Vector< Dimensions, double > parentCentre
peano4::grid::GridControlEvent event
tarch::la::Vector< Dimensions, double > parentH