Commit eacb8f5b authored by Thomas Witkowski's avatar Thomas Witkowski

a

parent e1bf345b
......@@ -245,7 +245,7 @@ namespace AMDiS {
break;
case 1:
// The commonedge is the edge 1 of this element.
// The common edge is the edge 1 of this element.
switch (edgeNo) {
case 0:
neighbourCoord[i][0] = macroNeighbour->coord[1];
......
......@@ -786,37 +786,39 @@ namespace AMDiS {
if (it->rankObj.subObj == FACE)
allFaces[it.getRank()].insert(it->rankObj);
std::set<BoundaryObject> allMyEdges;
TraverseStack stack;
ElInfo *elInfo = stack.traverseFirst(meshDistributor->getMesh(), 0, Mesh::CALL_EL_LEVEL | Mesh::FILL_BOUND);
while (elInfo) {
Element *el = elInfo->getElement();
for (int i = 0; i < el->getGeo(EDGE); i++) {
BoundaryObject bobj(el, elInfo->getType(), EDGE, i);
if (intBound.getDegreeOwn(bobj) == 1 && elInfo->getBoundary(EDGE, i) == INTERIOR) {
allMyEdges.insert(bobj);
}
}
elInfo = stack.traverseNext(elInfo);
}
for (map<int, std::set<BoundaryObject> >::iterator it = allFaces.begin();
it != allFaces.end(); ++it) {
MSG("SIZE = %d\n", it->second.size());
if (it->second.size() == 2) {
vector<AtomicBoundary> &bs = intBound.getOwn()[it->first];
for (int i = 0; i < static_cast<int>(bs.size()); i++) {
if (bs[i].rankObj.subObj == EDGE &&
intBound.getDegreeOwn(bs[i].rankObj) == 3) {
intBound.getDegreeOwn(bs[i].rankObj) == 1 &&
allMyEdges.count(bs[i].rankObj)) {
MSG("FOUND AN EDGE: %d %d %d\n",
bs[i].rankObj.elIndex, bs[i].rankObj.subObj, bs[i].rankObj.ithObj);
it->second.insert(bs[i].rankObj);
}
}
}
}
int nBound = 0;
int nInterior = 0;
TraverseStack stack;
ElInfo *elInfo = stack.traverseFirst(meshDistributor->getMesh(), 0, Mesh::CALL_EL_LEVEL | Mesh::FILL_BOUND);
while (elInfo) {
MSG("INSIDE!\n");
Element *el = elInfo->getElement();
for (int i = 0; i < el->getGeo(EDGE); i++) {
BoundaryObject bobj(el, elInfo->getType(), EDGE, i);
MSG("CHECK FOR %d/%d/%d (%d)\n", el->getIndex(), EDGE, i, intBound.getDegreeOwn(bobj));
if (intBound.getDegreeOwn(bobj) == 1)
MSG("B = %d (%d)\n", elInfo->getBoundary(EDGE, i), INTERIOR);
}
elInfo = stack.traverseNext(elInfo);
}
int nEmptyFaces = 0;
vector<vector<BoundaryObject> > data;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment