From 7c530ff455346202f1c61f9945ac74722cc523e1 Mon Sep 17 00:00:00 2001
From: andy <andy>
Date: Thu, 24 Feb 2011 17:23:06 +0000
Subject: [PATCH] ENH: Further updates to lagrangian sampling

---
 src/sampling/sampledSet/face/faceOnlySet.C     | 13 ++++---------
 src/sampling/sampledSet/face/faceOnlySet.H     |  2 +-
 src/sampling/sampledSet/polyLine/polyLineSet.C | 11 ++++-------
 src/sampling/sampledSet/polyLine/polyLineSet.H |  2 +-
 src/sampling/sampledSet/uniform/uniformSet.C   | 13 ++++---------
 src/sampling/sampledSet/uniform/uniformSet.H   |  2 +-
 6 files changed, 15 insertions(+), 28 deletions(-)

diff --git a/src/sampling/sampledSet/face/faceOnlySet.C b/src/sampling/sampledSet/face/faceOnlySet.C
index 20ee0b56eb7..1f6665d6f80 100644
--- a/src/sampling/sampledSet/face/faceOnlySet.C
+++ b/src/sampling/sampledSet/face/faceOnlySet.C
@@ -43,7 +43,7 @@ namespace Foam
 
 bool Foam::faceOnlySet::trackToBoundary
 (
-    passiveParticleCloud& particles,
+    passiveParticle& singleParticle,
     DynamicList<point>& samplingPts,
     DynamicList<label>& samplingCells,
     DynamicList<label>& samplingFaces,
@@ -55,9 +55,8 @@ bool Foam::faceOnlySet::trackToBoundary
     const vector smallVec = tol*offset;
     const scalar smallDist = mag(smallVec);
 
-    passiveParticle& singleParticle = *particles.first();
-
-    particle::TrackingData<passiveParticleCloud> trackData(particles);
+    passiveParticleCloud particleCloud(mesh());
+    particle::TrackingData<passiveParticleCloud> trackData(particleCloud);
 
     // Alias
     const point& trackPt = singleParticle.position();
@@ -210,8 +209,6 @@ void Foam::faceOnlySet::calcSamples
         }
 
         // Initialize tracking starting from trackPt
-        passiveParticleCloud particles(mesh());
-
         passiveParticle singleParticle
         (
             mesh(),
@@ -219,11 +216,9 @@ void Foam::faceOnlySet::calcSamples
             trackCellI
         );
 
