diff --git a/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C b/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C index 1723fa5101..69439764c7 100644 --- a/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C +++ b/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C @@ -78,10 +78,10 @@ int main(int argc, char *argv[]) # include "setRootCase.H" # include "createTime.H" + const word dictName("blockMeshDict"); + word regionName; fileName polyMeshDir; - word dictName("blockMeshDict"); - fileName dictPath(runTime.constant()); if (args.options().found("region")) { @@ -98,55 +98,58 @@ int main(int argc, char *argv[]) polyMeshDir = polyMesh::meshSubDir; } - fileName dictLocal = polyMeshDir; + autoPtr meshDictIoPtr; if (args.options().found("dict")) { - wordList elems(fileName(args.options()["dict"]).components()); - dictName = elems[elems.size()-1]; - dictPath = elems[0]; - dictLocal = ""; + fileName dictPath(args.options()["dict"]); - if (elems.size() == 1) - { - dictPath = "."; - } - else if (elems.size() > 2) - { - dictLocal = fileName(SubList(elems, elems.size()-2, 1)); - } + meshDictIoPtr.set + ( + new IOobject + ( + ( dictPath.isDir() ? dictPath/dictName : dictPath ), + runTime, + IOobject::MUST_READ, + IOobject::NO_WRITE, + false + ) + ); + } + else + { + meshDictIoPtr.set + ( + new IOobject + ( + dictName, + runTime.constant(), + polyMeshDir, + runTime, + IOobject::MUST_READ, + IOobject::NO_WRITE, + false + ) + ); } - bool writeTopo = args.options().found("blockTopology"); - - IOobject meshDictIo - ( - dictName, - dictPath, - dictLocal, - runTime, - IOobject::MUST_READ, - IOobject::NO_WRITE, - false - ); - - if (!meshDictIo.headerOk()) + if (!meshDictIoPtr->headerOk()) { FatalErrorIn(args.executable()) << "Cannot open mesh description file\n " - << meshDictIo.objectPath() + << meshDictIoPtr->objectPath() << nl << exit(FatalError); } Info<< nl << "Creating block mesh from\n " - << meshDictIo.objectPath() << nl << endl; - - IOdictionary meshDict(meshDictIo); + << meshDictIoPtr->objectPath() << nl << endl; + IOdictionary meshDict(meshDictIoPtr()); blockMesh blocks(meshDict); - if (writeTopo) + + if (args.options().found("blockTopology")) { // Write mesh as edges. { diff --git a/applications/utilities/surface/surfaceCoordinateSystemTransform/surfaceCoordinateSystemTransform.C b/applications/utilities/surface/surfaceCoordinateSystemTransform/surfaceCoordinateSystemTransform.C index e5ae6a1100..cabebafc56 100644 --- a/applications/utilities/surface/surfaceCoordinateSystemTransform/surfaceCoordinateSystemTransform.C +++ b/applications/utilities/surface/surfaceCoordinateSystemTransform/surfaceCoordinateSystemTransform.C @@ -78,56 +78,61 @@ int main(int argc, char *argv[]) Time runTime(args.rootPath(), args.caseName()); const stringList& params = args.additionalArgs(); - word dictName("coordinateSystems"); - fileName dictPath(runTime.constant()); - fileName dictLocal; - - if (args.options().found("dict")) - { - wordList elems(fileName(args.options()["dict"]).components()); - dictName = elems[elems.size()-1]; - dictPath = elems[0]; - dictLocal = ""; - - if (elems.size() == 1) - { - dictPath = "."; - } - else if (elems.size() > 2) - { - dictLocal = fileName(SubList(elems, elems.size()-2, 1)); - } - } + const word dictName("coordinateSystems"); autoPtr fromCsys; autoPtr toCsys; if (args.options().found("from") || args.options().found("to")) { - IOobject csDictIo - ( - dictName, - dictPath, - dictLocal, - runTime, - IOobject::MUST_READ, - IOobject::NO_WRITE, - false - ); + autoPtr csDictIoPtr; - if (!csDictIo.headerOk()) + if (args.options().found("dict")) + { + fileName dictPath(args.options()["dict"]); + + csDictIoPtr.set + ( + new IOobject + ( + ( dictPath.isDir() ? dictPath/dictName : dictPath ), + runTime, + IOobject::MUST_READ, + IOobject::NO_WRITE, + false + ) + ); + } + else + { + csDictIoPtr.set + ( + new IOobject + ( + dictName, + runTime.constant(), + runTime, + IOobject::MUST_READ, + IOobject::NO_WRITE, + false + ) + ); + } + + + if (!csDictIoPtr->headerOk()) { FatalErrorIn(args.executable()) << "Cannot open coordinateSystems file\n " - << csDictIo.objectPath() << nl + << csDictIoPtr->objectPath() << nl << exit(FatalError); } - coordinateSystems csLst(csDictIo); + coordinateSystems csLst(csDictIoPtr()); if (args.options().found("from")) { - word csName(args.options()["from"]); + const word csName(args.options()["from"]); label csId = csLst.find(csName); if (csId < 0) @@ -143,7 +148,7 @@ int main(int argc, char *argv[]) if (args.options().found("to")) { - word csName(args.options()["to"]); + const word csName(args.options()["to"]); label csId = csLst.find(csName); if (csId < 0)