From 61d8d5eda636ad7cc872c252497444ceb184d925 Mon Sep 17 00:00:00 2001
From: graham <g.macpherson@opencfd.co.uk>
Date: Fri, 9 Apr 2010 15:05:21 +0100
Subject: [PATCH] ENH: InteractionLists and CollisionModel.  Making collisions
 less verbose.  Reading control for populating (hence writing) the referred
 particle cloud from dictionary.

---
 .../basic/InteractionLists/InteractionLists.C       | 13 +++++++------
 .../basic/InteractionLists/InteractionLists.H       | 11 ++++++++---
 .../Templates/KinematicCloud/KinematicCloud.C       |  2 --
 .../CollisionModel/PairCollision/PairCollision.C    | 11 +++--------
 4 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/src/lagrangian/basic/InteractionLists/InteractionLists.C b/src/lagrangian/basic/InteractionLists/InteractionLists.C
index 9644d7b687e..d02500fe626 100644
--- a/src/lagrangian/basic/InteractionLists/InteractionLists.C
+++ b/src/lagrangian/basic/InteractionLists/InteractionLists.C
@@ -323,6 +323,7 @@ void Foam::InteractionLists<ParticleType>::prepareParticlesToRefer
         referredParticles_[i].clear();
     }
 
+    // Clear all particles that may have been populated into the cloud
     cloud_.clear();
 
     forAll(cellIndexAndTransformToDistribute_, i)
@@ -364,11 +365,9 @@ void Foam::InteractionLists<ParticleType>::prepareParticleToBeReferred
 
 
 template<class ParticleType>
-void Foam::InteractionLists<ParticleType>::writeReferredParticleCloud()
+void Foam::InteractionLists<ParticleType>::fillReferredParticleCloud()
 {
-    bool writeCloud = true;
-
-    if (writeCloud)
+    if (writeCloud_)
     {
         forAll(referredParticles_, refCellI)
         {
@@ -389,11 +388,13 @@ template<class ParticleType>
 Foam::InteractionLists<ParticleType>::InteractionLists
 (
     const polyMesh& mesh,
-    scalar maxDistance
+    scalar maxDistance,
+    Switch writeCloud
 )
 :
     mesh_(mesh),
     cloud_(mesh_, "referredParticleCloud", IDLList<ParticleType>()),
+    writeCloud_(writeCloud),
     mapPtr_(),
     globalTransforms_(mesh_),
     maxDistance_(maxDistance),
@@ -882,7 +883,7 @@ void Foam::InteractionLists<ParticleType>::receiveReferredParticles
         }
     }
 
-    writeReferredParticleCloud();
+    fillReferredParticleCloud();
 }
 
 
diff --git a/src/lagrangian/basic/InteractionLists/InteractionLists.H b/src/lagrangian/basic/InteractionLists/InteractionLists.H
index 4a3ec906be4..943d7e161c8 100644
--- a/src/lagrangian/basic/InteractionLists/InteractionLists.H
+++ b/src/lagrangian/basic/InteractionLists/InteractionLists.H
@@ -86,6 +86,10 @@ class InteractionLists
         //- Dummy cloud to give to particles
         Cloud<ParticleType> cloud_;
 
+        //- Switch controlling whether or not the cloud gets populated
+        //  with the referred particles, hence gets written out
+        const Switch writeCloud_;
+
         //- mapDistribute to exchange particles
         autoPtr<mapDistribute> mapPtr_;
 
@@ -155,8 +159,8 @@ class InteractionLists
             labelPair giat
         );
 
-        //- Write the referredParticles out to visualise
-        void writeReferredParticleCloud();
+        //- Fill the referredParticles so that it will be written out
+        void fillReferredParticleCloud();
 
         //- Disallow default bitwise copy construct
         InteractionLists(const InteractionLists&);
@@ -173,7 +177,8 @@ public:
         InteractionLists
         (
             const polyMesh& mesh,
-            scalar maxDistance
+            scalar maxDistance,
+            Switch writeCloud = false
         );
 
     // Destructor
diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C
index fc023e362ba..b72af41e731 100644
--- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C
+++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C
@@ -107,8 +107,6 @@ void Foam::KinematicCloud<ParcelType>::evolveCloud()
 
         while(!(++moveCollideSubCycle).end())
         {
-            Info<< "subCycle time = " << this->db().time().timeName() << endl;
-
             moveCollide(td);
         }
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C
index ad69e7b0f4e..fd884813948 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C
@@ -436,8 +436,6 @@ void Foam::PairCollision<CloudType>::postInteraction()
 {
     // Delete any collision records where no collision occurred this step
 
-    Info<< "    Update collision records" << endl;
-
     forAllIter(typename CloudType, this->owner(), iter)
     {
         typename CloudType::parcelType& p = iter();
@@ -450,8 +448,6 @@ void Foam::PairCollision<CloudType>::postInteraction()
 template<class CloudType>
 void Foam::PairCollision<CloudType>::buildCellOccupancy()
 {
-    Info<< "    Build cell occupancy" << endl;
-
     forAll(cellOccupancy_, cO)
     {
         cellOccupancy_[cO].clear();
@@ -517,7 +513,8 @@ Foam::PairCollision<CloudType>::PairCollision
     il_
     (
         owner.mesh(),
-        readScalar(this->coeffDict().lookup("maxInteractionDistance"))
+        readScalar(this->coeffDict().lookup("maxInteractionDistance")),
+        Switch(this->coeffDict().lookup("writeReferredParticleCloud"))
     )
 {}
 
@@ -543,7 +540,7 @@ Foam::label Foam::PairCollision<CloudType>::nSubCycles() const
 
         if(nSubCycles > 1)
         {
-            Info<< nSubCycles << " move-collide subCycles" << endl;
+            Info<< "    " << nSubCycles << " move-collide subCycles" << endl;
         }
 
         return nSubCycles;
@@ -565,8 +562,6 @@ bool Foam::PairCollision<CloudType>::active() const
 template<class CloudType>
 void Foam::PairCollision<CloudType>::collide()
 {
-    Info<< "Calculating collisions" << endl;
-
     preInteraction();
 
     parcelInteraction();
-- 
GitLab