-        particles.addParticle(&singleParticle);
-
         bool reachedBoundary = trackToBoundary
         (
-            particles,
+            singleParticle,
             samplingPts,
             samplingCells,
             samplingFaces,
diff --git a/src/sampling/sampledSet/face/faceOnlySet.H b/src/sampling/sampledSet/face/faceOnlySet.H
index 1bb86ba9c2c..f910c1f9651 100644
--- a/src/sampling/sampledSet/face/faceOnlySet.H
+++ b/src/sampling/sampledSet/face/faceOnlySet.H
@@ -68,7 +68,7 @@ class faceOnlySet
         //  reached
         bool trackToBoundary
         (
-            passiveParticleCloud& particles,
+            passiveParticle& singleParticle,
             DynamicList<point>& samplingPts,
             DynamicList<label>& samplingCells,
             DynamicList<label>& samplingFaces,
diff --git a/src/sampling/sampledSet/polyLine/polyLineSet.C b/src/sampling/sampledSet/polyLine/polyLineSet.C
index d36b2c1fed1..6b82171191e 100644
--- a/src/sampling/sampledSet/polyLine/polyLineSet.C
+++ b/src/sampling/sampledSet/polyLine/polyLineSet.C
@@ -44,7 +44,7 @@ namespace Foam
 // Sample till hits boundary.
 bool Foam::polyLineSet::trackToBoundary
 (
-    passiveParticleCloud& particles,
+    passiveParticle& singleParticle,
     label& sampleI,
     DynamicList<point>& samplingPts,
     DynamicList<label>& samplingCells,
@@ -52,9 +52,8 @@ bool Foam::polyLineSet::trackToBoundary
     DynamicList<scalar>& samplingCurveDist
 ) const
 {
-    passiveParticle& singleParticle = *particles.first();
-
-    particle::TrackingData<passiveParticleCloud> trackData(particles);
+    passiveParticleCloud particleCloud(mesh());
+    particle::TrackingData<passiveParticleCloud> trackData(particleCloud);
 
     // Alias
     const point& trackPt = singleParticle.position();
@@ -260,8 +259,6 @@ void Foam::polyLineSet::calcSamples
         //
 
         // Initialize tracking starting from sampleI
-        passiveParticleCloud particles(mesh());
-
         passiveParticle singleParticle
         (
             mesh(),
@@ -271,7 +268,7 @@ void Foam::polyLineSet::calcSamples
 
         bool bReached = trackToBoundary
         (
-            particles,
+            singleParticle,
             sampleI,
             samplingPts,
             samplingCells,
diff --git a/src/sampling/sampledSet/polyLine/polyLineSet.H b/src/sampling/sampledSet/polyLine/polyLineSet.H
index fda8cbdb362..09aa7e275c9 100644
--- a/src/sampling/sampledSet/polyLine/polyLineSet.H
+++ b/src/sampling/sampledSet/polyLine/polyLineSet.H
@@ -65,7 +65,7 @@ class polyLineSet
         //  Returns false if end of samples reached.
         bool trackToBoundary
         (
-            passiveParticleCloud& particles,
+            passiveParticle& singleParticle,
             label& sampleI,
             DynamicList<point>& samplingPts,
             DynamicList<label>& samplingCells,
diff --git a/src/sampling/sampledSet/uniform/uniformSet.C b/src/sampling/sampledSet/uniform/uniformSet.C
index 8b99652c419..7d9013972e0 100644
--- a/src/sampling/sampledSet/uniform/uniformSet.C
+++ b/src/sampling/sampledSet/uniform/uniformSet.C
@@ -77,7 +77,7 @@ bool Foam::uniformSet::nextSample
 
 bool Foam::uniformSet::trackToBoundary
 (
-    passiveParticleCloud& particles,
+    passiveParticle& singleParticle,
     point& samplePt,
     label& sampleI,
     DynamicList<point>& samplingPts,
@@ -91,12 +91,11 @@ bool Foam::uniformSet::trackToBoundary
     const vector smallVec = tol*offset;
     const scalar smallDist = mag(smallVec);
 
-    passiveParticle& singleParticle = *particles.first();
-
     // Alias
     const point& trackPt = singleParticle.position();
 
-    particle::TrackingData<passiveParticleCloud> trackData(particles);
+    passiveParticleCloud particleCloud(mesh());
+    particle::TrackingData<passiveParticleCloud> trackData(particleCloud);
 
     while(true)
     {
@@ -305,16 +304,12 @@ void Foam::uniformSet::calcSamples
 
     while(true)
     {
-        passiveParticleCloud particles(mesh());
-
         // Initialize tracking starting from trackPt
         passiveParticle singleParticle(mesh(), trackPt, trackCellI);
 
-        particles.addParticle(&singleParticle);
-
         bool reachedBoundary = trackToBoundary
         (
-            particles,
+            singleParticle,
             samplePt,
             sampleI,
             samplingPts,
diff --git a/src/sampling/sampledSet/uniform/uniformSet.H b/src/sampling/sampledSet/uniform/uniformSet.H
index b03f2b3e149..a01af1b0b5f 100644
--- a/src/sampling/sampledSet/uniform/uniformSet.H
+++ b/src/sampling/sampledSet/uniform/uniformSet.H
@@ -82,7 +82,7 @@ class uniformSet
         //  reached
         bool trackToBoundary
         (
-            passiveParticleCloud& particles,
+            passiveParticle& singleParticle,
             point& samplePt,
             label& sampleI,
             DynamicList<point>& samplingPts,
-- 
GitLab