diff --git a/src/lagrangian/basic/InteractionLists/InteractionLists.C b/src/lagrangian/basic/InteractionLists/InteractionLists.C index 922ee09185..360f2a3cbc 100644 --- a/src/lagrangian/basic/InteractionLists/InteractionLists.C +++ b/src/lagrangian/basic/InteractionLists/InteractionLists.C @@ -324,10 +324,15 @@ void Foam::InteractionLists::buildInteractionLists() if (isA(patch)) { - localWallFaces.append - ( - identity(patch.size(), patch.start()) - ); + const scalarField areaFraction(patch.areaFraction()); + + forAll(areaFraction, facei) + { + if (areaFraction[facei] > 0.5) + { + localWallFaces.append(facei + patch.start()); + } + } } } @@ -335,10 +340,12 @@ void Foam::InteractionLists::buildInteractionLists() forAll(wallFaceBbs, i) { - wallFaceBbs[i] = treeBoundBox - ( - mesh_.faces()[localWallFaces[i]].points(mesh_.points()) - ); + wallFaceBbs[i] = + treeBoundBox + ( + mesh_.points(), + mesh_.faces()[localWallFaces[i]] + ); } // IAndT: index and transform