From 84a1452995ceaf82a867f67db45012f85f0a0d3d Mon Sep 17 00:00:00 2001 From: sergio Date: Wed, 6 Jan 2021 10:13:08 -0800 Subject: [PATCH] BUG: Fix dynamicRefineFvMesh mapping flux. dynamicRefineFvMesh optionally can map fluxes derived from velocities fields specified in dynamicMeshDict. The surface interpolation was using old weights. This fix clear the old weights before mapping the fluxes --- src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C index 3db9be82a6..2c7a7733f1 100644 --- a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C +++ b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C @@ -243,6 +243,12 @@ void Foam::dynamicRefineFvMesh::mapFields(const mapPolyMesh& mpm) ( lookupClass() ); + + // Remove surfaceInterpolation to allow re-calculation on demand + // This could be done in fvMesh::updateMesh but some dynamicFvMesh + // might need the old interpolation fields (weights, etc). + surfaceInterpolation::clearOut(); + forAllIters(fluxes, iter) { if (!correctFluxes_.found(iter.key()))