diff --git a/AMDiS/src/parallel/GlobalMatrixSolver.cc b/AMDiS/src/parallel/GlobalMatrixSolver.cc index b8f6976040651847f4591d6cbc24b2f1074e0873..4ae8d8f96ab34b4c17c3d24bf499520cd1b9ef65 100644 --- a/AMDiS/src/parallel/GlobalMatrixSolver.cc +++ b/AMDiS/src/parallel/GlobalMatrixSolver.cc @@ -277,15 +277,10 @@ namespace AMDiS { int localPetscRowIdx = petscRowIdx - meshDistributor->getRstart() * nComponents; -#if (DEBUG != 0) - if (localPetscRowIdx < 0 || localPetscRowIdx >= nRankRows) { - std::cout << "ERROR in rank: " << meshDistributor->getMpiRank() << std::endl; - std::cout << " Wrong r = " << localPetscRowIdx << " " << *cursor - << " " << meshDistributor->mapLocalToGlobal(*cursor) << " " - << nRankRows << std::endl; - ERROR_EXIT("Should not happen!\n"); - } -#endif + TEST_EXIT_DBG(localPetscRowIdx >= 0 && localPetscRowIdx < nRankRows) + ("Should not happen! Wrong r = %d %d %d %d %d\n", + localPetscRowIdx, meshDistributor->getRstart(), *cursor, + meshDistributor->mapLocalToGlobal(*cursor), nRankRows); // Traverse all non zero entries in this row. for (icursor_type icursor = begin<nz>(cursor), diff --git a/AMDiS/src/parallel/ParallelDomainBase.cc b/AMDiS/src/parallel/ParallelDomainBase.cc index 5081cc1085422d7ce6c75fe617768375987b2b23..d909fc4454fd207bafa271d7376b5e4594932a30 100644 --- a/AMDiS/src/parallel/ParallelDomainBase.cc +++ b/AMDiS/src/parallel/ParallelDomainBase.cc @@ -2146,6 +2146,7 @@ namespace AMDiS { SerUtil::deserialize(in, isRankDof); deserialize(in, vertexDof, dofMap); + deserialize(in, periodicDof); SerUtil::deserialize(in, rstart); SerUtil::deserialize(in, macroElementStructureConsisten); @@ -2174,6 +2175,7 @@ namespace AMDiS { int mapSize = 0; SerUtil::deserialize(in, mapSize); + for (int i = 0; i < mapSize; i++) { DegreeOfFreedom dof = 0; std::set<DegreeOfFreedom> dofSet; diff --git a/AMDiS/src/parallel/ParallelDomainBase.h b/AMDiS/src/parallel/ParallelDomainBase.h index 1849a97d7cc23c7efbf40260561cd1af247879a1..bd986ca6a7b9b8912ce4bfe4689a1c8199370409 100644 --- a/AMDiS/src/parallel/ParallelDomainBase.h +++ b/AMDiS/src/parallel/ParallelDomainBase.h @@ -343,6 +343,8 @@ namespace AMDiS { template<typename T> void serialize(std::ostream &out, std::map<const DegreeOfFreedom*, T> &data) { + FUNCNAME("ParallelDomainBase::serialize()"); + int mapSize = data.size(); SerUtil::serialize(out, mapSize); for (typename std::map<const DegreeOfFreedom*, T>::iterator it = data.begin();