From a2995ae0e5cea28288d27f9aa9b8ee9d2e24f246 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Tue, 20 Jul 2010 18:52:34 +0100
Subject: [PATCH] ENH: decomposePar : allow -constant to override controlDict
 setting

---
 .../decomposePar/decomposePar.C               | 24 ++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
index 2009375040d..91a51e2ae57 100644
--- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
+++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,6 +42,9 @@ Usage
     @param -copyUniform \n
     Copy any @a uniform directories too.
 
+    @param -constant \n
+    Override controlDict settings and use constant directory.
+
     @param -fields \n
     Use existing geometry decomposition and convert fields only.
 
@@ -119,6 +122,11 @@ int main(int argc, char *argv[])
         "ifRequired",
         "only decompose geometry if the number of domains has changed"
     );
+    argList::addBoolOption
+    (
+        "constant",
+        "include the 'constant/' dir in the times list"
+    );
 
     #include "setRootCase.H"
 
@@ -139,6 +147,20 @@ int main(int argc, char *argv[])
 
     #include "createTime.H"
 
+    // Allow -constant to override controlDict settings.
+    if (args.optionFound("constant"))
+    {
+        instantList timeDirs = timeSelector::select0(runTime, args);
+        if (runTime.timeName() != runTime.constant())
+        {
+            FatalErrorIn(args.executable())
+                << "No '" << runTime.constant() << "' time present." << endl
+                << "Valid times are " << runTime.times()
+                << exit(FatalError);
+        }
+    }
+
+
     Info<< "Time = " << runTime.timeName() << endl;
 
     // determine the existing processor count directly
-- 
GitLab