diff --git a/AMDiS/src/ElInfo2d.cc b/AMDiS/src/ElInfo2d.cc index 65e90afaac8564162caf62fae057a0b4431b51f4..7df8e6f2cc253d07b99f8f007f6a9b0b033fbd8f 100644 --- a/AMDiS/src/ElInfo2d.cc +++ b/AMDiS/src/ElInfo2d.cc @@ -88,7 +88,7 @@ namespace AMDiS { neighbourCoord_[i][0] = macroNeighbour->coord[1]; neighbourCoord_[i][1] = macroNeighbour->coord[2]; } else { - ERROR_EXIT("should not happen!\n"); + ERROR_EXIT("Should not happen!\n"); } neighbourCoord_[i][2] = oppCoord_[i]; @@ -102,15 +102,28 @@ namespace AMDiS { neighbourCoord_[i][0] = macroNeighbour->coord[2]; neighbourCoord_[i][1] = macroNeighbour->coord[0]; } else { - ERROR_EXIT("should not happen!\n"); + ERROR_EXIT("Should not happen!\n"); } neighbourCoord_[i][2] = oppCoord_[i]; break; + case 2: + if (*(macroNeighbour->getElement()->getDOF(2)) == *(element_->getDOF(0))) { + neighbourCoord_[i][0] = macroNeighbour->coord[2]; + neighbourCoord_[i][1] = macroNeighbour->coord[1]; + } else if (*(macroNeighbour->getElement()->getDOF(2)) == *(element_->getDOF(1))) { + neighbourCoord_[i][0] = macroNeighbour->coord[0]; + neighbourCoord_[i][1] = macroNeighbour->coord[2]; + } else { + ERROR_EXIT("Should not happen!\n"); + } + break; + default: std::cout << "------------- Error --------------" << std::endl; - std::cout << " Element index = " << element_->getIndex() << "\n\n"; + std::cout << " Neighbour counter = " << i << "\n"; + std::cout << " Element index = " << element_->getIndex() << "\n\n"; for (int j = 0; j < neighbours; j++) { if (mel->getNeighbour(j)) { std::cout << " Neighbour " << j << ": " diff --git a/AMDiS/src/ParallelProblem.cc b/AMDiS/src/ParallelProblem.cc index 75b96b79498a38f1cc9969c6f340303bcb7a0590..5ca1b8337085358e31381c45bf77e8f8668b9aac 100644 --- a/AMDiS/src/ParallelProblem.cc +++ b/AMDiS/src/ParallelProblem.cc @@ -1359,6 +1359,8 @@ namespace AMDiS { // and now partition the mesh partitionMesh(adaptInfo); +#if 0 + // 2009-03-31 THOMAS, DO NOT REMOVE THIS BLOCK TraverseStack stack; ElInfo *elInfo = stack.traverseFirst(mesh, -1, Mesh::CALL_LEAF_EL); int nLeaves = 0; @@ -1377,8 +1379,9 @@ namespace AMDiS { } mesh->setNumberOfLeaves(nLeaves); +#endif -#if 0 +#if 1 globalRefineOutOfPartition(adaptInfo); refineOverlap(adaptInfo); diff --git a/AMDiS/src/ProblemVec.cc b/AMDiS/src/ProblemVec.cc index f9fc78990938fd82096ee4a309d19db17e407b05..d3df02329d248e94296352687d05a2ab039242c0 100644 --- a/AMDiS/src/ProblemVec.cc +++ b/AMDiS/src/ProblemVec.cc @@ -25,6 +25,7 @@ #include "Lagrange.h" #include "Flag.h" #include "TraverseParallel.h" +#include "VtkWriter.h" namespace AMDiS { @@ -573,6 +574,8 @@ namespace AMDiS { { FUNCNAME("ProblemVec::estimate()"); + VtkWriter::writeFile(solution->getDOFVector(0), "test.vtu"); + clock_t first = clock(); #ifdef _OPENMP