Lagrangian: Enabled tracking through ACMI patches and minor code improvements

Particle collisions with ACMI patches are now handled. The hit detects
whether the location is within the overlap or the coupled region and
recurses, calling the hit routine appropriate for the region.

The low level tracking methods are now more consistently named. There is
now a distinction between tracking to a face and hitting it. Function
object side effects have been moved out of the base layer and into the
parcels on which they are meaningful.
This commit is contained in:
Will Bainbridge
2017-08-09 15:52:33 +01:00
parent a8b2e2a58e
commit adffa0f33d
12 changed files with 137 additions and 77 deletions

View File

@ -110,7 +110,7 @@ bool Foam::findCellParticle::move
while (td.keepParticle && !td.switchProcessor && stepFraction() < 1)
{
const scalar f = 1 - stepFraction();
trackToFace(f*(end_ - start_), f, td);
trackToAndHitFace(f*(end_ - start_), f, td);
}
if (stepFraction() == 1 || !td.keepParticle)

View File

@ -203,7 +203,7 @@ bool Foam::streamLineParticle::move
dt = maxDt;
}
trackToFace(dt*U, 0, td);
trackToAndHitFace(dt*U, 0, td);
if
(