diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C index d2728f8b9d634d40aa563b009502d909d9c493fe..5e7a0b010bec6621e7340df8853e3f516f9add28 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C @@ -383,6 +383,35 @@ void Foam::polyTopoChange::checkFace << " own:" << own << " nei:" << nei << " patchI:" << patchI << abort(FatalError); } + if (faceI >= 0 && faceI < faces_.size() && faceRemoved(faceI)) + { + FatalErrorIn + ( + "polyTopoChange::checkFace(const face&, const label" + ", const label, const label, const label)" + ) << "Face already marked for removal" + << nl + << "f:" << f + << " faceI(-1 if added face):" << faceI + << " own:" << own << " nei:" << nei + << " patchI:" << patchI << abort(FatalError); + } + forAll(f, fp) + { + if (f[fp] < points_.size() && pointRemoved(f[fp])) + { + FatalErrorIn + ( + "polyTopoChange::checkFace(const face&, const label" + ", const label, const label, const label)" + ) << "Face uses removed vertices" + << nl + << "f:" << f + << " faceI(-1 if added face):" << faceI + << " own:" << own << " nei:" << nei + << " patchI:" << patchI << abort(FatalError); + } + } }