diff --git a/AMDiS/src/Marker.cc b/AMDiS/src/Marker.cc index 249832d18cb639433984dca748a3b726f24f5a13..c817a90a27122392e80e541fe13488732ff4a3f1 100644 --- a/AMDiS/src/Marker.cc +++ b/AMDiS/src/Marker.cc @@ -49,7 +49,9 @@ namespace AMDiS { double lError = el->getEstimation(row); if (adaptInfo->isRefinementAllowed(row == -1 ? 0 : row) && lError > markRLimit) { - setMark(el, adaptInfo->getRefineBisections(row == -1 ? 0 : row)); + if ((maxRefineLevel == -1) || (static_cast<int>(elInfo->getLevel()) < maxRefineLevel)) { + setMark(el, adaptInfo->getRefineBisections(row == -1 ? 0 : row)); + } } else { if (adaptInfo->isCoarseningAllowed(row == -1 ? 0 : row) && lError <= markCLimit) { if (!el->getElementData()->getElementData(COARSENABLE) || @@ -72,10 +74,7 @@ namespace AMDiS { ElInfo *elInfo = NULL; elInfo = stack.traverseFirst(mesh, -1, Mesh::CALL_LEAF_EL); while (elInfo) { - if ((maxRefineLevel > -1) && - (static_cast<int>(elInfo->getLevel()) < maxRefineLevel)) { - markElement(adaptInfo, elInfo); - } + markElement(adaptInfo, elInfo); elInfo = stack.traverseNext(elInfo); }