diff --git a/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C b/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C index 561a00bde7..e7c5f74ff6 100644 --- a/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C +++ b/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2016-2018 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -461,13 +461,15 @@ int main(int argc, char *argv[]) // Do local scan for valid cloud objects - IOobjectList sprayObjs(runTime, runTime.timeName(), dir); + wordList cloudFields + ( + IOobjectList(runTime, runTime.timeName(), dir).sortedNames() + ); // Combine with all other cloud objects - wordList sprayFields(sprayObjs.sortedToc()); - combineReduce(sprayFields, uniqueEqOp()); + combineReduce(cloudFields, uniqueEqOp()); - for (const word& name : sprayFields) + for (const word& name : cloudFields) { // Note: try the various field types. Make sure to // exit once successful conversion to avoid re-read diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C index 5bb6729f17..ca235479e3 100644 --- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C +++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C @@ -807,7 +807,7 @@ int main(int argc, char *argv[]) for (const fileName& cloudDir : cloudDirs) { - IOobjectList sprayObjs + IOobjectList cloudObjects ( mesh, runTime.timeName(), @@ -817,12 +817,12 @@ int main(int argc, char *argv[]) false ); - // Note: looking up "positions" for backwards compatibility - IOobject* positionsPtr = - sprayObjs.lookup(word("positions")); - IOobject* coordsPtr = sprayObjs.lookup(word("coordinates")); - - if (positionsPtr || coordsPtr) + // Note: look up "positions" for backwards compatibility + if + ( + cloudObjects.found("coordinates") + || cloudObjects.found("positions") + ) { // Read lagrangian particles // ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C index b47fad7758..7a5de58ed4 100644 --- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C +++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C @@ -538,7 +538,7 @@ int main(int argc, char *argv[]) if (!noLagrangian) { - HashTable cloudObjects; + HashTable allCloudObjects; forAll(databases, proci) { @@ -566,39 +566,38 @@ int main(int argc, char *argv[]) { // Check if we already have cloud objects for this // cloudname - if (!cloudObjects.found(cloudDir)) + if (!allCloudObjects.found(cloudDir)) { // Do local scan for valid cloud objects - IOobjectList sprayObjs + IOobjectList localObjs ( procMeshes.meshes()[proci], databases[proci].timeName(), cloud::prefix/cloudDir ); - IOobject* positionsPtr = - sprayObjs.lookup(word("positions")); - IOobject* coordsPtr = - sprayObjs.lookup(word("coordinates")); - - if (coordsPtr || positionsPtr) + if + ( + localObjs.found("coordinates") + || localObjs.found("positions") + ) { - cloudObjects.insert(cloudDir, sprayObjs); + allCloudObjects.insert(cloudDir, localObjs); } } } } - if (cloudObjects.size()) + if (allCloudObjects.size()) { // Pass2: reconstruct the cloud - forAllConstIter(HashTable, cloudObjects, iter) + forAllConstIters(allCloudObjects, iter) { const word cloudName = word::validate(iter.key()); // Objects (on arbitrary processor) - const IOobjectList& sprayObjs = iter.object(); + const IOobjectList& cloudObjs = iter.object(); Info<< "Reconstructing lagrangian fields for cloud " << cloudName << nl << endl; @@ -616,7 +615,7 @@ int main(int argc, char *argv[]) cloudName, mesh, procMeshes.meshes(), - sprayObjs, + cloudObjs, selectedLagrangianFields ); reconstructLagrangianFieldFields