diff --git a/src/sampling/sampledSet/face/faceOnlySet.C b/src/sampling/sampledSet/face/faceOnlySet.C index ba351d2237e88f1e92f81d7352fd9a0048ce4448..bf1793d94444ad6008e932864ef62a9619b8118a 100644 --- a/src/sampling/sampledSet/face/faceOnlySet.C +++ b/src/sampling/sampledSet/face/faceOnlySet.C @@ -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()) diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/controlDict b/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/controlDict index e306a5ca5c982347966a9d0b8b8f3581d69cd762..06168ee7c29ae6a1146a11b0ece5739a1055f1fa 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/controlDict +++ b/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/controlDict @@ -52,5 +52,6 @@ maxAlphaCo 1; maxDeltaT 1; +#includeIfPresent "sampling" // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/sampling b/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/sampling new file mode 100644 index 0000000000000000000000000000000000000000..7ea902839251616698ad5cae27d17b54c1e59a74 --- /dev/null +++ b/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/sampling @@ -0,0 +1,54 @@ +/*--------------------------------*- 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; + } + ); + } +} + +// ************************************************************************* //