diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C index 96fe5fb199..2daa2cb6dd 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBase.C @@ -1048,7 +1048,10 @@ void Foam::mappedPatchBase::calcMapping() const } updateMeshTime().setUpToDate(); - updateSampleMeshTime().setUpToDate(); + if (sameWorld()) + { + updateSampleMeshTime().setUpToDate(); + } } diff --git a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H index 9f753e9efa..c2dbee34be 100644 --- a/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H +++ b/src/meshTools/mappedPatches/mappedPolyPatch/mappedPatchBaseI.H @@ -252,9 +252,18 @@ inline bool Foam::mappedPatchBase::upToDate() const { const polyMesh& thisMesh = patch_.boundaryMesh().mesh(); - return - (sameWorld() && sampleMesh().upToDatePoints(updateSampleMeshTime())) - && thisMesh.upToDatePoints(updateMeshTime()); + if (sameWorld()) + { + return + sampleMesh().upToDatePoints(updateSampleMeshTime()) + && thisMesh.upToDatePoints(updateMeshTime()); + } + else + { + // If not the same world we do not know what the other side is doing + // so only check our local side + return thisMesh.upToDatePoints(updateMeshTime()); + } }