From d4f73877e36f35148d32d480123027e63383a7e9 Mon Sep 17 00:00:00 2001 From: mattijs Date: Wed, 10 Feb 2010 14:39:55 +0000 Subject: [PATCH] ENH: have field selection work for pointFields instead of just volFields. --- .../reconstructPar/reconstructPar.C | 30 +++++++++++++++---- .../reconstruct/pointFieldReconstructor.H | 6 +++- ...pointFieldReconstructorReconstructFields.C | 21 +++++++------ 3 files changed, 42 insertions(+), 15 deletions(-) diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C index c412010cbd..e2cd5edba2 100644 --- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C +++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C @@ -260,11 +260,31 @@ int main(int argc, char *argv[]) procMeshes.boundaryProcAddressing() ); - pointReconstructor.reconstructFields(objects); - pointReconstructor.reconstructFields(objects); - pointReconstructor.reconstructFields(objects); - pointReconstructor.reconstructFields(objects); - pointReconstructor.reconstructFields(objects); + pointReconstructor.reconstructFields + ( + objects, + selectedFields + ); + pointReconstructor.reconstructFields + ( + objects, + selectedFields + ); + pointReconstructor.reconstructFields + ( + objects, + selectedFields + ); + pointReconstructor.reconstructFields + ( + objects, + selectedFields + ); + pointReconstructor.reconstructFields + ( + objects, + selectedFields + ); } else { diff --git a/src/parallel/reconstruct/pointFieldReconstructor.H b/src/parallel/reconstruct/pointFieldReconstructor.H index 7ab04c3d41..3be8ba3a7a 100644 --- a/src/parallel/reconstruct/pointFieldReconstructor.H +++ b/src/parallel/reconstruct/pointFieldReconstructor.H @@ -138,7 +138,11 @@ public: //- Reconstruct and write all fields template - void reconstructFields(const IOobjectList& objects); + void reconstructFields + ( + const IOobjectList& objects, + const HashSet& selectedFields + ); }; diff --git a/src/parallel/reconstruct/pointFieldReconstructorReconstructFields.C b/src/parallel/reconstruct/pointFieldReconstructorReconstructFields.C index c96fcfa7ed..9b8e161483 100644 --- a/src/parallel/reconstruct/pointFieldReconstructorReconstructFields.C +++ b/src/parallel/reconstruct/pointFieldReconstructorReconstructFields.C @@ -143,7 +143,8 @@ Foam::pointFieldReconstructor::reconstructField(const IOobject& fieldIoObject) template void Foam::pointFieldReconstructor::reconstructFields ( - const IOobjectList& objects + const IOobjectList& objects, + const HashSet& selectedFields ) { word fieldClassName @@ -157,16 +158,18 @@ void Foam::pointFieldReconstructor::reconstructFields { Info<< " Reconstructing " << fieldClassName << "s\n" << endl; - for - ( - IOobjectList::iterator fieldIter = fields.begin(); - fieldIter != fields.end(); - ++fieldIter - ) + forAllConstIter(IOobjectList, fields, fieldIter) { - Info<< " " << fieldIter()->name() << endl; + if + ( + !selectedFields.size() + || selectedFields.found(fieldIter()->name()) + ) + { + Info<< " " << fieldIter()->name() << endl; - reconstructField(*fieldIter())().write(); + reconstructField(*fieldIter())().write(); + } } Info<< endl;