Commit 628f0860 authored by Mark Olesen's avatar Mark Olesen
Browse files

BUG: faceOnlySet sampling does not stop at 'end' (closes #745)

parent 9f03511f
......@@ -54,6 +54,8 @@ bool Foam::faceOnlySet::trackToBoundary
DynamicList<scalar>& samplingCurveDist
) const
{
const vector offset = (end_ - start_);
particle::trackingData td(particleCloud);
point trackPt = singleParticle.position();
......@@ -75,9 +77,10 @@ bool Foam::faceOnlySet::trackToBoundary
samplingCurveDist.append(mag(trackPt - start_));
}
if (mag(trackPt - end_) < smallDist)
if (-smallDist < ((trackPt - end_) & offset))
{
// End reached
// Projected onto sampling vector
// - done when we are near or past the end of the sampling vector
return false;
}
else if (singleParticle.onBoundaryFace())
......
......@@ -52,5 +52,6 @@ maxAlphaCo 1;
maxDeltaT 1;
#includeIfPresent "sampling"
// ************************************************************************* //
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object sampling;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
functions
{
sampleSets
{
type sets;
libs ("libsampling.so");
writeControl timeStep;
writeInterval 1;
setFormat vtk;
interpolationScheme cellPointFace;
fields ( alpha.water );
sets
(
gauge_1
{
type face;
axis y;
start (0.02 0.20 0.005);
end (0.02 0.25 0.005);
nPoints 100;
}
gauge_2
{
type face;
axis y;
start (0.2 0.03 0.005);
end (0.2 0.55 0.005);
nPoints 100;
}
);
}
}
// ************************************************************************* //
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment