diff --git a/AMDiS/src/parallel/CheckerPartitioner.cc b/AMDiS/src/parallel/CheckerPartitioner.cc index f4db85177909e7d57a773f913c2b95d34e7d6db6..7ba10fea339d37925720edacf695080cad5eb2e2 100644 --- a/AMDiS/src/parallel/CheckerPartitioner.cc +++ b/AMDiS/src/parallel/CheckerPartitioner.cc @@ -23,12 +23,14 @@ namespace AMDiS { int mpiRank = mpiComm->Get_rank(); int mpiSize = mpiComm->Get_size(); + int nElementsPerBlock = (mesh->getDim() == 2 ? 2 : 6); + TraverseStack stack; ElInfo *elInfo = stack.traverseFirst(mesh, 0, Mesh::CALL_EL_LEVEL); while (elInfo) { Element *el = elInfo->getElement(); int elIndex = el->getIndex(); - int elInRank = elIndex / 2; + int elInRank = elIndex / nElementsPerBlock; TEST_EXIT_DBG(elInRank < mpiSize)("Should not happen!\n"); elementInRank[elIndex] = (elInRank == mpiRank); diff --git a/AMDiS/src/parallel/PetscSolverFeti.cc b/AMDiS/src/parallel/PetscSolverFeti.cc index ce106fccefe9922ba9f435e1c80e579723e9480a..232037765d86319710bdb75c82fdf527f225f483 100644 --- a/AMDiS/src/parallel/PetscSolverFeti.cc +++ b/AMDiS/src/parallel/PetscSolverFeti.cc @@ -130,9 +130,6 @@ namespace AMDiS { { FUNCNAME("PetscSolverFeti::updateDofData()"); - TEST_EXIT(meshDistributor->getMesh()->getDim() == 2) - ("Works for 2D problems only!"); - TEST_EXIT(meshDistributor->getFeSpace()->getBasisFcts()->getDegree() == 1) ("Works for linear basis functions only!\n"); @@ -189,8 +186,8 @@ namespace AMDiS { it != globalPrimalIndex.end(); ++it) it->second += rStartPrimals; - MSG_DBG("nRankPrimals = %d nOverallPrimals = %d\n", - nRankPrimals, nOverallPrimals); + MSG("nRankPrimals = %d nOverallPrimals = %d\n", + nRankPrimals, nOverallPrimals); // === Communicate primal's global index from ranks that own the === @@ -335,8 +332,8 @@ namespace AMDiS { int nOverallDuals = nRankDuals; mpi::globalAdd(nOverallDuals); - MSG_DBG("nRankDuals = %d nOverallDuals = %d\n", - nRankDuals, nOverallDuals); + MSG("nRankDuals = %d nOverallDuals = %d\n", + nRankDuals, nOverallDuals); } @@ -370,8 +367,8 @@ namespace AMDiS { if (meshDistributor->getIsRankDof(*it)) dofFirstLagrange[*it] += rStartLagrange; - MSG_DBG("nRankLagrange = %d nOverallLagrange = %d\n", - nRankLagrange, nOverallLagrange); + MSG("nRankLagrange = %d nOverallLagrange = %d\n", + nRankLagrange, nOverallLagrange); // === Communicate dofFirstLagrange to all other ranks. === @@ -1272,6 +1269,7 @@ namespace AMDiS { // === Solve with FETI-DP operator. === + MSG("START FETI SOLVE!\n"); KSPSolve(ksp_feti, vec_rhs, vec_rhs);