diff --git a/AMDiS/src/AdaptInstationary.cc b/AMDiS/src/AdaptInstationary.cc index b1c16f3c9461367f33933df51bcf126e391ab435..81bd2712c5ced2bbf7ebdb82e40c489b434907d0 100644 --- a/AMDiS/src/AdaptInstationary.cc +++ b/AMDiS/src/AdaptInstationary.cc @@ -273,8 +273,6 @@ namespace AMDiS { { FUNCNAME("AdaptInstationary::oneTimestep()"); - MSG("ONE TIMESTEP!\n"); - adaptInfo->setTimestepIteration(0); switch (strategy) { diff --git a/AMDiS/src/Operator.cc b/AMDiS/src/Operator.cc index 08fdcc2285e1aa3bc4fadae978aff84af1f38257..8e5ea6cdd6322117301d2be23bb07849eeabf252 100644 --- a/AMDiS/src/Operator.cc +++ b/AMDiS/src/Operator.cc @@ -195,4 +195,36 @@ namespace AMDiS { static_cast<SecondOrderTerm*>(*termIt)->weakEval(grdUhAtQP, result); } + + void Operator::addTerm(ZeroOrderTerm *term) + { + zeroOrder.push_back(term); + term->operat = this; + for (std::set<const FiniteElemSpace*>::iterator it = term->getAuxFeSpaces().begin(); + it != term->getAuxFeSpaces().end(); ++it) + auxFeSpaces.insert(*it); + } + + void Operator::addTerm(FirstOrderTerm *term, + FirstOrderType type) + { + if (type == GRD_PSI) { + firstOrderGrdPsi.push_back(term); + } else { + firstOrderGrdPhi.push_back(term); + } + term->operat = this; + for (std::set<const FiniteElemSpace*>::iterator it = term->getAuxFeSpaces().begin(); + it != term->getAuxFeSpaces().end(); ++it) + auxFeSpaces.insert(*it); + } + + void Operator::addTerm(SecondOrderTerm *term) + { + secondOrder.push_back(term); + term->operat = this; + for (std::set<const FiniteElemSpace*>::iterator it = term->getAuxFeSpaces().begin(); + it != term->getAuxFeSpaces().end(); ++it) + auxFeSpaces.insert(*it); + } } diff --git a/AMDiS/src/Operator.h b/AMDiS/src/Operator.h index ec2d1ba3144a4707498f9c61be4f4ef0cf351d89..2f5badc5ab98eecb0a6304bacdccdb1b6906f2c7 100644 --- a/AMDiS/src/Operator.h +++ b/AMDiS/src/Operator.h @@ -90,6 +90,10 @@ namespace AMDiS { template <typename T> void addZeroOrderTerm(T *term); + void addTerm(ZeroOrderTerm *term); + void addTerm(FirstOrderTerm *term, + FirstOrderType type); + void addTerm(SecondOrderTerm *term); /** \brief * Calculates the element matrix for this ElInfo and adds it multiplied by diff --git a/AMDiS/src/RefinementManager3d.cc b/AMDiS/src/RefinementManager3d.cc index b14180c4c8fe3b59d491f237ad54232aef83042d..37772180bfad25421dab5dfdb10cc9388fdc3c9e 100644 --- a/AMDiS/src/RefinementManager3d.cc +++ b/AMDiS/src/RefinementManager3d.cc @@ -414,7 +414,9 @@ namespace AMDiS { return true; int oppVertex = (*elInfo)->getOppVertex(localNeighbour); + #if DEBUG int testIndex = (*elInfo)->getNeighbour(localNeighbour)->getIndex(); + #endif ElInfo *neighInfo = stack->traverseNeighbour3d((*elInfo), localNeighbour); int neighElType = neighInfo->getType(); @@ -559,7 +561,10 @@ namespace AMDiS { if (neighInfo->getNeighbour(i)) { oppVertex = neighInfo->getOppVertex(i); + + #if DEBUG int testIndex = neighInfo->getNeighbour(i)->getIndex(); + #endif neighInfo = stack->traverseNeighbour3d(neighInfo, i); @@ -591,7 +596,9 @@ namespace AMDiS { ("While looping back domains boundary was reached or i == 0\n"); oppVertex = refineList.getOppVertex(i--, 0); + #if DEBUG int testIndex = neighInfo->getNeighbour(oppVertex)->getIndex(); + #endif neighInfo = stack->traverseNeighbour3d(neighInfo, oppVertex); int edgeDof0, edgeDof1;