Skip to content
Snippets Groups Projects
Commit de9ff542 authored by Rebecca Neumann's avatar Rebecca Neumann
Browse files

assertion is not true for ALU, add additional connectivity construction for ALU ghosts

[[Imported from SVN: r1477]]
parent c28b8cf3
No related branches found
No related tags found
No related merge requests found
...@@ -336,15 +336,16 @@ namespace Dune ...@@ -336,15 +336,16 @@ namespace Dune
{ {
ConnectedBuilder<G,R,V> conBuilder(aggregates, graph, visitedMap, row); ConnectedBuilder<G,R,V> conBuilder(aggregates, graph, visitedMap, row);
const typename G::VertexDescriptor aggregate=*seed->aggregate; const typename G::VertexDescriptor aggregate=*seed->aggregate;
assert(row.index()==*seed->aggregate);
if (row.index()==*seed->aggregate) {
while(seed != overlapEnd && aggregate == *seed->aggregate) { while(seed != overlapEnd && aggregate == *seed->aggregate) {
row.insert(*seed->aggregate); row.insert(*seed->aggregate);
// Walk over all neighbours and add them to the connected array. // Walk over all neighbours and add them to the connected array.
visitNeighbours(graph, seed->vertex, conBuilder); visitNeighbours(graph, seed->vertex, conBuilder);
// Mark vertex as visited // Mark vertex as visited
put(visitedMap, seed->vertex, true); put(visitedMap, seed->vertex, true);
++seed; ++seed;
}
} }
} }
...@@ -452,6 +453,19 @@ namespace Dune ...@@ -452,6 +453,19 @@ namespace Dune
examined.insert(aggregates[*vertex]); examined.insert(aggregates[*vertex]);
#endif #endif
constructNonOverlapConnectivity(row, graph, visitedMap, aggregates, *vertex); constructNonOverlapConnectivity(row, graph, visitedMap, aggregates, *vertex);
// only needed for ALU
// (ghosts with same global id as owners on the same process)
if (pinfo.getSolverCategory() == static_cast<int>(SolverCategory::nonoverlapping)) {
if(overlapVertices != overlapEnd) {
if(*overlapVertices->aggregate!=AggregatesMap<Vertex>::ISOLATED) {
constructOverlapConnectivity(row, graph, visitedMap, aggregates, overlapVertices, overlapEnd);
}
else{
++overlapVertices;
}
}
}
++row; ++row;
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment