diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.H b/src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.H index 71a47c0fb6..c68c6d764b 100644 --- a/src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.H +++ b/src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.H @@ -26,12 +26,11 @@ Class Description Specify a functionObject dictionary file to include, expects the - functionObject name to follow (without quotes). + functionObject name to follow with option arguments (without quotes). - Search for functionObject dictionary file in - user/group/shipped directories. - The search scheme allows for version-specific and - version-independent files using the following hierarchy: + Searches for functionObject dictionary file in user/group/shipped + directories allowing for version-specific and version-independent files + using the following hierarchy: - \b user settings: - ~/.OpenFOAM/\/caseDicts/postProcessing - ~/.OpenFOAM/caseDicts/postProcessing @@ -44,9 +43,16 @@ Description - \b other (shipped) settings: - $WM_PROJECT_DIR/etc/caseDicts/postProcessing - An example of the \c \#includeFunc directive: + The optional field arguments included in the name are inserted in 'field' or + 'fields' entries in the functionObject dictionary and included in the name + of the functionObject entry to avoid conflict. + + Examples: \verbatim - #includeFunc + #includeFunc Q + #includeFunc components(U) + #includeFunc mag(Ux) + #includeFunc mag(p) \endverbatim See Also diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C index 72804ed5cd..9edd6a9953 100644 --- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C +++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C @@ -113,6 +113,7 @@ bool Foam::functionObjectList::readFunctionObject string::stripInvalid(funcNameArgs); word funcName(funcNameArgs); + int argLevel = 0; wordList args; word::size_type start = 0; @@ -129,18 +130,29 @@ bool Foam::functionObjectList::readFunctionObject if (c == '(') { - funcName.resize(i); - start = i+1; + if (argLevel == 0) + { + funcName.resize(i); + start = i+1; + } + ++argLevel; } else if (c == ',') { - args.append(funcNameArgs(start, i - start)); - start = i+1; + if (argLevel == 1) + { + args.append(funcNameArgs(start, i - start)); + start = i+1; + } } else if (c == ')') { - args.append(funcNameArgs(start, i - start)); - break; + if (argLevel == 1) + { + args.append(funcNameArgs(start, i - start)); + break; + } + --argLevel; } ++i; diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/magU b/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/magU deleted file mode 100644 index 9aa3823c4d..0000000000 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/0.orig/magU +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class volScalarField; - object magU; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 1 -1 0 0 0 0]; - -internalField uniform 0; - -boundaryField -{ - sides - { - type calculated; - value uniform 0; - } - empty - { - type empty; - } -} - -// ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/0/magU b/tutorials/compressible/sonicFoam/laminar/shockTube/0/magU deleted file mode 100644 index 9aa3823c4d..0000000000 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/0/magU +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class volScalarField; - object magU; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -dimensions [0 1 -1 0 0 0 0]; - -internalField uniform 0; - -boundaryField -{ - sides - { - type calculated; - value uniform 0; - } - empty - { - type empty; - } -} - -// ************************************************************************* //