Commit 602a62d3 authored by Thomas Witkowski's avatar Thomas Witkowski

Fixed some small problems with using FETI-DP without a preconditioner.

parent dd73308c
......@@ -1682,7 +1682,7 @@ namespace AMDiS {
MSG("| number of FE spaces: %d\n", feSpaces.size());
for (unsigned int i = 0; i < feSpaces.size(); i++) {
MSG("| FE space = %d:\n", i);
MSG("| FE space = %d (pointer adr %p):\n", i, feSpaces[i]);
MSG("| nRankDofs = %d\n", dofMap[feSpaces[i]].nRankDofs);
MSG("| nOverallDofs = %d\n", dofMap[feSpaces[i]].nOverallDofs);
MSG("| rStartDofs = %d\n", dofMap[feSpaces[i]].rStartDofs);
......
......@@ -48,14 +48,18 @@ namespace AMDiS {
if (elInfo->getNeighbour(i) && elInfo->getBoundary(i) == INTERIOR)
elNeighbours[elIndex].push_back(elInfo->getNeighbour(i)->getIndex());
// === Create initial partitioning. ===
if (!boxPartitioning) {
// In standard mode assign to each macro element an arbitrary but unique
// rank number.
int elInRank = std::min(elIndex / elPerRank, mpiSize - 1);
// int elInRank = 0;
// if (elIndex <= 11 || elIndex >= 28)
// elInRank = 0;
// else
// elInRank = 1;
elementInRank[elIndex] = (elInRank == mpiRank);
partitionMap[elIndex] = elInRank;
......
......@@ -305,7 +305,7 @@ namespace AMDiS {
localDofMap.setComputeMatIndex(true);
}
if (fetiPreconditioner == FETI_DIRICHLET) {
if (fetiPreconditioner != FETI_NONE) {
TEST_EXIT(meshLevel == 0)
("Dirichlet preconditioner not yet implemented for multilevel FETI-DP\n");
......@@ -333,7 +333,7 @@ namespace AMDiS {
dualDofMap.clear();
lagrangeMap.clear();
localDofMap.clear();
if (fetiPreconditioner == FETI_DIRICHLET)
if (fetiPreconditioner != FETI_NONE)
interiorDofMap.clear();
primalDofMap.setDofComm(meshDistributor->getDofComm());
......
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