diff --git a/AMDiS/src/Traverse.cc b/AMDiS/src/Traverse.cc index b59f2448a735bb33bee038fcf316b14648a358ee..ac7a7bdce6358766fc6fc1b8563ae91a5c3b9a39 100644 --- a/AMDiS/src/Traverse.cc +++ b/AMDiS/src/Traverse.cc @@ -361,10 +361,6 @@ namespace AMDiS { ((info_stack[stack_used] >= 2) || (el->getFirstChild() == NULL))) { stack_used--; el = elinfo_stack[stack_used]->getElement(); - - if (calcDisplacement) { - displacementStack.pop(); - } } /* goto next macro element */ @@ -401,15 +397,6 @@ namespace AMDiS { elinfo_stack[stack_used + 1]->fillElInfo(i, elinfo_stack[stack_used]); stack_used++; - if (calcDisplacement) { - if (i == 0) { - displacementStack.push(displacementStack.top() * 2); - } else { - displacementStack.push(displacementStack.top() * 2 + 1); - } - } - - TEST_EXIT_DBG(stack_used < stack_size) ("stack_size=%d too small, level=(%d,%d)\n", stack_size, elinfo_stack[stack_used]->getLevel()); @@ -417,9 +404,6 @@ namespace AMDiS { info_stack[stack_used] = 0; } - if (calcDisplacement) { - } - return elinfo_stack[stack_used]; } @@ -1101,14 +1085,4 @@ namespace AMDiS { } } - void TraverseStack::startDisplacementCalculation(int level) - { - calcDisplacement = true; - - displacementStack.empty(); - for (int i = 0; i <= elinfo_stack[stack_used]->getLevel() - level; i++) { - displacementStack.push(0); - } - } - } diff --git a/AMDiS/src/Traverse.h b/AMDiS/src/Traverse.h index 826c678d681492d173bd330a6821ea403e92de50..b63ce870e528e7aa6dc2f83a2c0cc42719f28ca5 100644 --- a/AMDiS/src/Traverse.h +++ b/AMDiS/src/Traverse.h @@ -71,7 +71,6 @@ namespace AMDiS { stack_size(0), stack_used(0), save_stack_used(0), - calcDisplacement(false), myThreadId_(0), maxThreads_(1) { @@ -105,71 +104,39 @@ namespace AMDiS { */ ElInfo* traverseNext(ElInfo* elinfo_old); - /** \brief - * Returns the neighbour-th neighbour of elInfoOld - */ + /// Returns the neighbour-th neighbour of elInfoOld ElInfo* traverseNeighbour(ElInfo* elInfoOld, int neighbour); - /** \brief - * Returns the neighbour-th neighbour of elInfoOld - */ + /// Returns the neighbour-th neighbour of elInfoOld ElInfo* traverseNeighbour3d(ElInfo* elInfoOld, int neighbour); - /** \brief - * Returns the neighbour-th neighbour of elInfoOld - */ + /// Returns the neighbour-th neighbour of elInfoOld ElInfo* traverseNeighbour2d(ElInfo* elInfoOld, int neighbour); - /** \brief - * Not yet implemented - */ + /// Not yet implemented ElInfo* traverseMultiGridLevel(); - /** \brief - * Preorder traversal of all elements - */ + /// Preorder traversal of all elements ElInfo* traverseEveryElementPreorder(); - /** \brief - * Inorder traversal of all elements - */ + /// Inorder traversal of all elements ElInfo* traverseEveryElementInorder(); - /** \brief - * Postorder traversal of all elements - */ + /// Postorder traversal of all elements ElInfo* traverseEveryElementPostorder(); - /** \brief - * Only for 3d: Calls update of all ElInfo3d onjects in \ref elinfo_stack - */ + /// Only for 3d: Calls update of all ElInfo3d onjects in \ref elinfo_stack void update(); void getCoordsInElem(const ElInfo *upperElInfo, DimMat<double> *coords); - /** \brief - * Starts the calculation of the displacement relative to given level. - */ - void startDisplacementCalculation(int level); - - /** \brief - * Stops the calculation of displacement information. - */ - void stopDisplacementCalculation() { - calcDisplacement = false; - } - - /** \brief - * Is used for parallel mesh traverse. - */ + /// Is used for parallel mesh traverse. inline void setMyThreadId(int myThreadId) { myThreadId_ = myThreadId; } - /** \brief - * Is used for parallel mesh traverse. - */ + /// Is used for parallel mesh traverse. inline void setMaxThreads(int maxThreads) { maxThreads_ = maxThreads; } @@ -182,24 +149,16 @@ namespace AMDiS { } private: - /** \brief - * Enlargement of the stack - */ + /// Enlargement of the stack void enlargeTraverseStack(); - /** \brief - * Used by \ref traverseFirst() \ref traverseNext() - */ + /// Used by \ref traverseFirst() \ref traverseNext() ElInfo* traverseLeafElement(); - /** \brief - * Used by \ref traverseFirst() \ref traverseNext() - */ + /// Used by \ref traverseFirst() \ref traverseNext() ElInfo* traverseLeafElementLevel(); - /** \brief - * Used by \ref traverseFirst() \ref traverseNext() - */ + /// Used by \ref traverseFirst() \ref traverseNext() ElInfo* traverseElementLevel(); /** \brief @@ -221,14 +180,10 @@ namespace AMDiS { } private: - /** \brief - * Iterator to the current MacroElement - */ + /// Iterator to the current MacroElement std::deque<MacroElement*>::const_iterator currentMacro; - /** \brief - * Mesh which is currently traversed - */ + /// Mesh which is currently traversed Mesh* traverse_mesh; /** \brief @@ -243,24 +198,16 @@ namespace AMDiS { */ Flag traverse_fill_flag; - /** \brief - * current macro element - */ + /// current macro element const MacroElement *traverse_mel; - /** \brief - * Current size of the stack - */ + /// Current size of the stack int stack_size; - /** \brief - * Used size of the stack - */ + /// Used size of the stack int stack_used; - /** \brief - * - */ + /// std::vector<ElInfo*> elinfo_stack; /** \brief @@ -271,41 +218,21 @@ namespace AMDiS { * visited. */ std::vector<int> info_stack; - - /** \brief - * - */ + + /// const MacroElement *save_traverse_mel; - /** \brief - * - */ + /// std::vector<ElInfo*> save_elinfo_stack; - /** \brief - * - */ + /// std::vector<unsigned char> save_info_stack; - /** \brief - * - */ + /// int save_stack_used; - - /** \brief - * - */ - int id; - - /** \brief - * Stack for counting the deplacement information for dual traverse. - */ - std::stack<int> displacementStack; - /** \brief - * True, if \ref displacementStack should be calculated. - */ - bool calcDisplacement; + /// + int id; /** \brief * Is used for parallel mesh traverse. The thread with the id @@ -352,9 +279,7 @@ namespace AMDiS { TEST_EXIT(m)("No traverse without mesh!\n"); } - /** \brief - * Performs the recursive traversal - */ + /// Performs the recursive traversal int recursive(ElInfoStack*); private: