From 3c927090e38fba8f9674ccc3742c23845d969bf8 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Fri, 29 Oct 2010 16:08:05 +0100
Subject: [PATCH] ENH: chtMultiRegionFoam : allow 0 cells per processor

---
 .../solid/solidRegionDiffNo.C                 | 22 +++++++++----------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.C
index ffe1ae5a337..c0a5277e881 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.C
@@ -37,18 +37,16 @@ Foam::scalar Foam::solidRegionDiffNo
     scalar DiNum = 0.0;
     scalar meanDiNum = 0.0;
 
-    //- Can have fluid domains with 0 cells so do not test.
-    if (mesh.nInternalFaces())
-    {
-        surfaceScalarField KrhoCpbyDelta =
-            mesh.surfaceInterpolation::deltaCoeffs()
-          * fvc::interpolate(K)
-          / fvc::interpolate(Cprho);
-
-        DiNum = max(KrhoCpbyDelta.internalField())*runTime.deltaT().value();
-
-        meanDiNum = (average(KrhoCpbyDelta)).value()*runTime.deltaT().value();
-    }
+    //- Take care: can have fluid domains with 0 cells so do not test for
+    //  zero internal faces.
+    surfaceScalarField KrhoCpbyDelta =
+        mesh.surfaceInterpolation::deltaCoeffs()
+      * fvc::interpolate(K)
+      / fvc::interpolate(Cprho);
+
+    DiNum = gMax(KrhoCpbyDelta.internalField())*runTime.deltaT().value();
+
+    meanDiNum = (average(KrhoCpbyDelta)).value()*runTime.deltaT().value();
 
     Info<< "Region: " << mesh.name() << " Diffusion Number mean: " << meanDiNum
         << " max: " << DiNum << endl;
-- 
GitLab