Commit 6f780a3f authored by Thomas Witkowski's avatar Thomas Witkowski

Small bugfix for serialization in context with periodic bc in parallel computation.

parent f96caf23
......@@ -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),
......
......@@ -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;
......
......@@ -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();
......
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