diff --git a/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.C b/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.C index 614248521886763ae84cde0409488821d307bb38..a883c39d421d4fa7e2c859bc5b2648c9c32886f2 100644 --- a/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.C +++ b/src/mesh/autoMesh/autoHexMesh/trackedParticle/trackedParticle.C @@ -103,8 +103,12 @@ bool Foam::trackedParticle::move scalar tEnd = (1.0 - stepFraction())*trackTime; scalar dtMax = tEnd; - if (tEnd <= SMALL) + if (tEnd <= SMALL && onBoundary()) { + // This is a hack to handle particles reaching their endpoint + // on a processor boundary. If the endpoint is on a processor face + // it currently gets transferred backwards and forwards infinitely. + // Remove the particle td.keepParticle = false; }