diff --git a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C index 4fd3fd9a683da5ec8cb25302c43850628ada3acb..81b58a1a5cdfdf800112297ca347c923b7753b6e 100644 --- a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C +++ b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C @@ -91,25 +91,14 @@ void Foam::writeRegisteredObject::write() { Info<< type() << " " << name_ << " output:" << nl; + DynamicList<word> allNames(obr_.toc().size()); forAll(objectNames_, i) { - if (obr_.foundObject<regIOobject>(objectNames_[i])) - { - regIOobject& obj = - const_cast<regIOobject&> - ( - obr_.lookupObject<regIOobject>(objectNames_[i]) - ); - - if (exclusiveWriting_) - { - // Switch off automatic writing to prevent double write - obj.writeOpt() = IOobject::NO_WRITE; - } - - Info<< " writing object " << obj.name() << nl << endl; + wordList names(obr_.names<regIOobject>(objectNames_[i])); - obj.write(); + if (names.size()) + { + allNames.append(names); } else { @@ -119,6 +108,25 @@ void Foam::writeRegisteredObject::write() << endl; } } + + forAll(allNames, i) + { + regIOobject& obj = + const_cast<regIOobject&> + ( + obr_.lookupObject<regIOobject>(allNames[i]) + ); + + if (exclusiveWriting_) + { + // Switch off automatic writing to prevent double write + obj.writeOpt() = IOobject::NO_WRITE; + } + + Info<< " writing object " << obj.name() << nl << endl; + + obj.write(); + } } diff --git a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.H b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.H index d36e0d943132dc5403048d01a942f8aac3fb952f..d08dc7c914c5d97a1cd574563e08f863650135fe 100644 --- a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.H +++ b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.H @@ -74,7 +74,7 @@ SourceFiles #ifndef writeRegisteredObject_H #define writeRegisteredObject_H -#include "wordList.H" +#include "wordReList.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -110,7 +110,7 @@ protected: // Read from dictionary //- Names of objects to control - wordList objectNames_; + wordReList objectNames_; // Private Member Functions