From a863f4d79d821967ec4483152945dbcffcf5fd73 Mon Sep 17 00:00:00 2001 From: mattijs Date: Mon, 16 Sep 2013 16:14:58 +0100 Subject: [PATCH] ENH: Time: pass in case name from argList --- src/OpenFOAM/db/Time/Time.C | 11 ++--------- src/OpenFOAM/db/Time/TimePaths.C | 24 +++++++++++++++++++++++- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C index cace0ad54a..94c8b9cac4 100644 --- a/src/OpenFOAM/db/Time/Time.C +++ b/src/OpenFOAM/db/Time/Time.C @@ -384,18 +384,11 @@ Foam::Time::Time const word& constantName ) : - //TimePaths - //( - // args.parRunControl().parRun(), - // args.rootPath(), - // args.globalCaseName(), - // args.caseName(), - // systemName, - // constantName - //), TimePaths ( + args.parRunControl().parRun(), args.rootPath(), + args.globalCaseName(), args.caseName(), systemName, constantName diff --git a/src/OpenFOAM/db/Time/TimePaths.C b/src/OpenFOAM/db/Time/TimePaths.C index d08ec35f54..14d004e4d4 100644 --- a/src/OpenFOAM/db/Time/TimePaths.C +++ b/src/OpenFOAM/db/Time/TimePaths.C @@ -80,7 +80,29 @@ Foam::TimePaths::TimePaths case_(caseName), system_(systemName), constant_(constantName) -{} +{ + if (!processorCase) + { + // For convenience: find out from case name whether it is a + // processor directory and set processorCase flag so file searching + // goes up one level. + std::string::size_type pos = caseName.find("processor"); + + if (pos != string::npos) + { + processorCase_ = true; + + if (pos == 0) + { + globalCaseName_ = "."; + } + else + { + globalCaseName_ = caseName(pos-1); + } + } + } +} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //