diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C index 4a64251053..f756c97fc7 100644 --- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C +++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -171,19 +171,17 @@ void Foam::sampledSurfaces::write() writeGeometry(); } - const IOobjectList objects(mesh_, mesh_.time().timeName()); + sampleAndWrite(); + sampleAndWrite(); + sampleAndWrite(); + sampleAndWrite(); + sampleAndWrite(); - sampleAndWrite(objects); - sampleAndWrite(objects); - sampleAndWrite(objects); - sampleAndWrite(objects); - sampleAndWrite(objects); - - sampleAndWrite(objects); - sampleAndWrite(objects); - sampleAndWrite(objects); - sampleAndWrite(objects); - sampleAndWrite(objects); + sampleAndWrite(); + sampleAndWrite(); + sampleAndWrite(); + sampleAndWrite(); + sampleAndWrite(); } } diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H index 5278e850e9..09feb8cb6c 100644 --- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H +++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -159,8 +159,7 @@ class sampledSurfaces ); //- Sample and write all sampled fields - template - void sampleAndWrite(const IOobjectList&); + template void sampleAndWrite(); //- Disallow default bitwise copy construct and assignment sampledSurfaces(const sampledSurfaces&); diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C index 91dad40752..ca0b4428bf 100644 --- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C +++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfacesTemplates.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -166,20 +166,25 @@ void Foam::sampledSurfaces::sampleAndWrite template -void Foam::sampledSurfaces::sampleAndWrite(const IOobjectList& allObjects) +void Foam::sampledSurfaces::sampleAndWrite() { + DynamicList fields; + bool found = false; forAll (fieldSelection_, fieldI) { const wordRe field = fieldSelection_[fieldI]; - IOobject* fieldIOPtr = allObjects.lookup(field); - - if - ( - fieldIOPtr != NULL - && fieldIOPtr->headerClassName() == GeoField::typeName - ) + if (mesh_.thisDb().foundObject(field)) { - if (Pstream::master() && verbose_) + found = true; + fields.append(field); + } + } + if (fields.size() && found) + { + forAll (fields, fieldI) + { + const wordRe field = fields[fieldI]; + if ((Pstream::master()) && verbose_) { Pout<< "sampleAndWrite: " << field << endl; }