From 64a1f7cbdefcbf3f21d725b24632e45f8ccaab5b Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 17 Jul 2008 16:15:42 +0100 Subject: [PATCH] fix for cyclic boundary handling --- .../PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H | 3 ++- .../vtkPV3Foam/vtkPV3FoamConvertVolFields.H | 5 ++-- .../vtkPV3Foam/vtkPV3FoamUpdate.C | 25 +++++++++++++++---- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H index a1d374cc9d..b1b02208b9 100644 --- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H +++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H @@ -64,7 +64,7 @@ SourceFiles #include "fileName.H" #include "volPointInterpolation.H" #include "stringList.H" - +#include "primitivePatch.H" // * * * * * * * * * * * * * Forward Declarations * * * * * * * * * * * * * // @@ -449,6 +449,7 @@ private: ( const fvMesh&, const volPointInterpolation& pInterp, + const PtrList >&, const IOobjectList& objects, vtkDataArraySelection* fieldSelection, vtkMultiBlockDataSet* output diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamConvertVolFields.H b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamConvertVolFields.H index ff2a1d8bce..6c78158eb0 100644 --- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamConvertVolFields.H +++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamConvertVolFields.H @@ -45,6 +45,7 @@ void Foam::vtkPV3Foam::convertVolFields ( const fvMesh& mesh, const volPointInterpolation& pInterp, + const PtrList >& ppInterpList, const IOobjectList& objects, vtkDataArraySelection *fieldSelection, vtkMultiBlockDataSet* output @@ -153,7 +154,6 @@ void Foam::vtkPV3Foam::convertVolFields tf.boundaryField()[patchId] ); - if ( isType >(ptf) @@ -195,8 +195,7 @@ void Foam::vtkPV3Foam::convertVolFields convertPatchPointField ( tf.name(), - tptf().boundaryField()[patchId] - .patchInternalField()(), + ppInterpList[patchId].faceToPointInterpolate(ptf)(), output, selectInfoPatches_, selectedRegionDatasetIds_[regionId] diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdate.C b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdate.C index e7e4ac9106..861a8573ac 100644 --- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdate.C +++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdate.C @@ -114,6 +114,21 @@ void Foam::vtkPV3Foam::updateVolFields } volPointInterpolation pInterp(mesh, pMesh); + + PtrList > + ppInterpList(mesh.boundaryMesh().size()); + + forAll(ppInterpList, i) + { + ppInterpList.set + ( + i, + new PrimitivePatchInterpolation + ( + mesh.boundaryMesh()[i] + ) + ); + } /* convertVolFields ( @@ -122,23 +137,23 @@ void Foam::vtkPV3Foam::updateVolFields */ convertVolFields ( - mesh, pInterp, objects, arraySelection, output + mesh, pInterp, ppInterpList, objects, arraySelection, output ); convertVolFields ( - mesh, pInterp, objects, arraySelection, output + mesh, pInterp, ppInterpList, objects, arraySelection, output ); convertVolFields ( - mesh, pInterp, objects, arraySelection, output + mesh, pInterp, ppInterpList, objects, arraySelection, output ); convertVolFields ( - mesh, pInterp, objects, arraySelection, output + mesh, pInterp, ppInterpList, objects, arraySelection, output ); convertVolFields ( - mesh, pInterp, objects, arraySelection, output + mesh, pInterp, ppInterpList, objects, arraySelection, output ); }