From b4fe2268a3d50767a6d477f8a79995a15a99573a Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Tue, 17 Apr 2012 09:31:57 +0100 Subject: [PATCH] BUG: changeDictionary: fixed commandline override of time --- .../changeDictionary/changeDictionary.C | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C index 85ce0db890f..937e88d10e8 100644 --- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C +++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -70,6 +70,7 @@ Usage #include "IOPtrList.H" #include "volFields.H" #include "stringListOps.H" +#include "timeSelector.H" using namespace Foam; @@ -252,12 +253,10 @@ int main(int argc, char *argv[]) "file", "specify an alternative to system/changeDictionaryDict" ); - argList::addOption - ( - "instance", - "name", - "specify alternate time instance - default is latest time" - ); + + // Add explicit time option + timeSelector::addOptions(); + argList::addBoolOption ( "literalRE", @@ -272,6 +271,17 @@ int main(int argc, char *argv[]) #include "setRootCase.H" #include "createTime.H" + + // Optionally override controlDict time with -time options + instantList times = timeSelector::selectIfPresent(runTime, args); + if (times.size() < 1) + { + FatalErrorIn(args.executable()) + << "No times selected." << exit(FatalError); + } + runTime.setTime(times[0], 0); + + #include "createNamedMesh.H" const word dictName("changeDictionaryDict"); @@ -317,11 +327,6 @@ int main(int argc, char *argv[]) regionPrefix = regionName; } - word instance = runTime.timeName(); - if (args.options().found("instance")) - { - instance = args.options()["instance"]; - } // Make sure we do not use the master-only reading since we read // fields (different per processor) as dictionaries. @@ -460,7 +465,7 @@ int main(int argc, char *argv[]) IOobject ( fieldName, - instance, + runTime.timeName(), mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE, -- GitLab