From c8cd512a2448699bc5c97cf1e1ef24f1344f4ea7 Mon Sep 17 00:00:00 2001 From: Hrvoje Jasak Date: Mon, 7 Oct 2019 11:13:51 +0100 Subject: [PATCH] Better debug data for ggi and regionCouple --- .../polyPatches/constraint/ggi/ggiPolyPatch.C | 29 +------ .../regionCouple/regionCouplePolyPatch.C | 82 +++++++++++++++++++ 2 files changed, 85 insertions(+), 26 deletions(-) diff --git a/src/foam/meshes/polyMesh/polyPatches/constraint/ggi/ggiPolyPatch.C b/src/foam/meshes/polyMesh/polyPatches/constraint/ggi/ggiPolyPatch.C index a9dcf1a81..289381618 100644 --- a/src/foam/meshes/polyMesh/polyPatches/constraint/ggi/ggiPolyPatch.C +++ b/src/foam/meshes/polyMesh/polyPatches/constraint/ggi/ggiPolyPatch.C @@ -1113,7 +1113,7 @@ void Foam::ggiPolyPatch::updateMesh() void Foam::ggiPolyPatch::calcTransforms() const { - // Simplest mixing plane: no transform or separation. HJ, 24/Oct/2008 + // Simplest interface: no transform or separation. HJ, 24/Oct/2008 forwardT_.setSize(0); reverseT_.setSize(0); separation_.setSize(0); @@ -1167,6 +1167,7 @@ void Foam::ggiPolyPatch::calcTransforms() const << patchToPatch().uncoveredSlaveFaces().size() << " shadow().localPoints(): " << shadow().localPoints().size() << endl; + indirectPrimitivePatch::writeVTK ( fvPath/fileName("uncoveredGgiFaces" + shadowName()), @@ -1180,31 +1181,7 @@ void Foam::ggiPolyPatch::calcTransforms() const } // Check for bridge overlap - if (!bridgeOverlap()) - { - if - ( - ( - patchToPatch().uncoveredMasterFaces().size() > 0 - && !empty() - ) - || ( - !shadow().empty() - && patchToPatch().uncoveredSlaveFaces().size() > 0 - ) - ) - { - FatalErrorIn("label ggiPolyPatch::calcTransforms() const") - << "ggi patch " << name() << " with shadow " - << shadowName() << " has " - << patchToPatch().uncoveredMasterFaces().size() - << " uncovered master faces and " - << patchToPatch().uncoveredSlaveFaces().size() - << " uncovered slave faces. Bridging is switched off. " - << abort(FatalError); - } - } - else + if (bridgeOverlap()) { InfoIn("label ggiPolyPatch::calcTransforms() const") << "ggi patch " << name() << " with shadow " diff --git a/src/foam/meshes/polyMesh/polyPatches/constraint/regionCouple/regionCouplePolyPatch.C b/src/foam/meshes/polyMesh/polyPatches/constraint/regionCouple/regionCouplePolyPatch.C index a37fde42e..9a92f8809 100644 --- a/src/foam/meshes/polyMesh/polyPatches/constraint/regionCouple/regionCouplePolyPatch.C +++ b/src/foam/meshes/polyMesh/polyPatches/constraint/regionCouple/regionCouplePolyPatch.C @@ -35,6 +35,7 @@ Author #include "polyPatchID.H" #include "ZoneIDs.H" #include "objectRegistry.H" +#include "indirectPrimitivePatch.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -1207,6 +1208,87 @@ void Foam::regionCouplePolyPatch::calcTransforms() const forwardT_.setSize(0); reverseT_.setSize(0); separation_.setSize(0); + + if (debug > 1 && master()) + { + if + ( + !empty() + && patchToPatch().uncoveredMasterFaces().size() > 0 + ) + { + // Write uncovered master faces + Info<< "Writing uncovered master faces for patch " + << name() << " as VTK." << endl; + + const polyMesh& mesh = boundaryMesh().mesh(); + + fileName fvPath(mesh.time().path()/"VTK"); + mkDir(fvPath); + + indirectPrimitivePatch::writeVTK + ( + fvPath/fileName("uncoveredRegionCoupleFaces" + name()), + IndirectList + ( + localFaces(), + patchToPatch().uncoveredMasterFaces() + ), + localPoints() + ); + } + + if + ( + !shadow().empty() + && patchToPatch().uncoveredSlaveFaces().size() > 0 + ) + { + // Write uncovered master faces + Info<< "Writing uncovered shadow faces for patch " + << shadowPatchName() << " as VTK." << endl; + + const polyMesh& mesh = boundaryMesh().mesh(); + + fileName fvPath(mesh.time().path()/"VTK"); + mkDir(fvPath); + Pout<< "Patch " << name() + << " shadow().localFaces(): " << shadow().localFaces().size() + << " patchToPatch().uncoveredSlaveFaces().size(): " + << patchToPatch().uncoveredSlaveFaces().size() + << " shadow().localPoints(): " << shadow().localPoints().size() + << endl; + + indirectPrimitivePatch::writeVTK + ( + fvPath/fileName + ( + "uncoveredRegionCoupleFaces" + + shadowPatchName() + ), + IndirectList + ( + shadow().localFaces(), + patchToPatch().uncoveredSlaveFaces() + ), + shadow().localPoints() + ); + } + + // Check for bridge overlap + if (bridgeOverlap()) + { + InfoInFunction + << "regionCouple patch " << name() << " with shadow " + << shadowPatchName() << " on region " << shadowRegionName() + << " has " + << patchToPatch().uncoveredMasterFaces().size() + << " uncovered master faces and " + << patchToPatch().uncoveredSlaveFaces().size() + << " uncovered slave faces. Bridging is switched on. " + << endl; + } + } }