Commit faae7678 authored by Thomas Witkowski's avatar Thomas Witkowski

Fixed for the solution of Stokes/CH FETI-DP.

parent 32d78a63
......@@ -73,6 +73,14 @@ namespace AMDiS {
}
}
TEST_EXIT(uniqueCoarseMap.size() <= 2)
("Not yet implemented for more than two coarse spaces!\n");
if (uniqueCoarseMap.size() == 2) {
// if (uniqueCoarseMap[0]->getBasisFcts()->getDegree() <
// uniqueCoarseMap[1]->getBasisFcts()->getDegree()) {
swap(uniqueCoarseMap[0], uniqueCoarseMap[1]);
// }
}
// === Create pointers to PETSc matrix and vector objects. ===
......
......@@ -83,7 +83,7 @@ namespace AMDiS {
if (enableStokesMode) {
MSG("========= !!!! SUPER WARNING !!! ========\n");
MSG("Use make use of stokes mode which is work in progress! We guarantee for nothing and even less than this!\n");
fullInterface = feSpaces[2];
fullInterface = feSpaces[0];
}
if (subdomain == NULL) {
......@@ -1281,10 +1281,11 @@ namespace AMDiS {
globalIsIndex.reserve(interfaceDofMap.getLocalDofs());
localIsIndex.reserve(interfaceDofMap.getLocalDofs());
MSG("USDED FIXED PRESSURE VARIABLE 0!!!\n");
int cnt = 0;
DofMap& dofMap = interfaceDofMap[fullInterface].getMap();
for (DofMap::iterator it = dofMap.begin();it != dofMap.end(); ++it) {
globalIsIndex.push_back(interfaceDofMap.getMatIndex(2, it->first));
globalIsIndex.push_back(interfaceDofMap.getMatIndex(0, it->first));
localIsIndex.push_back(cnt++);
}
......@@ -1695,6 +1696,7 @@ namespace AMDiS {
VecAXPBY(vecRhsLagrange, -1.0, 1.0, tmp_lagrange);
} else {
subdomain->solveGlobal(subdomain->getVecRhsInterior(), tmp_b0);
MatMult(subdomain->getMatCoarseInterior(), tmp_b0, tmp_primal0);
VecAXPBY(tmp_primal0, 1.0, -1.0, subdomain->getVecRhsCoarse());
double wtime2 = MPI::Wtime();
......
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