From bb13d27d2bf6ad90a5b213c6de1e5f05e68a3f0d Mon Sep 17 00:00:00 2001 From: mattijs Date: Wed, 13 May 2020 10:23:09 +0100 Subject: [PATCH] ENH: inverseDistance: output stencil per zone. See #1683. Code provided by Nicolas Edh. --- .../inverseDistanceCellCellStencil.C | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/overset/cellCellStencil/inverseDistance/inverseDistanceCellCellStencil.C b/src/overset/cellCellStencil/inverseDistance/inverseDistanceCellCellStencil.C index 18be480a2f..7742b716e7 100644 --- a/src/overset/cellCellStencil/inverseDistance/inverseDistanceCellCellStencil.C +++ b/src/overset/cellCellStencil/inverseDistance/inverseDistanceCellCellStencil.C @@ -2257,18 +2257,25 @@ bool Foam::cellCellStencils::inverseDistance::update() } - // Dump stencil + // Dump stencil, one per zone mkDir(mesh_.time().timePath()); - OBJstream str(mesh_.time().timePath()/"stencil.obj"); - Pout<< type() << " : dumping to " << str.name() << endl; pointField cc(mesh_.cellCentres()); cellInterpolationMap().distribute(cc); - - forAll(cellStencil_, celli) + forAll(meshParts, zonei) { - const labelList& slots = cellStencil_[celli]; - if (slots.size()) + OBJstream str + ( + mesh_.time().timePath() + + "/stencil_" + name(zonei) + ".obj" + ); + Pout<< type() << " : dumping to " << str.name() << endl; + + const labelList& subMeshCellMap = meshParts[zonei].cellMap(); + + forAll(subMeshCellMap, subcelli) { + const label celli = subMeshCellMap[subcelli]; + const labelList& slots = cellStencil_[celli]; const point& accCc = mesh_.cellCentres()[celli]; forAll(slots, i) {