Commit 71835d76 authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

Fixed bug in intialization procedure of parallel mesh distribution.

parent d896e9c9
...@@ -72,11 +72,13 @@ namespace AMDiS { ...@@ -72,11 +72,13 @@ namespace AMDiS {
if (deserialized) if (deserialized)
return; return;
// Test, if the mesh is the macro mesh only! Paritioning of the mesh is supported // Test, if the mesh is the macro mesh only! Paritioning of the mesh is supported
// only for macro meshes, so it will not work yet if the mesh is already refined // only for macro meshes, so it will not work yet if the mesh is already refined
// in some way. // in some way.
testForMacroMesh(); testForMacroMesh();
// create an initial partitioning of the mesh // create an initial partitioning of the mesh
partitioner->createPartitionData(); partitioner->createPartitionData();
// set the element weights, which are 1 at the very first begin // set the element weights, which are 1 at the very first begin
...@@ -84,6 +86,7 @@ namespace AMDiS { ...@@ -84,6 +86,7 @@ namespace AMDiS {
// and now partition the mesh // and now partition the mesh
partitionMesh(adaptInfo); partitionMesh(adaptInfo);
#if (DEBUG != 0) #if (DEBUG != 0)
debug::ElementIdxToDofs elMap; debug::ElementIdxToDofs elMap;
debug::createSortedDofs(mesh, elMap); debug::createSortedDofs(mesh, elMap);
...@@ -100,6 +103,7 @@ namespace AMDiS { ...@@ -100,6 +103,7 @@ namespace AMDiS {
ParallelDomainDbg::testAllElements(*this); ParallelDomainDbg::testAllElements(*this);
#endif #endif
// === Create interior boundary information. === // === Create interior boundary information. ===
createInteriorBoundaryInfo(); createInteriorBoundaryInfo();
...@@ -108,6 +112,7 @@ namespace AMDiS { ...@@ -108,6 +112,7 @@ namespace AMDiS {
ParallelDomainDbg::printBoundaryInfo(*this); ParallelDomainDbg::printBoundaryInfo(*this);
#endif #endif
// === Create new global and local DOF numbering. === // === Create new global and local DOF numbering. ===
createLocalGlobalNumbering(); createLocalGlobalNumbering();
...@@ -172,7 +177,6 @@ namespace AMDiS { ...@@ -172,7 +177,6 @@ namespace AMDiS {
} }
} }
// === Remove periodic boundary conditions in sequential problem definition. === // === Remove periodic boundary conditions in sequential problem definition. ===
// Remove periodic boundaries in boundary manager on matrices and vectors. // Remove periodic boundaries in boundary manager on matrices and vectors.
...@@ -189,7 +193,7 @@ namespace AMDiS { ...@@ -189,7 +193,7 @@ namespace AMDiS {
if (probStat[i]->getSolution()->getDOFVector(j)->getBoundaryManager()) if (probStat[i]->getSolution()->getDOFVector(j)->getBoundaryManager())
removeBoundaryCondition(const_cast<BoundaryIndexMap&>(probStat[i]->getSolution()->getDOFVector(j)->getBoundaryManager()->getBoundaryConditionMap())); removeBoundaryCondition(const_cast<BoundaryIndexMap&>(probStat[i]->getSolution()->getDOFVector(j)->getBoundaryManager()->getBoundaryConditionMap()));
if (probStat[i]->getRhs()->getDOFVector(i)->getBoundaryManager()) if (probStat[i]->getRhs()->getDOFVector(j)->getBoundaryManager())
removeBoundaryCondition(const_cast<BoundaryIndexMap&>(probStat[i]->getRhs()->getDOFVector(j)->getBoundaryManager()->getBoundaryConditionMap())); removeBoundaryCondition(const_cast<BoundaryIndexMap&>(probStat[i]->getRhs()->getDOFVector(j)->getBoundaryManager()->getBoundaryConditionMap()));
} }
} }
......
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