diff --git a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C index 2e5f2345a7f8e6683094d3b93bf5459ba1f153cd..1e0aa90e4109ca4437d1703eed90973a84fd3380 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C +++ b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolate.C @@ -235,7 +235,11 @@ tmp<Field<Type> > volPointInterpolation::flatBoundaryField { label bFaceI = bm[patchI].patch().start() - mesh.nInternalFaces(); - if (!isA<emptyFvPatch>(bm[patchI]) && !bm[patchI].coupled()) + if + ( + !isA<emptyFvPatch>(bm[patchI]) + && !vf.boundaryField()[patchI].coupled() + ) { SubList<Type> ( diff --git a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.C b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.C index c4ed18d3e3564a038c6dbbdf154d02d24c07ce2f..cb47e0a101c8dd554968c4e9ec5875776dcdfd5c 100644 --- a/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.C +++ b/src/finiteVolume/interpolation/volPointInterpolation/volPointInterpolation.C @@ -31,6 +31,8 @@ License #include "coupledPointPatchFields.H" #include "pointConstraint.H" +#include "surfaceFields.H" + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam @@ -75,11 +77,19 @@ void volPointInterpolation::calcBoundaryAddressing() const polyBoundaryMesh& pbm = mesh().boundaryMesh(); + // Get precalculated volField only so we can use coupled() tests for + // cyclicAMI + const surfaceScalarField& magSf = mesh().magSf(); + forAll(pbm, patchI) { const polyPatch& pp = pbm[patchI]; - if (!isA<emptyPolyPatch>(pp) && !pp.coupled()) + if + ( + !isA<emptyPolyPatch>(pp) + && !magSf.boundaryField()[patchI].coupled() + ) { label bFaceI = pp.start()-mesh().nInternalFaces();