diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx b/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx index c16a43deae..c824ec7e3c 100644 --- a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx +++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx @@ -319,6 +319,7 @@ int vtkPV3FoamReader::RequestData << output->GetNumberOfBlocks() << " blocks\n"; } + #ifdef EXPERIMENTAL_TIME_CACHING bool needsUpdate = false; @@ -373,6 +374,9 @@ int vtkPV3FoamReader::RequestData #endif + // Do any cleanup on the Foam side + foamData_->CleanUp(); + return 1; } diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C index 0ed3d53185..4c4016c364 100644 --- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C +++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C @@ -492,11 +492,15 @@ void Foam::vtkPV3Foam::Update convertLagrangianFields(lagrangianOutput); reader_->UpdateProgress(0.95); + meshChanged_ = fieldsChanged_ = false; +} + + +void Foam::vtkPV3Foam::CleanUp() +{ // reclaim some memory reduceMemory(); reader_->UpdateProgress(1.0); - - meshChanged_ = fieldsChanged_ = false; } diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H index af0fb849a4..985f6a3d17 100644 --- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H +++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H @@ -700,6 +700,9 @@ public: vtkMultiBlockDataSet* lagrangianOutput ); + //- Clean any storage + void CleanUp(); + //- Allocate and return a list of selected times // returns the count via the parameter double* findTimes(int& nTimeSteps);