BUG: refinementHistory: access outside range

This commit is contained in:
mattijs
2014-03-20 16:50:42 +00:00
committed by Andrew Heather
parent 8e76c66558
commit 01813d0339

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -649,22 +649,20 @@ void Foam::refinementHistory::countProc
// Increment parent if whole splitCell moves to same processor // Increment parent if whole splitCell moves to same processor
if (splitCellNum[index] == 8) if (splitCellNum[index] == 8)
{ {
Pout<< "Moving " << splitCellNum[index] if (debug)
<< " cells originating from cell " << index {
<< " from processor " << Pstream::myProcNo() Pout<< "Moving " << splitCellNum[index]
<< " to processor " << splitCellProc[index] << " cells originating from cell " << index
<< endl; << " from processor " << Pstream::myProcNo()
<< " to processor " << splitCellProc[index]
<< endl;
}
label parent = splitCells_[index].parent_; label parent = splitCells_[index].parent_;
if (parent >= 0) if (parent >= 0)
{ {
string oldPrefix = Pout.prefix();
Pout.prefix() = " " + oldPrefix;
countProc(parent, newProcNo, splitCellProc, splitCellNum); countProc(parent, newProcNo, splitCellProc, splitCellNum);
Pout.prefix() = oldPrefix;
} }
} }
} }
@ -924,7 +922,10 @@ void Foam::refinementHistory::distribute(const mapDistributePolyMesh& map)
forAll(newVisibleCells, i) forAll(newVisibleCells, i)
{ {
visibleCells_[constructMap[i]] = newVisibleCells[i] + offset; if (newVisibleCells[i] >= 0)
{
visibleCells_[constructMap[i]] = newVisibleCells[i] + offset;
}
} }
} }
splitCells_.shrink(); splitCells_.shrink();