Skip to content
Snippets Groups Projects
Commit 602a62d3 authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

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

parent dd73308c
No related branches found
No related tags found
No related merge requests found
...@@ -1682,7 +1682,7 @@ namespace AMDiS { ...@@ -1682,7 +1682,7 @@ namespace AMDiS {
MSG("| number of FE spaces: %d\n", feSpaces.size()); MSG("| number of FE spaces: %d\n", feSpaces.size());
for (unsigned int i = 0; i < feSpaces.size(); i++) { 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("| nRankDofs = %d\n", dofMap[feSpaces[i]].nRankDofs);
MSG("| nOverallDofs = %d\n", dofMap[feSpaces[i]].nOverallDofs); MSG("| nOverallDofs = %d\n", dofMap[feSpaces[i]].nOverallDofs);
MSG("| rStartDofs = %d\n", dofMap[feSpaces[i]].rStartDofs); MSG("| rStartDofs = %d\n", dofMap[feSpaces[i]].rStartDofs);
......
...@@ -48,14 +48,18 @@ namespace AMDiS { ...@@ -48,14 +48,18 @@ namespace AMDiS {
if (elInfo->getNeighbour(i) && elInfo->getBoundary(i) == INTERIOR) if (elInfo->getNeighbour(i) && elInfo->getBoundary(i) == INTERIOR)
elNeighbours[elIndex].push_back(elInfo->getNeighbour(i)->getIndex()); elNeighbours[elIndex].push_back(elInfo->getNeighbour(i)->getIndex());
// === Create initial partitioning. === // === Create initial partitioning. ===
if (!boxPartitioning) { if (!boxPartitioning) {
// In standard mode assign to each macro element an arbitrary but unique // In standard mode assign to each macro element an arbitrary but unique
// rank number. // rank number.
int elInRank = std::min(elIndex / elPerRank, mpiSize - 1); 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); elementInRank[elIndex] = (elInRank == mpiRank);
partitionMap[elIndex] = elInRank; partitionMap[elIndex] = elInRank;
......
...@@ -305,7 +305,7 @@ namespace AMDiS { ...@@ -305,7 +305,7 @@ namespace AMDiS {
localDofMap.setComputeMatIndex(true); localDofMap.setComputeMatIndex(true);
} }
if (fetiPreconditioner == FETI_DIRICHLET) { if (fetiPreconditioner != FETI_NONE) {
TEST_EXIT(meshLevel == 0) TEST_EXIT(meshLevel == 0)
("Dirichlet preconditioner not yet implemented for multilevel FETI-DP\n"); ("Dirichlet preconditioner not yet implemented for multilevel FETI-DP\n");
...@@ -333,7 +333,7 @@ namespace AMDiS { ...@@ -333,7 +333,7 @@ namespace AMDiS {
dualDofMap.clear(); dualDofMap.clear();
lagrangeMap.clear(); lagrangeMap.clear();
localDofMap.clear(); localDofMap.clear();
if (fetiPreconditioner == FETI_DIRICHLET) if (fetiPreconditioner != FETI_NONE)
interiorDofMap.clear(); interiorDofMap.clear();
primalDofMap.setDofComm(meshDistributor->getDofComm()); primalDofMap.setDofComm(meshDistributor->getDofComm());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment