From 9d57e8795a990eed463ba1896efd36b185acecb5 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Wed, 2 Aug 2017 10:13:05 +0100 Subject: [PATCH] lagrangian: Always set switchProcessor flag The TrackData::switchProcessor flag was not being set for some of the tracking steps made by the more complicated parcels. In the case that a parcel starts the step already on a processor boundary, this sometimes lead to the particle being transferred back and forth indefinitely. The flag is now explicitly set in all cases. --- .../parcels/Templates/CollidingParcel/CollidingParcel.C | 3 ++- .../intermediate/parcels/Templates/MPPICParcel/MPPICParcel.C | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C index e7471bbd6..7e9c1eea9 100644 --- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -81,6 +81,7 @@ bool Foam::CollidingParcel::move p.angularMomentum() += 0.5*trackTime*p.torque(); td.keepParticle = true; + td.switchProcessor = false; break; } diff --git a/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcel.C b/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcel.C index 2af95e4a2..555fb5cb3 100644 --- a/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/MPPICParcel/MPPICParcel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -77,6 +77,7 @@ bool Foam::MPPICParcel::move td.cloud().dampingModel().velocityCorrection(p, trackTime); td.keepParticle = true; + td.switchProcessor = false; break; } @@ -86,6 +87,7 @@ bool Foam::MPPICParcel::move td.cloud().packingModel().velocityCorrection(p, trackTime); td.keepParticle = true; + td.switchProcessor = false; break; }