From 3382bd825c70003bfc9aa792585e2695bb4a9685 Mon Sep 17 00:00:00 2001
From: andy <andy>
Date: Mon, 8 Apr 2013 17:33:10 +0100
Subject: [PATCH] ENH: Updated sampledSurfaces output

---
 .../sampledSurfacesTemplates.C                | 79 +++++++++----------
 1 file changed, 36 insertions(+), 43 deletions(-)

diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C
index da612afa44d..e6ba8d42f19 100644
--- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C
+++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C
@@ -27,6 +27,7 @@ License
 #include "volFields.H"
 #include "surfaceFields.H"
 #include "ListListOps.H"
+#include "stringListOps.H"
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
@@ -146,7 +147,6 @@ void Foam::sampledSurfaces::sampleAndWrite
 }
 
 
-
 template<class Type>
 void Foam::sampledSurfaces::sampleAndWrite
 (
@@ -172,61 +172,54 @@ void Foam::sampledSurfaces::sampleAndWrite(const IOobjectList& objects)
     {
         IOobjectList fieldObjects(objects.lookupClass(GeoField::typeName));
 
-        forAll(fieldSelection_, fieldI)
-        {
-            const wordRe fieldNameRe = fieldSelection_[fieldI];
-            IOobjectList fieldIO = fieldObjects.lookupRe(fieldNameRe);
+        wordList names(fieldObjects.names());
 
-            forAllConstIter(IOobjectList, fieldIO, iter)
-            {
-                const word& fieldName = iter()->name();
+        labelList fieldNames(findStrings(fieldSelection_, names));
 
-                const GeoField fld
-                (
-                    IOobject
-                    (
-                        fieldName,
-                        mesh_.time().timeName(),
-                        mesh_,
-                        IOobject::MUST_READ
-                    ),
-                    mesh_
-                );
+        forAll(fieldNames, fieldI)
+        {
+            const word& fieldName = names[fieldNames[fieldI]];
 
-                if ((Pstream::master()) && verbose_)
-                {
-                    Pout<< "sampleAndWrite: " << fieldName << endl;
-                }
+            const GeoField fld
+            (
+                IOobject
+                (
+                    fieldName,
+                    mesh_.time().timeName(),
+                    mesh_,
+                    IOobject::MUST_READ
+                ),
+                mesh_
+            );
 
-                sampleAndWrite(fld);
+            if ((Pstream::master()) && verbose_)
+            {
+                Pout<< "sampleAndWrite: " << fieldName << endl;
             }
+
+            sampleAndWrite(fld);
         }
     }
     else
     {
-        forAll(fieldSelection_, fieldI)
-        {
-            const wordRe& fieldNameRe = fieldSelection_[fieldI];
+        const wordList fieldNames
+        (
+            mesh_.thisDb().names<GeoField>(fieldSelection_)
+        );
 
-            const wordList dbFields
-            (
-                mesh_.thisDb().foundObjectRe<GeoField>(fieldNameRe)
-            );
+        forAll(fieldNames, i)
+        {
+            const word& fieldName = fieldNames[i];
 
-            forAll(dbFields, i)
+            if ((Pstream::master()) && verbose_)
             {
-                const word& fieldName = dbFields[i];
-
-                if ((Pstream::master()) && verbose_)
-                {
-                    Pout<< "sampleAndWrite: " << fieldName << endl;
-                }
-
-                sampleAndWrite
-                (
-                    mesh_.thisDb().lookupObject<GeoField>(fieldName)
-                );
+                Pout<< "sampleAndWrite: " << fieldName << endl;
             }
+
+            sampleAndWrite
+            (
+                mesh_.thisDb().lookupObject<GeoField>(fieldName)
+            );
         }
     }
 }
-- 
GitLab