diff --git a/applications/utilities/postProcessing/sampling/sample/sample.C b/applications/utilities/postProcessing/sampling/sample/sample.C index 0c5484e919..a68ab0b8fb 100644 --- a/applications/utilities/postProcessing/sampling/sample/sample.C +++ b/applications/utilities/postProcessing/sampling/sample/sample.C @@ -96,17 +96,26 @@ using namespace Foam; int main(int argc, char *argv[]) { timeSelector::addOptions(); -# include "addRegionOption.H" -# include "setRootCase.H" -# include "createTime.H" + #include "addRegionOption.H" + argList::addOption + ( + "dict", + "word", + "name of dictionary to provide sample information" + ); + + #include "setRootCase.H" + #include "createTime.H" instantList timeDirs = timeSelector::select0(runTime, args); -# include "createNamedMesh.H" + #include "createNamedMesh.H" + + word sampleDict(args.optionLookupOrDefault("dict", "sampleDict")); IOsampledSets sSets ( sampledSets::typeName, mesh, - "sampleDict", + sampleDict, IOobject::MUST_READ, true ); @@ -115,7 +124,7 @@ int main(int argc, char *argv[]) ( sampledSurfaces::typeName, mesh, - "sampleDict", + sampleDict, IOobject::MUST_READ, true ); diff --git a/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C b/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C index 8b5d4b8fb7..bfb4c3be81 100644 --- a/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C +++ b/src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C @@ -128,13 +128,32 @@ void Foam::sampledSets::writeSampleFile timeDir/formatter.getFileName(masterSampleSet, valueSetNames) ); - formatter.write - ( - masterSampleSet, - valueSetNames, - valueSets, - OFstream(fName)() - ); + OFstream ofs(fName); + if (ofs.opened()) + { + formatter.write + ( + masterSampleSet, + valueSetNames, + valueSets, + ofs + ); + } + else + { + WarningIn + ( + "void Foam::sampledSets::writeSampleFile" + "(" + "const coordSet&, " + "const PtrList >&, " + "const label, " + "const fileName&, " + "const writer&" + ")" + ) << "File " << ofs.name() << " could not be opened. " + << "No data will be written" << endl; + } }