From 81475e3be11ecead4ea427b84aa6c88163c7e3f3 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Thu, 24 Aug 2023 11:38:23 +0200
Subject: [PATCH] STYLE: report zero faces/area (#2966)

---
 .../surfaceFieldValue/surfaceFieldValue.C     | 21 +++++++++----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C
index a816af06e72..adf426faa1c 100644
--- a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C
+++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C
@@ -669,21 +669,22 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::update()
     // Reset some values
     totalArea_ = 0;
     nFaces_ = 0;
+    bool checkEmptyFaces = true;
 
     switch (regionType_)
     {
         case stFaceZone:
         {
-            // Raises warning or error internally
+            // Raises warning or error internally, don't check again
             setFaceZoneFaces();
-            if (!nFaces_) return true;
+            checkEmptyFaces = false;
             break;
         }
         case stPatch:
         {
-            // Raises warning or error internally
+            // Raises warning or error internally, don't check again
             setPatchFaces();
-            if (!nFaces_) return true;
+            checkEmptyFaces = false;
             break;
         }
         case stObject:
@@ -704,10 +705,12 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::update()
 
     if (nFaces_)
     {
-        // Appears to be successful - reset warnings counter
-        nWarnings_ = 0u;
+        // Appears to be successful
+        needsUpdate_ = false;
+        totalArea_ = totalArea();   // Update the area
+        nWarnings_ = 0u;            // Reset the warnings counter
     }
-    else
+    else if (checkEmptyFaces)
     {
         // Raise warning or error
         refPtr<OSstream> os;
@@ -756,18 +759,14 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::update()
                     << "... suppressing further warnings." << nl;
             }
         }
-        return true;
     }
 
-    totalArea_ = totalArea();
-
     Log << "    total faces   = " << nFaces_ << nl
         << "    total area    = " << totalArea_ << nl
         << endl;
 
     writeFileHeader(file());
 
-    needsUpdate_ = false;
     return true;
 }
 
-- 
GitLab