diff --git a/src/sampling/sampledSurface/distanceSurface/distanceSurface.C b/src/sampling/sampledSurface/distanceSurface/distanceSurface.C index 450384506a79664ba333bbc5f1450d4f95c40787..3a6562b897616404b8056da0a6b4f083f4d8d88c 100644 --- a/src/sampling/sampledSurface/distanceSurface/distanceSurface.C +++ b/src/sampling/sampledSurface/distanceSurface/distanceSurface.C @@ -50,6 +50,9 @@ void Foam::distanceSurface::createGeometry() // Clear any stored topologies facesPtr_.clear(); + // Clear derived data + clearGeom(); + const fvMesh& fvm = static_cast<const fvMesh&>(mesh()); // Distance to cell centres @@ -361,6 +364,9 @@ bool Foam::distanceSurface::expire() // Clear any stored topologies facesPtr_.clear(); + // Clear derived data + clearGeom(); + // already marked as expired if (needsUpdate_) { diff --git a/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C b/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C index b70461cef3fda1e5a510d6637635b53835a0f925..46d6f108ccfe4e9f6a766f9b213d956768e29840 100644 --- a/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C +++ b/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C @@ -333,6 +333,9 @@ bool Foam::sampledIsoSurface::updateGeometry() const surfPtr_.clear(); facesPtr_.clear(); + // Clear derived data + clearGeom(); + if (subMeshPtr_.valid()) { surfPtr_.reset @@ -471,6 +474,9 @@ bool Foam::sampledIsoSurface::expire() facesPtr_.clear(); subMeshPtr_.clear(); + // Clear derived data + clearGeom(); + // already marked as expired if (prevTimeIndex_ == -1) { diff --git a/src/sampling/sampledSurface/isoSurface/sampledIsoSurfaceCell.C b/src/sampling/sampledSurface/isoSurface/sampledIsoSurfaceCell.C index 155e12bbd225213dc706d71acaa1d423b8da2d60..7d1b138f5ef8880e84e8a4edf675571a54585cbc 100644 --- a/src/sampling/sampledSurface/isoSurface/sampledIsoSurfaceCell.C +++ b/src/sampling/sampledSurface/isoSurface/sampledIsoSurfaceCell.C @@ -62,6 +62,9 @@ bool Foam::sampledIsoSurfaceCell::updateGeometry() const // Clear any stored topo facesPtr_.clear(); + // Clear derived data + sampledSurface::clearGeom(); + // Optionally read volScalarField autoPtr<volScalarField> readFieldPtr_; @@ -240,6 +243,9 @@ bool Foam::sampledIsoSurfaceCell::expire() { facesPtr_.clear(); + // Clear derived data + sampledSurface::clearGeom(); + // already marked as expired if (prevTimeIndex_ == -1) { diff --git a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C index bfbb5293f781dabec8173a4bb8313ac0a92e80b8..3c88d38d6f5e762b5515d35de040180aa39ece3b 100644 --- a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C +++ b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C @@ -60,6 +60,8 @@ void Foam::sampledCuttingPlane::createGeometry() pointDistance_.clear(); cellDistancePtr_.clear(); + // Clear derived data + clearGeom(); // Get any subMesh if (zoneID_.index() != -1 && !subMeshPtr_.valid()) @@ -321,6 +323,9 @@ bool Foam::sampledCuttingPlane::expire() // Clear any stored topologies facesPtr_.clear(); + // Clear derived data + clearGeom(); + // already marked as expired if (needsUpdate_) { diff --git a/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C b/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C index 0d9e1312ab7fdd1cec1ccffd92b5130e2dd83c4a..c8a3291ede24f685ca09219c1fdf934be5f86f0d 100644 --- a/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C +++ b/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C @@ -124,6 +124,8 @@ bool Foam::sampledThresholdCellFaces::updateGeometry() const ).MeshedSurface<face>::transfer(surf); meshCells_.transfer(surf.meshCells()); + // clear derived data + sampledSurface::clearGeom(); if (debug) {