15 : TraversalVTKPlotter(
"grid-construction", spacetreeId )
33 TraversalVTKPlotter::beginTraversal(x,h);
43 TraversalVTKPlotter::endTraversal(x,h);
52 TraversalVTKPlotter::enterCell(event);
61 TraversalVTKPlotter::leaveCell(event);
70 if (_spacetreeId!=-1) {
71 assertionMsg(
false,
"clone() should not be called for particular spacetree plotter" );
74 updateMetaFile(spacetreeId);
79 return new MyObserver( spacetreeId, _iterationCounter );
85 std::vector< peano4::grid::GridControlEvent > controlEvents;
87 if (_iterationCounter<GridRefinementIterations) {
93 newEvent.
setH( {0.02,0.02} );
97 newEvent.
setH( {0.02,0.02,0.02} );
99 controlEvents.push_back(newEvent);
102 if (_iterationCounter>GridRefinementIterations + StationaryIterations) {
108 newEvent.
setH( {0.4,0.4} );
111 newEvent.
setWidth( {0.99,0.99,0.99} );
112 newEvent.
setH( {0.4,0.4,0.4} );
114 controlEvents.push_back(newEvent);
117 return controlEvents;
#define assertionMsg(expr, message)
MyObserver(int spacetreeId=-1, int counter=0)
void leaveCell(const peano4::grid::GridTraversalEvent &event) override
void beginTraversal(const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h) override
Begin the traversal.
void endTraversal(const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h) override
void enterCell(const peano4::grid::GridTraversalEvent &event) override
Event is invoked per cell.
std::vector< peano4::grid::GridControlEvent > getGridControlEvents() override
TraversalObserver * clone(int spacetreeId) override
I use the clone to create one observer object per traversal thread.
static int _iterationCounter
void setOffset(const tarch::la::Vector< Dimensions, double > &value)
void setH(const tarch::la::Vector< Dimensions, double > &value)
void setRefinementControl(RefinementControl value)
void setWidth(const tarch::la::Vector< Dimensions, double > &value)