From 761ccd2bb3faab3ea4830b3ee7eceaf562bcd2f2 Mon Sep 17 00:00:00 2001
From: andy <a.heather@opencfd.co.uk>
Date: Fri, 20 Feb 2009 19:12:27 +0000
Subject: [PATCH] updates

---
 .../InjectionModel/InjectionModel.C           | 44 +++++++++++--------
 .../InjectionModel/InjectionModel.H           |  6 +--
 2 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
index 65d0ac295f7..e6729e18bb2 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
@@ -127,10 +127,10 @@ template<class CloudType>
 Foam::scalar Foam::InjectionModel<CloudType>::setNumberOfParticles
 (
     const label parcels,
-    const scalar diameter,
+    const scalar volume
     const scalar volumeFraction,
+    const scalar diameter,
     const scalar rho,
-    const scalar volume
 )
 {
     scalar nP = 0.0;
@@ -294,30 +294,38 @@ void Foam::InjectionModel<CloudType>::inject(TrackData& td)
         vector pos = vector::zero;
         setPositionAndCell(iParcel, timeInj, owner_.meshInfo(), pos, cellI);
 
-        // Diameter of parcels
-        scalar d = d0(iParcel, timeInj);
+        if (cellI >= 0)
+        {
+            // Diameter of parcels
+            scalar d = d0(iParcel, timeInj);
 
-        // Number of particles per parcel
-        scalar nP = setNumberOfParticles
-        (
-            newParcels,
-            d,
-            volFraction,
-            rho,
-            newVolume
-        );
+            // Number of particles per parcel
+            scalar nP = setNumberOfParticles
+            (
+                newParcels,
+                newVolume,
+                volFraction,
+                d,
+                rho
+            );
 
-        // Velocity of parcels
-        vector U = velocity(iParcel, timeInj, owner_.meshInfo());
+            // Velocity of parcels
+            vector U = velocity(iParcel, timeInj, owner_.meshInfo());
 
-        if (cellI >= 0)
-        {
+            // Lagrangian timestep
             scalar dt = time - timeInj;
-            td.cloud().addNewParcel(pos, cellI, d, U, nP, dt);
 
+            // Add the new parcel
+            td.cloud().addNewParcel(pos, cellI, d, U, nP, dt);
             massInjected_ += nP*rho*mathematicalConstant::pi*pow3(d)/6.0;
             parcelsAdded_++;
         }
+        else
+        {
+            WarningIn("Foam::InjectionModel<CloudType>::inject(TrackData& td)")
+                << "Failed to inject new parcel:" <<
+                << "    id = " << iParcel << ", position = " pos << nl << endl;
+        }
     }
 
     postInjectCheck();
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
index aad8f1a6c66..0c6b9f69a7e 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
@@ -170,10 +170,10 @@ protected:
         scalar setNumberOfParticles
         (
             const label parcels,
-            const scalar diameter,
+            const scalar volume,
             const scalar volumeFraction,
-            const scalar rho,
-            const scalar volume
+            const scalar diameter,
+            const scalar rho
         );
 
         //- Post injection checks
-- 
GitLab