diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/createDyMControls.H b/applications/solvers/multiphase/interFoam/overInterDyMFoam/createDyMControls.H index cb2dfd5ddd1e49261c47ed18216c802b08afdca0..00673cec243ac65fae2c8bf04534d24ddf8df3b2 100644 --- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/createDyMControls.H +++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/createDyMControls.H @@ -19,6 +19,11 @@ bool massFluxInterpolation pimple.dict().lookupOrDefault("massFluxInterpolation", false) ); +bool adjustFringe +( + pimple.dict().lookupOrDefault("oversetAdjustPhi", false) +); + bool ddtCorr ( pimple.dict().lookupOrDefault("ddtCorr", true) diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C index 7bb7f8af6b87112aa1b2bbc93fb68a3582f184b7..075676da7715f829c61600483e7bbb533c9eff9f 100644 --- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C +++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C @@ -53,6 +53,7 @@ Description #include "interpolationCellPoint.H" #include "transform.H" #include "fvMeshSubset.H" +#include "oversetAdjustPhi.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/pEqn.H b/applications/solvers/multiphase/interFoam/overInterDyMFoam/pEqn.H index 0a5b0296b8b14d0b5dd4d94235636202d8ee81be..c11ce1dba5cc0c78b125a7e75d39c85124422386 100644 --- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/pEqn.H +++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/pEqn.H @@ -28,6 +28,14 @@ fvc::makeAbsolute(phiHbyA, U); } + if (adjustFringe) + { + fvc::makeRelative(phiHbyA, U); + oversetAdjustPhi(phiHbyA, U); + fvc::makeAbsolute(phiHbyA, U); + } + + surfaceScalarField phig ( ( diff --git a/applications/test/fieldMapping/pipe1D/system/blockMeshDict b/applications/test/fieldMapping/pipe1D/system/blockMeshDict index 455cdb1f9b94be01493a3b657a601b876e869879..f5e65a7dfde5867b92a4af0691744b2e5d194eac 100644 --- a/applications/test/fieldMapping/pipe1D/system/blockMeshDict +++ b/applications/test/fieldMapping/pipe1D/system/blockMeshDict @@ -14,7 +14,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -convertToMeters 1; +scale 1; vertices ( diff --git a/applications/test/hexRef8/block/system/blockMeshDict b/applications/test/hexRef8/block/system/blockMeshDict index 594ef61bd1b15e8b27997e1fd251d0a747cdeab4..931f6899a1b8d2250d7964187b56e03c832d15ae 100644 --- a/applications/test/hexRef8/block/system/blockMeshDict +++ b/applications/test/hexRef8/block/system/blockMeshDict @@ -14,7 +14,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -convertToMeters 1; +scale 1; vertices ( diff --git a/applications/test/mapDistributePolyMesh/cavity/system/blockMeshDict b/applications/test/mapDistributePolyMesh/cavity/system/blockMeshDict index 3118c894d875f5cf3287d1714402b6bd2cd2f48f..6b7e69ca49f5fd62bb46fc54438cc27a4ec33bca 100644 --- a/applications/test/mapDistributePolyMesh/cavity/system/blockMeshDict +++ b/applications/test/mapDistributePolyMesh/cavity/system/blockMeshDict @@ -14,7 +14,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -convertToMeters 0.1; +scale 0.1; vertices ( diff --git a/applications/test/parallelOverset/heatTransfer/system/blockMeshDict b/applications/test/parallelOverset/heatTransfer/system/blockMeshDict index d04d518b0afd4f8ddda4246bd372216de1e61d3d..7d3c759df321a352fadaa0dad4beadc823d0a40f 100644 --- a/applications/test/parallelOverset/heatTransfer/system/blockMeshDict +++ b/applications/test/parallelOverset/heatTransfer/system/blockMeshDict @@ -15,7 +15,7 @@ FoamFile // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -convertToMeters 1; +scale 1; vertices ( diff --git a/applications/test/patchRegion/cavity_pinched/system/blockMeshDict b/applications/test/patchRegion/cavity_pinched/system/blockMeshDict index 5f58428dd6957756f1e7d66e8d9a31e95ad07e8c..6c09069cce78a74eb7a1f40bb1e2350e46a2d75d 100644 --- a/applications/test/patchRegion/cavity_pinched/system/blockMeshDict +++ b/applications/test/patchRegion/cavity_pinched/system/blockMeshDict @@ -14,7 +14,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -convertToMeters 0.1; +scale 0.1; vertices ( diff --git a/applications/test/stringSplit/Test-stringSplit.C b/applications/test/stringSplit/Test-stringSplit.C index 9b1208c252fbf66a5ebcd23bc5717455182dae77..3d0c820d24e5631c876f0b2237c62c65b4fb5391 100644 --- a/applications/test/stringSplit/Test-stringSplit.C +++ b/applications/test/stringSplit/Test-stringSplit.C @@ -35,11 +35,10 @@ Description using namespace Foam; +// Simple utility template<class String> -void printSplitting(const String& str, const char delimiter) +void printSubStrings(const String& str, const SubStrings<String>& split) { - auto split = stringOps::split(str, delimiter); - Info<< "string {" << str.size() << " chars} = " << str << nl << split.size() << " elements {" << split.length() << " chars}" << nl; @@ -60,7 +59,28 @@ int main(int argc, char *argv[]) { argList::noBanner(); argList::noParallel(); - + argList::addOption + ( + "any", + "delimChars", + "test split on any delimiter characters" + ); + argList::addOption + ( + "sub", + "string", + "test split on substring" + ); + argList::addBoolOption + ( + "slash", + "test split on slash (default)" + ); + argList::addBoolOption + ( + "space", + "test split on space" + ); argList args(argc, argv, false, true); if (args.size() <= 1 && args.options().empty()) @@ -68,12 +88,83 @@ int main(int argc, char *argv[]) args.printUsage(); } - for (label argi=1; argi < args.size(); ++argi) + int nopts = 0; + for (auto optName : { "any", "slash", "space", "sub" }) + { + if (args.optionFound(optName)) + { + ++nopts; + } + } + + if (args.optionFound("any")) + { + const std::string& str = args["any"]; + Info<< "split on any chars" << nl + << "=" << str << nl + << "~~~~~~~~~~~~~~~" << nl; + + for (label argi=1; argi < args.size(); ++argi) + { + const auto split = stringOps::splitAny(args[argi], str); + printSubStrings(args[argi], split); + } + + if (nopts == 1) + { + return 0; + } + } + + if (args.optionFound("sub")) + { + const std::string& str = args["sub"]; + Info<< "split on substring" << nl + << "=" << str << nl + << "~~~~~~~~~~~~~~~" << nl; + + for (label argi=1; argi < args.size(); ++argi) + { + const auto split = stringOps::split(args[argi], str); + printSubStrings(args[argi], split); + } + + if (nopts == 1) + { + return 0; + } + } + + if (args.optionFound("space")) + { + Info<< "split on space" << nl + << "~~~~~~~~~~~~~~" << nl; + + for (label argi=1; argi < args.size(); ++argi) + { + const auto split = stringOps::splitSpace(args[argi]); + printSubStrings(args[argi], split); + } + + if (nopts == 1) + { + return 0; + } + } + + // Default + if (!nopts || args.optionFound("slash")) { - printSplitting(args[argi], '/'); + Info<< "split on slash" << nl + << "~~~~~~~~~~~~~~" << nl; + + for (label argi=1; argi < args.size(); ++argi) + { + const auto split = stringOps::split(args[argi], '/'); + printSubStrings(args[argi], split); + } } - Info<< "\nEnd\n" << endl; return 0; } diff --git a/applications/test/volField/cavity/system/blockMeshDict b/applications/test/volField/cavity/system/blockMeshDict index cb67af8ad1ce0fef2af012af46988a910d3d4421..69ed9d520102702ef63559f7ddcabe8506a4bc33 100644 --- a/applications/test/volField/cavity/system/blockMeshDict +++ b/applications/test/volField/cavity/system/blockMeshDict @@ -14,7 +14,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -convertToMeters 0.1; +scale 0.1; vertices ( diff --git a/applications/utilities/mesh/manipulation/setSet/setSet.C b/applications/utilities/mesh/manipulation/setSet/setSet.C index 2f5b6a5cca332aa0a81bb4c651caaa2394df1b0f..df20caa2fffe1a40cfea529922ebdd403eb6cec1 100644 --- a/applications/utilities/mesh/manipulation/setSet/setSet.C +++ b/applications/utilities/mesh/manipulation/setSet/setSet.C @@ -85,7 +85,7 @@ void writeVTK vtk::writeFaceSet ( mesh, - currentSet, + dynamicCast<const faceSet&>(currentSet), mesh.time().path()/vtkBaseName, vtk::formatType::LEGACY_BINARY ); @@ -96,7 +96,7 @@ void writeVTK vtk::writeCellSetFaces ( mesh, - currentSet, + dynamicCast<const cellSet&>(currentSet), mesh.time().path()/vtkBaseName, vtk::formatType::LEGACY_BINARY ); @@ -106,7 +106,7 @@ void writeVTK vtk::writePointSet ( mesh, - currentSet, + dynamicCast<const pointSet&>(currentSet), mesh.time().path()/vtkBaseName, vtk::formatType::LEGACY_BINARY ); diff --git a/applications/utilities/miscellaneous/foamList/Make/options b/applications/utilities/miscellaneous/foamList/Make/options index 4d19e8972125a24afe4e96e4bbc4907db6ea287e..adc6ef19a368c37bde87fc390e6d17f82af94a5d 100644 --- a/applications/utilities/miscellaneous/foamList/Make/options +++ b/applications/utilities/miscellaneous/foamList/Make/options @@ -68,7 +68,7 @@ EXE_LIBS = \ -lrigidBodyDynamics \ -lrigidBodyMeshMotion \ -lsampling \ - -lscotchDecomp \ + -L$(FOAM_LIBBIN)/dummy -lscotchDecomp \ -lsixDoFRigidBodyMotion \ -lSLGThermo \ -lsnappyHexMesh \ diff --git a/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C b/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C index 9ac03a63c4ef739c189ba9c6c1d38feea2e680e6..d228a420876c8e508760fdb36408b2b636b3a8c2 100644 --- a/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C +++ b/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C @@ -89,11 +89,7 @@ int main(int argc, char *argv[]) break; } - if - ( - fieldName.type() != token::WORD - && fieldName.wordToken() != "CELL" - ) + if (!fieldName.isWord() || fieldName.wordToken() != "CELL") { FatalErrorInFunction << "Expected first CELL, found " @@ -103,7 +99,7 @@ int main(int argc, char *argv[]) label nCols = 0; smapFile >> fieldName; - while (fieldName.type() == token::WORD) + while (fieldName.isWord()) { starFieldNames[nCols++] = fieldName.wordToken(); smapFile >> fieldName; diff --git a/applications/utilities/postProcessing/noise/noiseDict b/applications/utilities/postProcessing/noise/noiseDict index 00a3fbc81d58ede2674bd7ea90b214a366236ac9..ca808462c4c2dceccc6d51c0da878557d969aae7 100644 --- a/applications/utilities/postProcessing/noise/noiseDict +++ b/applications/utilities/postProcessing/noise/noiseDict @@ -48,8 +48,11 @@ surfaceNoiseCoeffs */ - // Input file - inputFile "postProcessing/faceSource1/surface/patch_motorBike_rider-helmet%65/patch_motorBike_rider-helmet%65.case"; + // Input file(s) + file "postProcessing/faceSource1/surface/patch1/patch1.case"; + // Multiple inputs + //files ( "postProcessing/faceSource1/surface/patch1/patch1.case" + // "postProcessing/faceSource2/surface/patch2/patch2.case" ); // Surface reader reader ensight; @@ -83,20 +86,25 @@ surfaceNoiseCoeffs //startTime 0; // Write interval for FFT data, default = 1 -// fftWriteInterval 100; + //fftWriteInterval 100; + + // Bounds for valid pressure from input source + // Maximum pressure, default 0.5*VGREAT + //maxPressure 150e5; + + // Minimum pressure, default -0.5*VGREAT + //minPressure -150e5; } pointNoiseCoeffs { - csvFileData - { - file "pressureData"; - nHeaderLine 1; - refColumn 0; - componentColumns (1); - separator " "; - mergeSeparators yes; - } + file "pressureData"; + //files ( "pressureData" "pressureData2"); + nHeaderLine 1; + refColumn 0; + componentColumns (1); + separator " "; + mergeSeparators yes; HanningCoeffs { @@ -130,6 +138,13 @@ pointNoiseCoeffs // Write interval for FFT data, default = 1 fftWriteInterval 100; + + // Bounds for valid pressure from input source + // Maximum pressure, default 0.5*VGREAT + //maxPressure 150e5; + + // Minimum pressure, default -0.5*VGREAT + //minPressure -150e5; } diff --git a/bin/tools/foamCreateBashCompletions b/bin/tools/foamCreateBashCompletions deleted file mode 100755 index 5df15841d395de3f8eb44db6033ab92e1626cacc..0000000000000000000000000000000000000000 --- a/bin/tools/foamCreateBashCompletions +++ /dev/null @@ -1,274 +0,0 @@ -#!/bin/sh -#------------------------------------------------------------------------------ -# ========= | -# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox -# \\ / O peration | -# \\ / A nd | Copyright (C) 2017 OpenCFD Ltd. -# \\/ M anipulation | -#------------------------------------------------------------------------------ -# License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. -# -# Script -# foamCreateBashCompletions -# -# Description -# Create bash completions for OpenFOAM applications -# -#------------------------------------------------------------------------------ -usage() { - exec 1>&2 - while [ "$#" -ge 1 ]; do echo "$1"; shift; done - cat<<USAGE - -Usage: ${0##*/} [OPTION] [appName .. [appNameN]] -options: - -d dir | -dir dir Directory to process - -u | -user Add \$FOAM_USER_APPBIN to the search directories - -head | -header Generate header - -h | -help Print the usage - -Create bash completions for OpenFOAM applications and write to stdout. -By default searches \$FOAM_APPBIN only. -Alternatively, scan the output from individual applications for single completion -commands (using the '_of_complete_' backend). - -USAGE - exit 1 -} - - -#------------------------------------------------------------------------------- - -searchDirs="$FOAM_APPBIN" -unset optHeader -while [ "$#" -gt 0 ] -do - case "$1" in - -h | -help) - usage - ;; - -d | -dir) - searchDirs="$2" - [ -d $searchDirs ] || usage "directory not found '$searchDirs'" - shift - ;; - -u | -user) - searchDirs="$searchDirs $FOAM_USER_APPBIN" - ;; - -head | -header) - optHeader=true - ;; - -*) - usage "unknown option: '$1'" - ;; - *) - break - ;; - esac - shift -done - -# No applications given, then always generate a header -if [ "$#" -eq 0 ] -then - optHeader=true -fi - -# Header requested or required -[ "$optHeader" = true ] && cat << HEADER -#----------------------------------*-sh-*-------------------------------------- -# Bash completions for OpenFOAM applications -# Recreate with "${0##*/}" -# -# Formatted as "complete ... -F _of_APPNAME APPNAME - -# -# Generic completion handler for OpenFOAM applications -# - arg1 = command-name -# - arg2 = current word -# - arg3 = previous word -# - arg4 = options with args -# - arg5 = boolean options -# -unset -f _of_complete_ 2>/dev/null -_of_complete_() -{ - # Unused: local cmd=\$1 - local cur=\$2 - local prev=\$3 - local optsWithArgs="\$4 " # Trailing space added for easier matching - local opts="\$5 " - local choices - - case \${prev} in - -help|-doc|-srcDoc) - # These options are usage and we can stop here. - COMPREPLY=() - return 0 - ;; - -case) - COMPREPLY=(\$(compgen -d -- \${cur})) - ;; - -time) - # Could use "foamListTimes -withZero", but still doesn't address ranges - COMPREPLY=(\$(compgen -d -X '![-0-9]*' -- \${cur})) - ;; - -region) - choices=\$(\ls -d system/*/ 2>/dev/null | sed -e 's#/\$##' -e 's#^.*/##') - COMPREPLY=(\$(compgen -W "\$choices" -- \${cur})) - ;; - -fileHandler) - choices="collated uncollated masterUncollated" - COMPREPLY=(\$(compgen -W "\$choices" -- \${cur})) - ;; - *Dict) - # local dirs=\$(\ls -d s*/) - # local files=\$(\ls -f | grep Dict) - # COMPREPLY=(\$(compgen -W \"\$dirs \$files\" -- \${cur})) - COMPREPLY=(\$(compgen -f -- \${cur})) - ;; - *) - if [ "\${optsWithArgs/\${prev} /}" != "\${optsWithArgs}" ] - then - # Option with unknown type of arg - set to files. - # Not always correct but can still navigate path if needed... - COMPREPLY=(\$(compgen -f -- \${cur})) - elif [ -n "\$cur" -a "\${cur#-}" = "\${cur}" ] - then - # Already started a (non-empty) word that isn't an option, - # use files in which case revert to filenames. - COMPREPLY=(\$(compgen -f -- \${cur})) - else - # Catchall - # - Present remaining options (not already seen in \$COMP_LINE) - choices=\$( - for o in \${opts} \${optsWithArgs} - do - [ "\${COMP_LINE/\$o/}" = "\${COMP_LINE}" ] && echo \$o - done - ) - COMPREPLY=(\$(compgen -W "\$choices" -- \${cur})) - fi - ;; - esac - - return 0 -} - -#------------------------------------------------------------------------------ - -HEADER - -#------------------------------------------------------------------------------- - -# Scans the output of the application -help to detect options with/without -# arguments. Dispatch via _of_complete_ -# -generateCompletion() -{ - local fullName="$1" - local appName="${1##*/}" - local appHelp - - [ -f "$fullName" -a -x "$fullName" ] || { - echo "skip $fullName" 1>&2 - return 1 - } - if [ "$appName" = "complete_" ] - then - echo "skip $appName ... reserved name?" 1>&2 - return 1 - fi - - appHelp=$($fullName -help) || { - echo "error calling $fullName" 1>&2 - return 1 - } - - # Options with args - as array - local optsWithArgs=($(awk '/^ {0,4}-[a-z]/ && /</ {print $1}' <<< "$appHelp")) - - # Options without args - as array - local opts=($(awk '/^ {0,4}-[a-z]/ && !/</ {print $1}' <<< "$appHelp")) - - # See bash(1) for some details. Completion functions are called with - # arg1 = command-name, arg2 = current word, arg3 = previous word - # - # Append known option types and dispatch to _of_complete_ - echo " $appName" 1>&2 - cat << COMPLETION - -# [$appName] -unset -f _of_${appName} 2>/dev/null -_of_${appName}() { - _of_complete_ "\$@" \\ - "${optsWithArgs[@]}" \\ - "${opts[@]}" -} -complete -o filenames -F _of_${appName} $appName - -COMPLETION -} -#------------------------------------------------------------------------------ - - -if [ "$#" -eq 0 ] -then - - for dir in ${searchDirs} - do - if [ -d "$dir" ] - then - echo "Processing directory $dir" 1>&2 - else - echo "No such directory: $dir" 1>&2 - continue - fi - - # Sort with ignore-case - set -- $(\ls $dir | sort -f) - for appName - do - generateCompletion "$dir/$appName" - done - done - -else - - for appName - do - if [ -f "$appName" -a -x "$appName" ] - then - generateCompletion "$appName" - elif fullName=$(command -v $appName 2>/dev/null) - then - generateCompletion "$fullName" - else - echo "No application found: $appName" 1>&2 - fi - done - -fi - - -# Generate footer -[ "$optHeader" = true ] && cat << FOOTER - -#------------------------------------------------------------------------------ -FOOTER - -#------------------------------------------------------------------------------ diff --git a/bin/tools/foamCreateCompletionCache b/bin/tools/foamCreateCompletionCache new file mode 100755 index 0000000000000000000000000000000000000000..48f1e3449a4dee43b40aae0129890c013a2c2a03 --- /dev/null +++ b/bin/tools/foamCreateCompletionCache @@ -0,0 +1,199 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 2017 OpenCFD Ltd. +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. +# +# Script +# foamCreateCompletionCache +# +# Description +# Create cache of bash completion values for OpenFOAM applications +# The cached values are typically used by the tcsh completion wrapper. +# +#------------------------------------------------------------------------------ +defaultOutputFile="$WM_PROJECT_DIR/etc/config.sh/completion_cache" + +usage() { + exec 1>&2 + while [ "$#" -ge 1 ]; do echo "$1"; shift; done + cat<<USAGE + +Usage: ${0##*/} [OPTION] [appName .. [appNameN]] +options: + -d dir | -dir dir Directory to process + -u | -user Add \$FOAM_USER_APPBIN to the search directories + -no-header Suppress header generation + -o FILE Write to alternative output + -h | -help Print the usage + +Create cache of bash completion values for OpenFOAM applications. +The cached values are typically used by the tcsh completion wrapper. +Default search: \$FOAM_APPBIN only. +Default output: $defaultOutputFile + +Uses the search directory if applications are specified. + +USAGE + exit 1 +} + +# Report error and exit +die() +{ + exec 1>&2 + echo + echo "Error encountered:" + while [ "$#" -ge 1 ]; do echo " $1"; shift; done + echo + echo "See '${0##*/} -help' for usage" + echo + exit 1 +} + +#------------------------------------------------------------------------------- + +searchDirs="$FOAM_APPBIN" +optHeader=true +unset outputFile +while [ "$#" -gt 0 ] +do + case "$1" in + -h | -help) + usage + ;; + -d | -dir) + [ "$#" -ge 2 ] || die "'$1' option requires an argument" + searchDirs="$2" + [ -d "$searchDirs" ] || die "directory not found '$searchDirs'" + shift + ;; + -u | -user) + searchDirs="$searchDirs $FOAM_USER_APPBIN" + ;; + -no-head*) + optHeader=false + ;; + -o | -output) + [ "$#" -ge 2 ] || die "'$1' option requires an argument" + outputFile="$2" + shift + ;; + -*) + usage "unknown option: '$1'" + ;; + *) + break + ;; + esac + shift +done + +: ${outputFile:=$defaultOutputFile} + +# Verify that output is writeable +if [ -e "$outputFile" ] +then + [ -f "$outputFile" ] || \ + die "Cannot overwrite $outputFile" "Not a file" + [ -w "$outputFile" ] || \ + die "Cannot overwrite $outputFile" "No permission?" +else + [ -w "$(dirname $outputFile)" ] || \ + die "Cannot write $outputFile" "directory is not writeble" +fi + +exec 1>| $outputFile || exit $? +echo "Writing $outputFile" 1>&2 +echo 1>&2 + +# Header not disabled +[ "$optHeader" = true ] && cat << HEADER +#----------------------------------*-sh-*-------------------------------------- +# Cached options for bash completion of OpenFOAM applications. +# These are the values expected by the '_of_complete_' function +# +# Recreate with "${0##*/}" + +# Global associative array (cached options for OpenFOAM applications) +declare -gA _of_complete_cache_; + +# Clear existing cache. +_of_complete_cache_=() + +#------------------------------------------------------------------------------ +HEADER + +#------------------------------------------------------------------------------- + +# Scans the output of the application -help to detect options with/without +# arguments. Dispatch via _of_complete_ +# +extractOptions() +{ + local appName="$1" + local helpText=$($appName -help 2>/dev/null | sed -ne '/^ *-/p') + + [ -n "$helpText" ] || { + echo "Error calling $appName" 1>&2 + return 1 + } + + # Array of options with args + local argOpts=($(awk '/^ {0,4}-[a-z]/ && /</ {print $1}' <<< "$helpText")) + + # Array of options without args + local boolOpts=($(awk '/^ {0,4}-[a-z]/ && !/</ {print $1}' <<< "$helpText")) + + appName="${appName##*/}" + echo "$appName" 1>&2 + echo "_of_complete_cache_[${appName}]=\"${argOpts[@]} | ${boolOpts[@]}\"" +} +#------------------------------------------------------------------------------ + +[ "$#" -gt 0 ] || set -- ${searchDirs} + +for item +do + if [ -d "$item" ] + then + # Process directory for applications - sort with ignore-case + echo "[directory] $item" 1>&2 + choices="$(find $item -maxdepth 1 -executable -type f | sort -f 2>/dev/null)" + for appName in $choices + do + extractOptions $appName + done + elif command -v "$item" > /dev/null 2>&1 + then + extractOptions $item + else + echo "No such file or directory: $item" 1>&2 + fi +done + +# Generate footer +[ "$optHeader" = true ] && cat << FOOTER + +#------------------------------------------------------------------------------ +FOOTER + +#------------------------------------------------------------------------------ diff --git a/etc/bashrc b/etc/bashrc index 623f19affd33e1caa038d6fe26732d62fbc33b77..e2e887ac646048ac52fa5f7ef0845474bc7f4bec 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -175,7 +175,7 @@ then _foamEtc config.sh/aliases # Bash completions - if command -v complete > /dev/null 2>&1 + if [ "${BASH_VERSINFO:-0}" -ge 4 ] then _foamEtc config.sh/bash_completion fi diff --git a/etc/config.csh/complete b/etc/config.csh/complete deleted file mode 100644 index 88bd4facd852885eaff4f0a511b03ed1dc715e44..0000000000000000000000000000000000000000 --- a/etc/config.csh/complete +++ /dev/null @@ -1,59 +0,0 @@ -#!bash -# A bash -*- sh -*- adapter for re-using OpenFOAM bash completions with tcsh -# -# Called with appName and COMMAND_LINE -# -# Source the bash completions -. $WM_PROJECT_DIR/etc/config.sh/bash_completion - -appName=$1 - -# Ensure COMP_LINE is available for bash function -if [ "$#" -eq 2 ] -then - COMP_LINE=$2 -else - COMP_LINE=$COMMAND_LINE -fi - -# Remove the colon as a completion separator because tcsh cannot handle it -COMP_WORDBREAKS=${COMP_WORDBREAKS//:} - -# Set COMP_WORDS in a way that can be handled by the bash script. -COMP_WORDS=($COMP_LINE) - -# The cursor is at the end of parameter #1. -# We must check for a space as the last character which will -# tell us that the previous word is complete and the cursor -# is on the next word. -if [ "${COMP_LINE: -1}" = " " ] -then - # The last character is a space, so our location is at the end - # of the command-line array - COMP_CWORD=${#COMP_WORDS[@]} -else - # The last character is not a space, so our location is on the - # last word of the command-line array, so we must decrement the - # count by 1 - COMP_CWORD=$((${#COMP_WORDS[@]}-1)) -fi - -# bash completions are "complete ... -F _of_APPNAME APPNAME -_of_${appName} \ - "$appName" "${COMP_WORDS[COMP_CWORD]}" "${COMP_WORDS[COMP_CWORD-1]}" - -# Need slash on the end of directories for tcsh -reply=($(for i in ${COMPREPLY[@]} - do - if [ -d "$i" -a "${i#/}" = "$i" ] - then - echo "$i/" - else - echo "$i" - fi - done -)) - -echo ${reply[@]} - -#------------------------------------------------------------------------------ diff --git a/etc/config.csh/complete-wrapper b/etc/config.csh/complete-wrapper new file mode 100644 index 0000000000000000000000000000000000000000..8fbbdffac6766c134c7405aa2374be485d5a9dc7 --- /dev/null +++ b/etc/config.csh/complete-wrapper @@ -0,0 +1,102 @@ +#!bash +#----------------------------------*-sh-*-------------------------------------- +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 2017 OpenCFD Ltd. +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# This file is part of OpenFOAM, licensed under the GNU General Public License +# <http://www.gnu.org/licenses/>. +# +# File +# etc/config.csh/complete-wrapper +# +# Description +# A wrapper for using OpenFOAM bash completions with tcsh. +# +# Arguments +# appName = the application name +# +# Environment +# The tcsh COMMAND_LINE is passed in via the environment. +# This corresponds to the bash COMP_LINE variable +# +#------------------------------------------------------------------------------ +[ "$#" -ge 1 ] || exit 1 + +# Support '-test' option to check bash version +if [ "$1" = "-test" ] +then + # Uses 'declare -gA' for the implementation + # The '-A' requires bash >= 4.0 and the '-g' requires bash >= 4.2 + [ "${BASH_VERSINFO[0]:-0}${BASH_VERSINFO[1]:-0}" -ge 42 ] + exit $? +fi + +# Preload completion cache +if [ -f $WM_PROJECT_DIR/etc/config.sh/completion_cache ] +then . $WM_PROJECT_DIR/etc/config.sh/completion_cache +fi + +# Use the bash completion function, but retain cache etc. +_of_complete_tcsh=true +if [ -f $WM_PROJECT_DIR/etc/config.sh/bash_completion ] +then . $WM_PROJECT_DIR/etc/config.sh/bash_completion +else + # Could warn about missing file, or treat silently + echo + exit 1 +fi + +appName=$1 + +# Ensure COMP_LINE is available for bash function +if [ "$#" -eq 2 ] +then + COMP_LINE=$2 +else + COMP_LINE=$COMMAND_LINE +fi + +# Remove the colon as a completion separator because tcsh cannot handle it +COMP_WORDBREAKS=${COMP_WORDBREAKS//:} + +# Set COMP_WORDS in a way that can be handled by the bash script. +COMP_WORDS=($COMP_LINE) + +# The cursor is at the end of parameter #1. +# We must check for a space as the last character which will +# tell us that the previous word is complete and the cursor +# is on the next word. +if [ "${COMP_LINE: -1}" = " " ] +then + # The last character is a space, so our location is at the end + # of the command-line array + COMP_CWORD=${#COMP_WORDS[@]} +else + # The last character is not a space, so our location is on the + # last word of the command-line array, so we must decrement the + # count by 1 + COMP_CWORD=$((${#COMP_WORDS[@]}-1)) +fi + +# Call _of_complete_ APPNAME Current Previous +_of_complete_ \ + "$appName" "${COMP_WORDS[COMP_CWORD]}" "${COMP_WORDS[COMP_CWORD-1]}" + +# Tcsh needs slash on the end of directories +reply=($(for i in ${COMPREPLY[@]} + do + if [ -d "$i" -a "${i#/}" = "$i" ] + then + echo "$i/" + else + echo "$i" + fi + done +)) + +echo ${reply[@]} + +#------------------------------------------------------------------------------ diff --git a/etc/config.csh/tcsh_completion b/etc/config.csh/tcsh_completion index 251c63cc3afa41907a8b2b51678c639f554c46c1..9dfcca704650699d808a11aabd486c2678d1b603 100644 --- a/etc/config.csh/tcsh_completion +++ b/etc/config.csh/tcsh_completion @@ -1,17 +1,47 @@ #----------------------------------*-sh-*-------------------------------------- -# Tcsh completions for OpenFOAM applications -# Using bash_completion functions for the hard work +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 2017 OpenCFD Ltd. +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# This file is part of OpenFOAM, licensed under the GNU General Public License +# <http://www.gnu.org/licenses/>. +# +# File +# etc/config.csh/tcsh_completion +# +# Description +# Tcsh completions for OpenFOAM applications +# Using bash completion for the hard work +# +# Requires +# bash 4.2 or newer +# +#------------------------------------------------------------------------------ if ($?tcsh) then # tcsh only - if ( -f $WM_PROJECT_DIR/etc/config.sh/bash_completion \ - && -f $WM_PROJECT_DIR/etc/config.csh/complete) then - foreach appName (`sed -ne 's/^complete.* //p' $WM_PROJECT_DIR/etc/config.sh/bash_completion`) - # Pass explicitly - ## complete $appName 'p,*,`bash $WM_PROJECT_DIR/etc/config.csh/complete '$appName' "${COMMAND_LINE}"`,' - # Pass via environment - complete $appName 'p,*,`bash $WM_PROJECT_DIR/etc/config.csh/complete '$appName'`,' + + # Remove old completions, which look like: + # complete APPNAME 'p,*,`bash $WM_PROJECT_DIR/etc/ ... + foreach appName (`complete | sed -ne '/WM_PROJECT/s/\t.*$//p'`) + uncomplete $appName + end + + # Generate completions for predefined directories (if support is possible) + bash $WM_PROJECT_DIR/etc/config.csh/complete-wrapper -test + if ($status == 0) then + foreach dirName ("$FOAM_APPBIN") + if ( ! -d $dirName ) continue + foreach appName (`find $dirName -maxdepth 1 -executable -type f`) + # Pass explicitly + ## complete $appName:t 'p,*,`bash $WM_PROJECT_DIR/etc/config.csh/complete-wrapper '$appName:t' "${COMMAND_LINE}"`,' + # Pass via environment + complete $appName:t 'p,*,`bash $WM_PROJECT_DIR/etc/config.csh/complete-wrapper '$appName:t'`,' + end end endif + endif #------------------------------------------------------------------------------ diff --git a/etc/config.csh/unset b/etc/config.csh/unset index d9cb0ff21b005e32c1784d2274af7fde3ca92e5d..20f7c9eb6df633eba43b35fa4755bda3835de18c 100644 --- a/etc/config.csh/unset +++ b/etc/config.csh/unset @@ -196,11 +196,10 @@ unalias wmRefresh unalias foamVersion unalias foamPV -# Cleanup completions, which look like this: -# complete blockMesh 'p,*,`bash $WM_PROJECT_DIR/etc/ ... - +# Remove old completions, which look like: +# complete APPNAME 'p,*,`bash $WM_PROJECT_DIR/etc/ ... if ($?prompt && $?tcsh) then # Interactive tcsh only - foreach cleaned (`complete | sed -n -e '/WM_PROJECT/s/\t.*$//p'`) + foreach cleaned (`complete | sed -ne '/WM_PROJECT/s/\t.*$//p'`) uncomplete $cleaned end endif diff --git a/etc/config.sh/bash_completion b/etc/config.sh/bash_completion index b99683f78fc76bb28b3d053bdf7651cd7423e69d..8d671ee9f7dcaf8ae1885200b413f4f0c56fd8ef 100644 --- a/etc/config.sh/bash_completion +++ b/etc/config.sh/bash_completion @@ -1,30 +1,113 @@ #----------------------------------*-sh-*-------------------------------------- -# Bash completions for OpenFOAM applications -# Recreate with "foamCreateBashCompletions" +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 2017 OpenCFD Ltd. +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# This file is part of OpenFOAM, licensed under the GNU General Public License +# <http://www.gnu.org/licenses/>. # -# Formatted as "complete ... -F _of_APPNAME APPNAME - +# File +# etc/config.sh/bash_completion +# +# Description +# Bash completion handler for OpenFOAM applications and automatic +# generation of completion associations +# +# Provides +# foamAddCompletion +# _of_complete_ # +# Uses +# _of_complete_cache_ +# +# Requires +# bash 4.2 or newer +# +#------------------------------------------------------------------------------ + +# Remove old completions (skip for tcsh wrapper), which look like: +# "complete ... -F _of_complete_ APPNAME +if [ -z "$_of_complete_tcsh" ] +then + # For economy, obtain list first + foamOldDirs="$(complete 2>/dev/null | sed -ne 's/^.*-F _of_.* \(..*\)$/\1/p')" + for cleaned in $foamOldDirs + do + complete -r $cleaned 2>/dev/null + done +fi + + +# Add completion for command or directory of commands +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +unset -f foamAddCompletion 2>/dev/null +foamAddCompletion() +{ + [ "$#" -gt 0 ] || \ + echo "Usage: foamAddCompletion -clear | -list | dir(s) | app(s)" 1>&2 + + local appName choices + for appName + do + if [ "$appName" = "-clear" ] + then + # Clear cached values + echo "clear cached values" + _of_complete_cache_=() + + elif [ "$appName" = "-list" ] + then + # List cached keys + choices="${#_of_complete_cache_[@]}" + echo "$choices cached values:" + [ "$choices" = 0 ] || echo ${!_of_complete_cache_[@]} # keys + + elif [ -d "$appName" ] + then + # Process directory for applications + choices="$(find $appName -maxdepth 1 -executable -type f 2>/dev/null)" + for appName in $choices + do + complete -o filenames -F _of_complete_ "${appName##*/}" + # echo "complete ${appName##*/}" 1>&2 + done + + elif command -v "$appName" > /dev/null 2>&1 + then + complete -o filenames -F _of_complete_ "${appName##*/}" + # echo "complete ${appName##*/}" 1>&2 + else + echo "No completion added for $appName" 1>&2 + fi + done +} + + # Generic completion handler for OpenFOAM applications +# +# Dispatch via "complete ... -F _of_complete_ APPNAME # - arg1 = command-name # - arg2 = current word # - arg3 = previous word -# - arg4 = options with args -# - arg5 = boolean options +# +# The respective options are generated on-the-fly from the application's -help +# output and cached to the _of_complete_cache_ global associative array with +# entries formatted as "argOpts.. | boolOpts ..". +# The '|' character separates options with and without arguments. # unset -f _of_complete_ 2>/dev/null _of_complete_() { - # Unused: local cmd=$1 + local appName=$1 local cur=$2 local prev=$3 - local optsWithArgs="$4 " # Trailing space added for easier matching - local opts="$5 " local choices case ${prev} in -help|-doc|-srcDoc) - # These options are usage and we can stop here. + # These options are usage - we can stop now. COMPREPLY=() return 0 ;; @@ -43,33 +126,60 @@ _of_complete_() choices="collated uncollated masterUncollated" COMPREPLY=($(compgen -W "$choices" -- ${cur})) ;; - *Dict) - # local dirs=$(\ls -d s*/) - # local files=$(\ls -f | grep Dict) - # COMPREPLY=($(compgen -W \"$dirs $files\" -- ${cur})) - COMPREPLY=($(compgen -f -- ${cur})) - ;; *) - if [ "${optsWithArgs/${prev} /}" != "${optsWithArgs}" ] + # All options + choices="${_of_complete_cache_[$appName]}" + + # Not in cache, obtain by parsing application -help + if [ -z "$choices" ] then - # Option with unknown type of arg - set to files. - # Not always correct but can still navigate path if needed... - COMPREPLY=($(compgen -f -- ${cur})) - elif [ -n "$cur" -a "${cur#-}" = "${cur}" ] + local helpText=$($appName -help 2>/dev/null | sed -ne '/^ *-/p') + + if [ -n "$helpText" ] + then + # Array of options with args + local argOpts=($(awk '/^ {0,4}-[a-z]/ && /</ {print $1}' <<< "$helpText")) + + # Array of options without args + local boolOpts=($(awk '/^ {0,4}-[a-z]/ && !/</ {print $1}' <<< "$helpText")) + + choices="${argOpts[@]} | ${boolOpts[@]}" + else + echo "Error calling $appName" 1>&2 + choices="false" # Mark failure to prevent repeating again + fi + _of_complete_cache_[$appName]="$choices" + ## echo "generated $appName = $choices" 1>&2 # Debugging + fi + if [ "${choices:-false}" = false ] then - # Already started a (non-empty) word that isn't an option, - # use files in which case revert to filenames. COMPREPLY=($(compgen -f -- ${cur})) else - # Catchall - # - Present remaining options (not already seen in $COMP_LINE) - choices=$( - for o in ${opts} ${optsWithArgs} - do - [ "${COMP_LINE/$o/}" = "${COMP_LINE}" ] && echo $o - done - ) - COMPREPLY=($(compgen -W "$choices" -- ${cur})) + # Everything before the '|' ==> options with args. + local argOpts="${choices%|*}" + + if [ "${argOpts/${prev} /}" != "${argOpts}" ] + then + # Option with unknown type of arg - set to files. + # Not always correct but can still navigate path if needed... + COMPREPLY=($(compgen -f -- ${cur})) + elif [ -n "$cur" -a "${cur#-}" = "${cur}" ] + then + # Already started a (non-empty) word that isn't an option, + # in which case revert to filenames. + COMPREPLY=($(compgen -f -- ${cur})) + else + # Catchall + # - Present remaining options (not already seen in $COMP_LINE) + choices=$( + for o in ${choices} + do + [ "${COMP_LINE/$o/}" = "${COMP_LINE}" ] && echo "${o#|}" + done + ) + + COMPREPLY=($(compgen -W "$choices" -- ${cur})) + fi fi ;; esac @@ -80,2434 +190,38 @@ _of_complete_() #------------------------------------------------------------------------------ -# [adiabaticFlameT] -unset -f _of_adiabaticFlameT 2>/dev/null -_of_adiabaticFlameT() { - _of_complete_ "$@" \ - "-case" \ - "-srcDoc -doc -help" -} -complete -o filenames -F _of_adiabaticFlameT adiabaticFlameT - - -# [adjointShapeOptimizationFoam] -unset -f _of_adjointShapeOptimizationFoam 2>/dev/null -_of_adjointShapeOptimizationFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_adjointShapeOptimizationFoam adjointShapeOptimizationFoam - - -# [ansysToFoam] -unset -f _of_ansysToFoam 2>/dev/null -_of_ansysToFoam() { - _of_complete_ "$@" \ - "-case -scale" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_ansysToFoam ansysToFoam - - -# [applyBoundaryLayer] -unset -f _of_applyBoundaryLayer 2>/dev/null -_of_applyBoundaryLayer() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots -ybl" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_applyBoundaryLayer applyBoundaryLayer - - -# [attachMesh] -unset -f _of_attachMesh 2>/dev/null -_of_attachMesh() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -overwrite -srcDoc -doc -help" -} -complete -o filenames -F _of_attachMesh attachMesh - - -# [autoPatch] -unset -f _of_autoPatch 2>/dev/null -_of_autoPatch() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -overwrite -srcDoc -doc -help" -} -complete -o filenames -F _of_autoPatch autoPatch - - -# [blockMesh] -unset -f _of_blockMesh 2>/dev/null -_of_blockMesh() { - _of_complete_ "$@" \ - "-case -dict -region" \ - "-blockTopology -noClean -noFunctionObjects -sets -srcDoc -doc -help" -} -complete -o filenames -F _of_blockMesh blockMesh - - -# [boundaryFoam] -unset -f _of_boundaryFoam 2>/dev/null -_of_boundaryFoam() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_boundaryFoam boundaryFoam - - -# [boxTurb] -unset -f _of_boxTurb 2>/dev/null -_of_boxTurb() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_boxTurb boxTurb - - -# [buoyantBoussinesqPimpleFoam] -unset -f _of_buoyantBoussinesqPimpleFoam 2>/dev/null -_of_buoyantBoussinesqPimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_buoyantBoussinesqPimpleFoam buoyantBoussinesqPimpleFoam - - -# [buoyantBoussinesqSimpleFoam] -unset -f _of_buoyantBoussinesqSimpleFoam 2>/dev/null -_of_buoyantBoussinesqSimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_buoyantBoussinesqSimpleFoam buoyantBoussinesqSimpleFoam - - -# [buoyantPimpleFoam] -unset -f _of_buoyantPimpleFoam 2>/dev/null -_of_buoyantPimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_buoyantPimpleFoam buoyantPimpleFoam - - -# [buoyantSimpleFoam] -unset -f _of_buoyantSimpleFoam 2>/dev/null -_of_buoyantSimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_buoyantSimpleFoam buoyantSimpleFoam - - -# [cavitatingDyMFoam] -unset -f _of_cavitatingDyMFoam 2>/dev/null -_of_cavitatingDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_cavitatingDyMFoam cavitatingDyMFoam - - -# [cavitatingFoam] -unset -f _of_cavitatingFoam 2>/dev/null -_of_cavitatingFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_cavitatingFoam cavitatingFoam - - -# [cfx4ToFoam] -unset -f _of_cfx4ToFoam 2>/dev/null -_of_cfx4ToFoam() { - _of_complete_ "$@" \ - "-case -scale" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_cfx4ToFoam cfx4ToFoam - - -# [changeDictionary] -unset -f _of_changeDictionary 2>/dev/null -_of_changeDictionary() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -instance -region -roots -subDict -time" \ - "-constant -disablePatchGroups -enableFunctionEntries -latestTime -literalRE -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_changeDictionary changeDictionary - - -# [checkMesh] -unset -f _of_checkMesh 2>/dev/null -_of_checkMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots -time -writeFields -writeSets" \ - "-allGeometry -allTopology -constant -latestTime -meshQuality -newTimes -noFunctionObjects -noTopology -noZero -parallel -writeAllFields -srcDoc -doc -help" -} -complete -o filenames -F _of_checkMesh checkMesh - - -# [chemFoam] -unset -f _of_chemFoam 2>/dev/null -_of_chemFoam() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_chemFoam chemFoam - - -# [chemkinToFoam] -unset -f _of_chemkinToFoam 2>/dev/null -_of_chemkinToFoam() { - _of_complete_ "$@" \ - "-case" \ - "-newFormat -srcDoc -doc -help" -} -complete -o filenames -F _of_chemkinToFoam chemkinToFoam - - -# [chtMultiRegionFoam] -unset -f _of_chtMultiRegionFoam 2>/dev/null -_of_chtMultiRegionFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_chtMultiRegionFoam chtMultiRegionFoam - - -# [chtMultiRegionSimpleFoam] -unset -f _of_chtMultiRegionSimpleFoam 2>/dev/null -_of_chtMultiRegionSimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_chtMultiRegionSimpleFoam chtMultiRegionSimpleFoam - - -# [coalChemistryFoam] -unset -f _of_coalChemistryFoam 2>/dev/null -_of_coalChemistryFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_coalChemistryFoam coalChemistryFoam - - -# [coldEngineFoam] -unset -f _of_coldEngineFoam 2>/dev/null -_of_coldEngineFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_coldEngineFoam coldEngineFoam - - -# [collapseEdges] -unset -f _of_collapseEdges 2>/dev/null -_of_collapseEdges() { - _of_complete_ "$@" \ - "-case -collapseFaceSet -decomposeParDict -dict -roots -time" \ - "-collapseFaces -constant -latestTime -newTimes -noFunctionObjects -noZero -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_collapseEdges collapseEdges - - -# [combinePatchFaces] -unset -f _of_combinePatchFaces 2>/dev/null -_of_combinePatchFaces() { - _of_complete_ "$@" \ - "-case -concaveAngle -decomposeParDict -roots" \ - "-meshQuality -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_combinePatchFaces combinePatchFaces - - -# [compressibleInterDyMFoam] -unset -f _of_compressibleInterDyMFoam 2>/dev/null -_of_compressibleInterDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_compressibleInterDyMFoam compressibleInterDyMFoam - - -# [compressibleInterFoam] -unset -f _of_compressibleInterFoam 2>/dev/null -_of_compressibleInterFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_compressibleInterFoam compressibleInterFoam - - -# [compressibleMultiphaseInterFoam] -unset -f _of_compressibleMultiphaseInterFoam 2>/dev/null -_of_compressibleMultiphaseInterFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_compressibleMultiphaseInterFoam compressibleMultiphaseInterFoam - - -# [createBaffles] -unset -f _of_createBaffles 2>/dev/null -_of_createBaffles() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -region -roots" \ - "-noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_createBaffles createBaffles - - -# [createExternalCoupledPatchGeometry] -unset -f _of_createExternalCoupledPatchGeometry 2>/dev/null -_of_createExternalCoupledPatchGeometry() { - _of_complete_ "$@" \ - "-case -commsDir -decomposeParDict -region -regions -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_createExternalCoupledPatchGeometry createExternalCoupledPatchGeometry - - -# [createPatch] -unset -f _of_createPatch 2>/dev/null -_of_createPatch() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -region -roots" \ - "-noFunctionObjects -overwrite -parallel -writeObj -srcDoc -doc -help" -} -complete -o filenames -F _of_createPatch createPatch - - -# [createZeroDirectory] -unset -f _of_createZeroDirectory 2>/dev/null -_of_createZeroDirectory() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots -templateDir" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_createZeroDirectory createZeroDirectory - - -# [datToFoam] -unset -f _of_datToFoam 2>/dev/null -_of_datToFoam() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_datToFoam datToFoam - - -# [decomposePar] -unset -f _of_decomposePar 2>/dev/null -_of_decomposePar() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -time" \ - "-allRegions -cellDist -constant -copyUniform -copyZero -fields -force -ifRequired -latestTime -newTimes -noFunctionObjects -noSets -noZero -srcDoc -doc -help" -} -complete -o filenames -F _of_decomposePar decomposePar - - -# [deformedGeom] -unset -f _of_deformedGeom 2>/dev/null -_of_deformedGeom() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_deformedGeom deformedGeom - - -# [dnsFoam] -unset -f _of_dnsFoam 2>/dev/null -_of_dnsFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_dnsFoam dnsFoam - - -# [DPMDyMFoam] -unset -f _of_DPMDyMFoam 2>/dev/null -_of_DPMDyMFoam() { - _of_complete_ "$@" \ - "-case -cloudName -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_DPMDyMFoam DPMDyMFoam - - -# [DPMFoam] -unset -f _of_DPMFoam 2>/dev/null -_of_DPMFoam() { - _of_complete_ "$@" \ - "-case -cloud -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_DPMFoam DPMFoam - - -# [driftFluxFoam] -unset -f _of_driftFluxFoam 2>/dev/null -_of_driftFluxFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_driftFluxFoam driftFluxFoam - - -# [dsmcFoam] -unset -f _of_dsmcFoam 2>/dev/null -_of_dsmcFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_dsmcFoam dsmcFoam - - -# [dsmcInitialise] -unset -f _of_dsmcInitialise 2>/dev/null -_of_dsmcInitialise() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_dsmcInitialise dsmcInitialise - - -# [electrostaticFoam] -unset -f _of_electrostaticFoam 2>/dev/null -_of_electrostaticFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_electrostaticFoam electrostaticFoam - - -# [engineCompRatio] -unset -f _of_engineCompRatio 2>/dev/null -_of_engineCompRatio() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_engineCompRatio engineCompRatio - - -# [engineFoam] -unset -f _of_engineFoam 2>/dev/null -_of_engineFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_engineFoam engineFoam - - -# [engineSwirl] -unset -f _of_engineSwirl 2>/dev/null -_of_engineSwirl() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_engineSwirl engineSwirl - - -# [equilibriumCO] -unset -f _of_equilibriumCO 2>/dev/null -_of_equilibriumCO() { - _of_complete_ "$@" \ - "-case" \ - "-srcDoc -doc -help" -} -complete -o filenames -F _of_equilibriumCO equilibriumCO - - -# [equilibriumFlameT] -unset -f _of_equilibriumFlameT 2>/dev/null -_of_equilibriumFlameT() { - _of_complete_ "$@" \ - "-case" \ - "-srcDoc -doc -help" -} -complete -o filenames -F _of_equilibriumFlameT equilibriumFlameT - - -# [extrude2DMesh] -unset -f _of_extrude2DMesh 2>/dev/null -_of_extrude2DMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_extrude2DMesh extrude2DMesh - - -# [extrudeMesh] -unset -f _of_extrudeMesh 2>/dev/null -_of_extrudeMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_extrudeMesh extrudeMesh - - -# [extrudeToRegionMesh] -unset -f _of_extrudeToRegionMesh 2>/dev/null -_of_extrudeToRegionMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -region -roots" \ - "-noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_extrudeToRegionMesh extrudeToRegionMesh - - -# [faceAgglomerate] -unset -f _of_faceAgglomerate 2>/dev/null -_of_faceAgglomerate() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -region -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_faceAgglomerate faceAgglomerate - - -# [financialFoam] -unset -f _of_financialFoam 2>/dev/null -_of_financialFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_financialFoam financialFoam - - -# [fireFoam] -unset -f _of_fireFoam 2>/dev/null -_of_fireFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_fireFoam fireFoam - - -# [fireToFoam] -unset -f _of_fireToFoam 2>/dev/null -_of_fireToFoam() { - _of_complete_ "$@" \ - "-case -scale" \ - "-ascii -check -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_fireToFoam fireToFoam - - -# [flattenMesh] -unset -f _of_flattenMesh 2>/dev/null -_of_flattenMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_flattenMesh flattenMesh - - -# [fluent3DMeshToFoam] -unset -f _of_fluent3DMeshToFoam 2>/dev/null -_of_fluent3DMeshToFoam() { - _of_complete_ "$@" \ - "-case -ignoreCellGroups -ignoreFaceGroups -scale" \ - "-cubit -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_fluent3DMeshToFoam fluent3DMeshToFoam - - -# [fluentMeshToFoam] -unset -f _of_fluentMeshToFoam 2>/dev/null -_of_fluentMeshToFoam() { - _of_complete_ "$@" \ - "-case -scale" \ - "-noFunctionObjects -writeSets -writeZones -srcDoc -doc -help" -} -complete -o filenames -F _of_fluentMeshToFoam fluentMeshToFoam - - -# [foamDataToFluent] -unset -f _of_foamDataToFluent 2>/dev/null -_of_foamDataToFluent() { - _of_complete_ "$@" \ - "-case -time" \ - "-latestTime -newTimes -noFunctionObjects -noZero -srcDoc -doc -help" -} -complete -o filenames -F _of_foamDataToFluent foamDataToFluent - - -# [foamDictionary] -unset -f _of_foamDictionary 2>/dev/null -_of_foamDictionary() { - _of_complete_ "$@" \ - "-add -case -decomposeParDict -diff -entry -roots -set" \ - "-disableFunctionEntries -expand -includes -keywords -noFunctionObjects -parallel -remove -value -srcDoc -doc -help" -} -complete -o filenames -F _of_foamDictionary foamDictionary - - -# [foamFormatConvert] -unset -f _of_foamFormatConvert 2>/dev/null -_of_foamFormatConvert() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots -time" \ - "-constant -enableFunctionEntries -latestTime -newTimes -noConstant -noFunctionObjects -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_foamFormatConvert foamFormatConvert - - -# [foamHelp] -unset -f _of_foamHelp 2>/dev/null -_of_foamHelp() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_foamHelp foamHelp - - -# [foamList] -unset -f _of_foamList 2>/dev/null -_of_foamList() { - _of_complete_ "$@" \ - "-case -scalarBCs -vectorBCs" \ - "-compressibleTurbulenceModels -functionObjects -fvOptions -incompressibleTurbulenceModels -noFunctionObjects -registeredSwitches -switches -unset -srcDoc -doc -help" -} -complete -o filenames -F _of_foamList foamList - - -# [foamListTimes] -unset -f _of_foamListTimes 2>/dev/null -_of_foamListTimes() { - _of_complete_ "$@" \ - "-case -time" \ - "-constant -latestTime -newTimes -noFunctionObjects -noZero -processor -rm -withZero -srcDoc -doc -help" -} -complete -o filenames -F _of_foamListTimes foamListTimes - - -# [foamMeshToFluent] -unset -f _of_foamMeshToFluent 2>/dev/null -_of_foamMeshToFluent() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_foamMeshToFluent foamMeshToFluent - - -# [foamToEnsight] -unset -f _of_foamToEnsight 2>/dev/null -_of_foamToEnsight() { - _of_complete_ "$@" \ - "-case -cellZone -decomposeParDict -faceZones -fields -name -patches -region -roots -time -width" \ - "-ascii -constant -latestTime -newTimes -noFunctionObjects -noLagrangian -noPatches -noZero -nodeValues -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_foamToEnsight foamToEnsight - +# Uses 'declare -gA' for the implementation +# The '-A' requires bash >= 4.0 and the '-g' requires bash >= 4.2 +if [ "${BASH_VERSINFO[0]:-0}${BASH_VERSINFO[1]:-0}" -ge 42 ] +then + # Global associative array (cached options for OpenFOAM applications) + declare -gA _of_complete_cache_; -# [foamToEnsightParts] -unset -f _of_foamToEnsightParts 2>/dev/null -_of_foamToEnsightParts() { - _of_complete_ "$@" \ - "-case -index -name -time -width" \ - "-ascii -constant -latestTime -newTimes -noFunctionObjects -noLagrangian -noMesh -noZero -srcDoc -doc -help" -} -complete -o filenames -F _of_foamToEnsightParts foamToEnsightParts - - -# [foamToFireMesh] -unset -f _of_foamToFireMesh 2>/dev/null -_of_foamToFireMesh() { - _of_complete_ "$@" \ - "-case -scale -time" \ - "-ascii -constant -latestTime -newTimes -noFunctionObjects -noZero -srcDoc -doc -help" -} -complete -o filenames -F _of_foamToFireMesh foamToFireMesh - - -# [foamToGMV] -unset -f _of_foamToGMV 2>/dev/null -_of_foamToGMV() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_foamToGMV foamToGMV - - -# [foamToStarMesh] -unset -f _of_foamToStarMesh 2>/dev/null -_of_foamToStarMesh() { - _of_complete_ "$@" \ - "-case -scale -time" \ - "-constant -latestTime -newTimes -noBnd -noFunctionObjects -noZero -srcDoc -doc -help" -} -complete -o filenames -F _of_foamToStarMesh foamToStarMesh - - -# [foamToSurface] -unset -f _of_foamToSurface 2>/dev/null -_of_foamToSurface() { - _of_complete_ "$@" \ - "-case -scale -time" \ - "-constant -latestTime -newTimes -noFunctionObjects -noZero -tri -srcDoc -doc -help" -} -complete -o filenames -F _of_foamToSurface foamToSurface - - -# [foamToTetDualMesh] -unset -f _of_foamToTetDualMesh 2>/dev/null -_of_foamToTetDualMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots -time" \ - "-constant -latestTime -noFunctionObjects -noZero -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_foamToTetDualMesh foamToTetDualMesh + # Clear existing cache and reassign bash completions. + # But for tcsh wrapper make use of caching and avoid this overhead. + if [ -z "$_of_complete_tcsh" ] + then + _of_complete_cache_=() + # Generate completions for predefined directories + foamAddCompletion $FOAM_APPBIN + fi +else + # Bash version is too old. + ## echo "No bash completions - requires bash >= 4.2" 1>&2 -# [foamToVTK] -unset -f _of_foamToVTK 2>/dev/null -_of_foamToVTK() { - _of_complete_ "$@" \ - "-case -cellSet -decomposeParDict -excludePatches -faceSet -fields -name -pointSet -region -roots -time" \ - "-allPatches -ascii -constant -latestTime -nearCellValue -newTimes -noFaceZones -noFunctionObjects -noInternal -noLagrangian -noLinks -noPointValues -noZero -parallel -poly -surfaceFields -useTimeName -xml -srcDoc -doc -help" -} -complete -o filenames -F _of_foamToVTK foamToVTK - - -# [foamUpgradeCyclics] -unset -f _of_foamUpgradeCyclics 2>/dev/null -_of_foamUpgradeCyclics() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots -time" \ - "-constant -enableFunctionEntries -latestTime -newTimes -noFunctionObjects -noZero -parallel -test -srcDoc -doc -help" -} -complete -o filenames -F _of_foamUpgradeCyclics foamUpgradeCyclics - - -# [foamyHexMesh] -unset -f _of_foamyHexMesh 2>/dev/null -_of_foamyHexMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-checkGeometry -conformationOnly -noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_foamyHexMesh foamyHexMesh - - -# [foamyQuadMesh] -unset -f _of_foamyQuadMesh 2>/dev/null -_of_foamyQuadMesh() { - _of_complete_ "$@" \ - "-case -pointsFile" \ - "-noFunctionObjects -overwrite -srcDoc -doc -help" -} -complete -o filenames -F _of_foamyQuadMesh foamyQuadMesh - - -# [gambitToFoam] -unset -f _of_gambitToFoam 2>/dev/null -_of_gambitToFoam() { - _of_complete_ "$@" \ - "-case -scale" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_gambitToFoam gambitToFoam - - -# [gmshToFoam] -unset -f _of_gmshToFoam 2>/dev/null -_of_gmshToFoam() { - _of_complete_ "$@" \ - "-case -region" \ - "-keepOrientation -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_gmshToFoam gmshToFoam + unset -f foamAddCompletion 2>/dev/null + foamAddCompletion() + { + echo "foamAddCompletion disabled - requires bash >= 4.2" 1>&2 + } + unset -f _of_complete_ 2>/dev/null +fi -# [icoFoam] -unset -f _of_icoFoam 2>/dev/null -_of_icoFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_icoFoam icoFoam - - -# [icoUncoupledKinematicParcelDyMFoam] -unset -f _of_icoUncoupledKinematicParcelDyMFoam 2>/dev/null -_of_icoUncoupledKinematicParcelDyMFoam() { - _of_complete_ "$@" \ - "-case -cloud -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_icoUncoupledKinematicParcelDyMFoam icoUncoupledKinematicParcelDyMFoam - - -# [icoUncoupledKinematicParcelFoam] -unset -f _of_icoUncoupledKinematicParcelFoam 2>/dev/null -_of_icoUncoupledKinematicParcelFoam() { - _of_complete_ "$@" \ - "-case -cloud -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_icoUncoupledKinematicParcelFoam icoUncoupledKinematicParcelFoam - - -# [ideasUnvToFoam] -unset -f _of_ideasUnvToFoam 2>/dev/null -_of_ideasUnvToFoam() { - _of_complete_ "$@" \ - "-case" \ - "-dump -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_ideasUnvToFoam ideasUnvToFoam - - -# [insideCells] -unset -f _of_insideCells 2>/dev/null -_of_insideCells() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_insideCells insideCells - - -# [interCondensatingEvaporatingFoam] -unset -f _of_interCondensatingEvaporatingFoam 2>/dev/null -_of_interCondensatingEvaporatingFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_interCondensatingEvaporatingFoam interCondensatingEvaporatingFoam - - -# [interDyMFoam] -unset -f _of_interDyMFoam 2>/dev/null -_of_interDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_interDyMFoam interDyMFoam - - -# [interFoam] -unset -f _of_interFoam 2>/dev/null -_of_interFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_interFoam interFoam - - -# [interIsoFoam] -unset -f _of_interIsoFoam 2>/dev/null -_of_interIsoFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_interIsoFoam interIsoFoam - - -# [interMixingFoam] -unset -f _of_interMixingFoam 2>/dev/null -_of_interMixingFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_interMixingFoam interMixingFoam - - -# [interPhaseChangeDyMFoam] -unset -f _of_interPhaseChangeDyMFoam 2>/dev/null -_of_interPhaseChangeDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_interPhaseChangeDyMFoam interPhaseChangeDyMFoam - - -# [interPhaseChangeFoam] -unset -f _of_interPhaseChangeFoam 2>/dev/null -_of_interPhaseChangeFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_interPhaseChangeFoam interPhaseChangeFoam - - -# [kivaToFoam] -unset -f _of_kivaToFoam 2>/dev/null -_of_kivaToFoam() { - _of_complete_ "$@" \ - "-case -file -version -zHeadMin" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_kivaToFoam kivaToFoam - - -# [laplacianFoam] -unset -f _of_laplacianFoam 2>/dev/null -_of_laplacianFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_laplacianFoam laplacianFoam - - -# [lumpedPointForces] -unset -f _of_lumpedPointForces 2>/dev/null -_of_lumpedPointForces() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots -time" \ - "-constant -latestTime -newTimes -noZero -parallel -vtk -srcDoc -doc -help" -} -complete -o filenames -F _of_lumpedPointForces lumpedPointForces - - -# [lumpedPointMovement] -unset -f _of_lumpedPointMovement 2>/dev/null -_of_lumpedPointMovement() { - _of_complete_ "$@" \ - "-case -max -scale -span" \ - "-removeLock -slave -srcDoc -doc -help" -} -complete -o filenames -F _of_lumpedPointMovement lumpedPointMovement - - -# [lumpedPointZones] -unset -f _of_lumpedPointZones 2>/dev/null -_of_lumpedPointZones() { - _of_complete_ "$@" \ - "-case -region" \ - "-verbose -srcDoc -doc -help" -} -complete -o filenames -F _of_lumpedPointZones lumpedPointZones - - -# [magneticFoam] -unset -f _of_magneticFoam 2>/dev/null -_of_magneticFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noB -noFunctionObjects -noH -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_magneticFoam magneticFoam - - -# [mapFields] -unset -f _of_mapFields 2>/dev/null -_of_mapFields() { - _of_complete_ "$@" \ - "-case -mapMethod -sourceDecomposeParDict -sourceRegion -sourceTime -targetDecomposeParDict -targetRegion" \ - "-consistent -noFunctionObjects -parallelSource -parallelTarget -subtract -srcDoc -doc -help" -} -complete -o filenames -F _of_mapFields mapFields - - -# [mapFieldsPar] -unset -f _of_mapFieldsPar 2>/dev/null -_of_mapFieldsPar() { - _of_complete_ "$@" \ - "-case -decomposeParDict -fields -mapMethod -patchMapMethod -roots -sourceRegion -sourceTime -targetRegion" \ - "-consistent -noFunctionObjects -noLagrangian -parallel -subtract -srcDoc -doc -help" -} -complete -o filenames -F _of_mapFieldsPar mapFieldsPar - - -# [mdEquilibrationFoam] -unset -f _of_mdEquilibrationFoam 2>/dev/null -_of_mdEquilibrationFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_mdEquilibrationFoam mdEquilibrationFoam - - -# [mdFoam] -unset -f _of_mdFoam 2>/dev/null -_of_mdFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_mdFoam mdFoam - - -# [mdInitialise] -unset -f _of_mdInitialise 2>/dev/null -_of_mdInitialise() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_mdInitialise mdInitialise - - -# [mergeMeshes] -unset -f _of_mergeMeshes 2>/dev/null -_of_mergeMeshes() { - _of_complete_ "$@" \ - "-addRegion -case -decomposeParDict -masterRegion -roots" \ - "-noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_mergeMeshes mergeMeshes - - -# [mergeOrSplitBaffles] -unset -f _of_mergeOrSplitBaffles 2>/dev/null -_of_mergeOrSplitBaffles() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -region -roots" \ - "-detectOnly -noFunctionObjects -overwrite -parallel -split -srcDoc -doc -help" -} -complete -o filenames -F _of_mergeOrSplitBaffles mergeOrSplitBaffles - - -# [mhdFoam] -unset -f _of_mhdFoam 2>/dev/null -_of_mhdFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_mhdFoam mhdFoam - - -# [mirrorMesh] -unset -f _of_mirrorMesh 2>/dev/null -_of_mirrorMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_mirrorMesh mirrorMesh - - -# [mixtureAdiabaticFlameT] -unset -f _of_mixtureAdiabaticFlameT 2>/dev/null -_of_mixtureAdiabaticFlameT() { - _of_complete_ "$@" \ - "-case" \ - "-srcDoc -doc -help" -} -complete -o filenames -F _of_mixtureAdiabaticFlameT mixtureAdiabaticFlameT - - -# [modifyMesh] -unset -f _of_modifyMesh 2>/dev/null -_of_modifyMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_modifyMesh modifyMesh - - -# [moveDynamicMesh] -unset -f _of_moveDynamicMesh 2>/dev/null -_of_moveDynamicMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots" \ - "-checkAMI -noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_moveDynamicMesh moveDynamicMesh - - -# [moveEngineMesh] -unset -f _of_moveEngineMesh 2>/dev/null -_of_moveEngineMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_moveEngineMesh moveEngineMesh - - -# [moveMesh] -unset -f _of_moveMesh 2>/dev/null -_of_moveMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_moveMesh moveMesh - - -# [MPPICDyMFoam] -unset -f _of_MPPICDyMFoam 2>/dev/null -_of_MPPICDyMFoam() { - _of_complete_ "$@" \ - "-case -cloudName -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_MPPICDyMFoam MPPICDyMFoam - - -# [MPPICFoam] -unset -f _of_MPPICFoam 2>/dev/null -_of_MPPICFoam() { - _of_complete_ "$@" \ - "-case -cloud -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_MPPICFoam MPPICFoam - - -# [MPPICInterFoam] -unset -f _of_MPPICInterFoam 2>/dev/null -_of_MPPICInterFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_MPPICInterFoam MPPICInterFoam - - -# [mshToFoam] -unset -f _of_mshToFoam 2>/dev/null -_of_mshToFoam() { - _of_complete_ "$@" \ - "-case" \ - "-hex -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_mshToFoam mshToFoam - - -# [multiphaseEulerFoam] -unset -f _of_multiphaseEulerFoam 2>/dev/null -_of_multiphaseEulerFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_multiphaseEulerFoam multiphaseEulerFoam - - -# [multiphaseInterDyMFoam] -unset -f _of_multiphaseInterDyMFoam 2>/dev/null -_of_multiphaseInterDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_multiphaseInterDyMFoam multiphaseInterDyMFoam - - -# [multiphaseInterFoam] -unset -f _of_multiphaseInterFoam 2>/dev/null -_of_multiphaseInterFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_multiphaseInterFoam multiphaseInterFoam - - -# [netgenNeutralToFoam] -unset -f _of_netgenNeutralToFoam 2>/dev/null -_of_netgenNeutralToFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_netgenNeutralToFoam netgenNeutralToFoam - - -# [noise] -unset -f _of_noise 2>/dev/null -_of_noise() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_noise noise - - -# [nonNewtonianIcoFoam] -unset -f _of_nonNewtonianIcoFoam 2>/dev/null -_of_nonNewtonianIcoFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_nonNewtonianIcoFoam nonNewtonianIcoFoam - - -# [objToVTK] -unset -f _of_objToVTK 2>/dev/null -_of_objToVTK() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_objToVTK objToVTK - - -# [orientFaceZone] -unset -f _of_orientFaceZone 2>/dev/null -_of_orientFaceZone() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_orientFaceZone orientFaceZone - - -# [overInterDyMFoam] -unset -f _of_overInterDyMFoam 2>/dev/null -_of_overInterDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_overInterDyMFoam overInterDyMFoam - - -# [overLaplacianDyMFoam] -unset -f _of_overLaplacianDyMFoam 2>/dev/null -_of_overLaplacianDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_overLaplacianDyMFoam overLaplacianDyMFoam - - -# [overPimpleDyMFoam] -unset -f _of_overPimpleDyMFoam 2>/dev/null -_of_overPimpleDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_overPimpleDyMFoam overPimpleDyMFoam - - -# [overRhoPimpleDyMFoam] -unset -f _of_overRhoPimpleDyMFoam 2>/dev/null -_of_overRhoPimpleDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_overRhoPimpleDyMFoam overRhoPimpleDyMFoam - - -# [overSimpleFoam] -unset -f _of_overSimpleFoam 2>/dev/null -_of_overSimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_overSimpleFoam overSimpleFoam - - -# [particleTracks] -unset -f _of_particleTracks 2>/dev/null -_of_particleTracks() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots -time" \ - "-constant -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_particleTracks particleTracks - - -# [patchSummary] -unset -f _of_patchSummary 2>/dev/null -_of_patchSummary() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots -time" \ - "-constant -expand -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_patchSummary patchSummary - - -# [pdfPlot] -unset -f _of_pdfPlot 2>/dev/null -_of_pdfPlot() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_pdfPlot pdfPlot - - -# [PDRFoam] -unset -f _of_PDRFoam 2>/dev/null -_of_PDRFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_PDRFoam PDRFoam - - -# [PDRMesh] -unset -f _of_PDRMesh 2>/dev/null -_of_PDRMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_PDRMesh PDRMesh - - -# [pimpleDyMFoam] -unset -f _of_pimpleDyMFoam 2>/dev/null -_of_pimpleDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_pimpleDyMFoam pimpleDyMFoam - - -# [pimpleFoam] -unset -f _of_pimpleFoam 2>/dev/null -_of_pimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_pimpleFoam pimpleFoam - - -# [pisoFoam] -unset -f _of_pisoFoam 2>/dev/null -_of_pisoFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_pisoFoam pisoFoam - - -# [plot3dToFoam] -unset -f _of_plot3dToFoam 2>/dev/null -_of_plot3dToFoam() { - _of_complete_ "$@" \ - "-case -scale" \ - "-noBlank -noFunctionObjects -singleBlock -srcDoc -doc -help" -} -complete -o filenames -F _of_plot3dToFoam plot3dToFoam - - -# [polyDualMesh] -unset -f _of_polyDualMesh 2>/dev/null -_of_polyDualMesh() { - _of_complete_ "$@" \ - "-case" \ - "-concaveMultiCells -doNotPreserveFaceZones -noFunctionObjects -overwrite -splitAllFaces -srcDoc -doc -help" -} -complete -o filenames -F _of_polyDualMesh polyDualMesh - - -# [porousSimpleFoam] -unset -f _of_porousSimpleFoam 2>/dev/null -_of_porousSimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_porousSimpleFoam porousSimpleFoam - - -# [postChannel] -unset -f _of_postChannel 2>/dev/null -_of_postChannel() { - _of_complete_ "$@" \ - "-case -time" \ - "-constant -latestTime -newTimes -noFunctionObjects -noZero -srcDoc -doc -help" -} -complete -o filenames -F _of_postChannel postChannel - - -# [postProcess] -unset -f _of_postProcess 2>/dev/null -_of_postProcess() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -field -fields -func -funcs -region -roots -time" \ - "-constant -latestTime -list -newTimes -noFunctionObjects -noZero -parallel -profiling -srcDoc -doc -help" -} -complete -o filenames -F _of_postProcess postProcess - - -# [potentialFoam] -unset -f _of_potentialFoam 2>/dev/null -_of_potentialFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -pName -roots" \ - "-initialiseUBCs -noFunctionObjects -parallel -withFunctionObjects -writePhi -writep -srcDoc -doc -help" -} -complete -o filenames -F _of_potentialFoam potentialFoam - - -# [potentialFreeSurfaceDyMFoam] -unset -f _of_potentialFreeSurfaceDyMFoam 2>/dev/null -_of_potentialFreeSurfaceDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_potentialFreeSurfaceDyMFoam potentialFreeSurfaceDyMFoam - - -# [potentialFreeSurfaceFoam] -unset -f _of_potentialFreeSurfaceFoam 2>/dev/null -_of_potentialFreeSurfaceFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_potentialFreeSurfaceFoam potentialFreeSurfaceFoam - - -# [reactingFoam] -unset -f _of_reactingFoam 2>/dev/null -_of_reactingFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_reactingFoam reactingFoam - - -# [reactingMultiphaseEulerFoam] -unset -f _of_reactingMultiphaseEulerFoam 2>/dev/null -_of_reactingMultiphaseEulerFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_reactingMultiphaseEulerFoam reactingMultiphaseEulerFoam - - -# [reactingParcelFilmFoam] -unset -f _of_reactingParcelFilmFoam 2>/dev/null -_of_reactingParcelFilmFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_reactingParcelFilmFoam reactingParcelFilmFoam - - -# [reactingParcelFoam] -unset -f _of_reactingParcelFoam 2>/dev/null -_of_reactingParcelFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_reactingParcelFoam reactingParcelFoam - - -# [reactingTwoPhaseEulerFoam] -unset -f _of_reactingTwoPhaseEulerFoam 2>/dev/null -_of_reactingTwoPhaseEulerFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_reactingTwoPhaseEulerFoam reactingTwoPhaseEulerFoam - - -# [reconstructPar] -unset -f _of_reconstructPar 2>/dev/null -_of_reconstructPar() { - _of_complete_ "$@" \ - "-case -fields -lagrangianFields -region -time" \ - "-allRegions -constant -latestTime -newTimes -noFields -noFunctionObjects -noLagrangian -noSets -noZero -withZero -srcDoc -doc -help" -} -complete -o filenames -F _of_reconstructPar reconstructPar - - -# [reconstructParMesh] -unset -f _of_reconstructParMesh 2>/dev/null -_of_reconstructParMesh() { - _of_complete_ "$@" \ - "-case -mergeTol -region -time" \ - "-cellDist -constant -fullMatch -latestTime -newTimes -noFunctionObjects -noZero -withZero -srcDoc -doc -help" -} -complete -o filenames -F _of_reconstructParMesh reconstructParMesh - - -# [redistributePar] -unset -f _of_redistributePar 2>/dev/null -_of_redistributePar() { - _of_complete_ "$@" \ - "-case -decomposeParDict -mergeTol -region -roots -time" \ - "-cellDist -constant -decompose -latestTime -newTimes -noFunctionObjects -noZero -overwrite -parallel -reconstruct -withZero -srcDoc -doc -help" -} -complete -o filenames -F _of_redistributePar redistributePar - - -# [refineHexMesh] -unset -f _of_refineHexMesh 2>/dev/null -_of_refineHexMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots" \ - "-minSet -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_refineHexMesh refineHexMesh - - -# [refinementLevel] -unset -f _of_refinementLevel 2>/dev/null -_of_refinementLevel() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -readLevel -srcDoc -doc -help" -} -complete -o filenames -F _of_refinementLevel refinementLevel - - -# [refineMesh] -unset -f _of_refineMesh 2>/dev/null -_of_refineMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -region -roots" \ - "-all -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_refineMesh refineMesh - - -# [refineWallLayer] -unset -f _of_refineWallLayer 2>/dev/null -_of_refineWallLayer() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots -useSet" \ - "-noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_refineWallLayer refineWallLayer - - -# [removeFaces] -unset -f _of_removeFaces 2>/dev/null -_of_removeFaces() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_removeFaces removeFaces - - -# [renumberMesh] -unset -f _of_renumberMesh 2>/dev/null -_of_renumberMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -region -roots -time" \ - "-constant -frontWidth -latestTime -noFunctionObjects -noZero -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_renumberMesh renumberMesh - - -# [rhoCentralDyMFoam] -unset -f _of_rhoCentralDyMFoam 2>/dev/null -_of_rhoCentralDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_rhoCentralDyMFoam rhoCentralDyMFoam - - -# [rhoCentralFoam] -unset -f _of_rhoCentralFoam 2>/dev/null -_of_rhoCentralFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_rhoCentralFoam rhoCentralFoam - - -# [rhoPimpleAdiabaticFoam] -unset -f _of_rhoPimpleAdiabaticFoam 2>/dev/null -_of_rhoPimpleAdiabaticFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_rhoPimpleAdiabaticFoam rhoPimpleAdiabaticFoam - - -# [rhoPimpleDyMFoam] -unset -f _of_rhoPimpleDyMFoam 2>/dev/null -_of_rhoPimpleDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_rhoPimpleDyMFoam rhoPimpleDyMFoam - - -# [rhoPimpleFoam] -unset -f _of_rhoPimpleFoam 2>/dev/null -_of_rhoPimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_rhoPimpleFoam rhoPimpleFoam - - -# [rhoPorousSimpleFoam] -unset -f _of_rhoPorousSimpleFoam 2>/dev/null -_of_rhoPorousSimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_rhoPorousSimpleFoam rhoPorousSimpleFoam - - -# [rhoReactingBuoyantFoam] -unset -f _of_rhoReactingBuoyantFoam 2>/dev/null -_of_rhoReactingBuoyantFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_rhoReactingBuoyantFoam rhoReactingBuoyantFoam - - -# [rhoReactingFoam] -unset -f _of_rhoReactingFoam 2>/dev/null -_of_rhoReactingFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_rhoReactingFoam rhoReactingFoam - - -# [rhoSimpleFoam] -unset -f _of_rhoSimpleFoam 2>/dev/null -_of_rhoSimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_rhoSimpleFoam rhoSimpleFoam - - -# [rotateMesh] -unset -f _of_rotateMesh 2>/dev/null -_of_rotateMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots -time" \ - "-constant -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_rotateMesh rotateMesh - - -# [scalarTransportFoam] -unset -f _of_scalarTransportFoam 2>/dev/null -_of_scalarTransportFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_scalarTransportFoam scalarTransportFoam - - -# [selectCells] -unset -f _of_selectCells 2>/dev/null -_of_selectCells() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_selectCells selectCells - - -# [setAlphaField] -unset -f _of_setAlphaField 2>/dev/null -_of_setAlphaField() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_setAlphaField setAlphaField - - -# [setFields] -unset -f _of_setFields 2>/dev/null -_of_setFields() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -region -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_setFields setFields - - -# [setSet] -unset -f _of_setSet 2>/dev/null -_of_setSet() { - _of_complete_ "$@" \ - "-batch -case -decomposeParDict -region -roots -time" \ - "-constant -latestTime -loop -newTimes -noFunctionObjects -noSync -noVTK -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_setSet setSet - - -# [setsToZones] -unset -f _of_setsToZones 2>/dev/null -_of_setsToZones() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots -time" \ - "-constant -latestTime -newTimes -noFlipMap -noFunctionObjects -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_setsToZones setsToZones - - -# [shallowWaterFoam] -unset -f _of_shallowWaterFoam 2>/dev/null -_of_shallowWaterFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_shallowWaterFoam shallowWaterFoam - - -# [simpleCoalParcelFoam] -unset -f _of_simpleCoalParcelFoam 2>/dev/null -_of_simpleCoalParcelFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_simpleCoalParcelFoam simpleCoalParcelFoam - - -# [simpleFoam] -unset -f _of_simpleFoam 2>/dev/null -_of_simpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_simpleFoam simpleFoam - - -# [simpleReactingParcelFoam] -unset -f _of_simpleReactingParcelFoam 2>/dev/null -_of_simpleReactingParcelFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_simpleReactingParcelFoam simpleReactingParcelFoam - - -# [singleCellMesh] -unset -f _of_singleCellMesh 2>/dev/null -_of_singleCellMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots -time" \ - "-constant -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_singleCellMesh singleCellMesh - - -# [smapToFoam] -unset -f _of_smapToFoam 2>/dev/null -_of_smapToFoam() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_smapToFoam smapToFoam - - -# [snappyHexMesh] -unset -f _of_snappyHexMesh 2>/dev/null -_of_snappyHexMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -outFile -patches -region -roots -surfaceSimplify" \ - "-checkGeometry -noFunctionObjects -overwrite -parallel -profiling -srcDoc -doc -help" -} -complete -o filenames -F _of_snappyHexMesh snappyHexMesh - - -# [snappyRefineMesh] -unset -f _of_snappyRefineMesh 2>/dev/null -_of_snappyRefineMesh() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_snappyRefineMesh snappyRefineMesh - - -# [solidDisplacementFoam] -unset -f _of_solidDisplacementFoam 2>/dev/null -_of_solidDisplacementFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_solidDisplacementFoam solidDisplacementFoam - - -# [solidEquilibriumDisplacementFoam] -unset -f _of_solidEquilibriumDisplacementFoam 2>/dev/null -_of_solidEquilibriumDisplacementFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_solidEquilibriumDisplacementFoam solidEquilibriumDisplacementFoam - - -# [sonicDyMFoam] -unset -f _of_sonicDyMFoam 2>/dev/null -_of_sonicDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_sonicDyMFoam sonicDyMFoam - - -# [sonicFoam] -unset -f _of_sonicFoam 2>/dev/null -_of_sonicFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_sonicFoam sonicFoam - - -# [sonicLiquidFoam] -unset -f _of_sonicLiquidFoam 2>/dev/null -_of_sonicLiquidFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_sonicLiquidFoam sonicLiquidFoam - - -# [splitCells] -unset -f _of_splitCells 2>/dev/null -_of_splitCells() { - _of_complete_ "$@" \ - "-case -set -tol" \ - "-geometry -noFunctionObjects -overwrite -srcDoc -doc -help" -} -complete -o filenames -F _of_splitCells splitCells - - -# [splitMesh] -unset -f _of_splitMesh 2>/dev/null -_of_splitMesh() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -overwrite -srcDoc -doc -help" -} -complete -o filenames -F _of_splitMesh splitMesh - - -# [splitMeshRegions] -unset -f _of_splitMeshRegions 2>/dev/null -_of_splitMeshRegions() { - _of_complete_ "$@" \ - "-blockedFaces -case -cellZonesFileOnly -decomposeParDict -insidePoint -region -roots" \ - "-cellZones -cellZonesOnly -detectOnly -largestOnly -makeCellZones -noFunctionObjects -overwrite -parallel -prefixRegion -sloppyCellZones -useFaceZones -srcDoc -doc -help" -} -complete -o filenames -F _of_splitMeshRegions splitMeshRegions - - -# [sprayDyMFoam] -unset -f _of_sprayDyMFoam 2>/dev/null -_of_sprayDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_sprayDyMFoam sprayDyMFoam - - -# [sprayEngineFoam] -unset -f _of_sprayEngineFoam 2>/dev/null -_of_sprayEngineFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_sprayEngineFoam sprayEngineFoam - - -# [sprayFoam] -unset -f _of_sprayFoam 2>/dev/null -_of_sprayFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_sprayFoam sprayFoam - - -# [SRFPimpleFoam] -unset -f _of_SRFPimpleFoam 2>/dev/null -_of_SRFPimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_SRFPimpleFoam SRFPimpleFoam - - -# [SRFSimpleFoam] -unset -f _of_SRFSimpleFoam 2>/dev/null -_of_SRFSimpleFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_SRFSimpleFoam SRFSimpleFoam - - -# [star4ToFoam] -unset -f _of_star4ToFoam 2>/dev/null -_of_star4ToFoam() { - _of_complete_ "$@" \ - "-case -scale" \ - "-ascii -noFunctionObjects -solids -srcDoc -doc -help" -} -complete -o filenames -F _of_star4ToFoam star4ToFoam - - -# [steadyParticleTracks] -unset -f _of_steadyParticleTracks 2>/dev/null -_of_steadyParticleTracks() { - _of_complete_ "$@" \ - "-case -dict -region -time" \ - "-constant -latestTime -newTimes -noFunctionObjects -noZero -srcDoc -doc -help" -} -complete -o filenames -F _of_steadyParticleTracks steadyParticleTracks - - -# [stitchMesh] -unset -f _of_stitchMesh 2>/dev/null -_of_stitchMesh() { - _of_complete_ "$@" \ - "-case -region -toleranceDict" \ - "-noFunctionObjects -overwrite -partial -perfect -srcDoc -doc -help" -} -complete -o filenames -F _of_stitchMesh stitchMesh - - -# [subsetMesh] -unset -f _of_subsetMesh 2>/dev/null -_of_subsetMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -patch -patches -region -resultTime -roots" \ - "-noFunctionObjects -overwrite -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_subsetMesh subsetMesh - - -# [surfaceAdd] -unset -f _of_surfaceAdd 2>/dev/null -_of_surfaceAdd() { - _of_complete_ "$@" \ - "-case -points" \ - "-mergeRegions -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceAdd surfaceAdd - - -# [surfaceBooleanFeatures] -unset -f _of_surfaceBooleanFeatures 2>/dev/null -_of_surfaceBooleanFeatures() { - _of_complete_ "$@" \ - "-case -trim" \ - "-invertedSpace -noFunctionObjects -perturb -surf1Baffle -surf2Baffle -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceBooleanFeatures surfaceBooleanFeatures - - -# [surfaceCheck] -unset -f _of_surfaceCheck 2>/dev/null -_of_surfaceCheck() { - _of_complete_ "$@" \ - "-case -outputThreshold" \ - "-blockMesh -checkSelfIntersection -noFunctionObjects -splitNonManifold -verbose -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceCheck surfaceCheck - - -# [surfaceClean] -unset -f _of_surfaceClean 2>/dev/null -_of_surfaceClean() { - _of_complete_ "$@" \ - "-case" \ - "-noClean -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceClean surfaceClean - - -# [surfaceCoarsen] -unset -f _of_surfaceCoarsen 2>/dev/null -_of_surfaceCoarsen() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceCoarsen surfaceCoarsen - - -# [surfaceConvert] -unset -f _of_surfaceConvert 2>/dev/null -_of_surfaceConvert() { - _of_complete_ "$@" \ - "-case -scale -writePrecision" \ - "-clean -group -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceConvert surfaceConvert - - -# [surfaceFeatureConvert] -unset -f _of_surfaceFeatureConvert 2>/dev/null -_of_surfaceFeatureConvert() { - _of_complete_ "$@" \ - "-case -scale" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceFeatureConvert surfaceFeatureConvert - - -# [surfaceFeatureExtract] -unset -f _of_surfaceFeatureExtract 2>/dev/null -_of_surfaceFeatureExtract() { - _of_complete_ "$@" \ - "-case -dict" \ - "-srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceFeatureExtract surfaceFeatureExtract - - -# [surfaceFind] -unset -f _of_surfaceFind 2>/dev/null -_of_surfaceFind() { - _of_complete_ "$@" \ - "-case -x -y -z" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceFind surfaceFind - - -# [surfaceHookUp] -unset -f _of_surfaceHookUp 2>/dev/null -_of_surfaceHookUp() { - _of_complete_ "$@" \ - "-case -dict" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceHookUp surfaceHookUp - - -# [surfaceInertia] -unset -f _of_surfaceInertia 2>/dev/null -_of_surfaceInertia() { - _of_complete_ "$@" \ - "-case -density -referencePoint" \ - "-noFunctionObjects -shellProperties -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceInertia surfaceInertia - - -# [surfaceInflate] -unset -f _of_surfaceInflate 2>/dev/null -_of_surfaceInflate() { - _of_complete_ "$@" \ - "-case -featureAngle -nSmooth" \ - "-checkSelfIntersection -debug -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceInflate surfaceInflate - - -# [surfaceLambdaMuSmooth] -unset -f _of_surfaceLambdaMuSmooth 2>/dev/null -_of_surfaceLambdaMuSmooth() { - _of_complete_ "$@" \ - "-featureFile" \ - "-srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceLambdaMuSmooth surfaceLambdaMuSmooth - - -# [surfaceMeshConvert] -unset -f _of_surfaceMeshConvert 2>/dev/null -_of_surfaceMeshConvert() { - _of_complete_ "$@" \ - "-case -dict -from -scaleIn -scaleOut -to" \ - "-clean -noFunctionObjects -tri -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceMeshConvert surfaceMeshConvert - - -# [surfaceMeshConvertTesting] -unset -f _of_surfaceMeshConvertTesting 2>/dev/null -_of_surfaceMeshConvertTesting() { - _of_complete_ "$@" \ - "-case -scale" \ - "-clean -noFunctionObjects -orient -stdout -surfMesh -testModify -triFace -triSurface -unsorted -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceMeshConvertTesting surfaceMeshConvertTesting - - -# [surfaceMeshExport] -unset -f _of_surfaceMeshExport 2>/dev/null -_of_surfaceMeshExport() { - _of_complete_ "$@" \ - "-case -dict -from -name -scaleIn -scaleOut -to" \ - "-clean -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceMeshExport surfaceMeshExport - - -# [surfaceMeshImport] -unset -f _of_surfaceMeshImport 2>/dev/null -_of_surfaceMeshImport() { - _of_complete_ "$@" \ - "-case -dict -from -name -scaleIn -scaleOut -to" \ - "-clean -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceMeshImport surfaceMeshImport - - -# [surfaceMeshInfo] -unset -f _of_surfaceMeshInfo 2>/dev/null -_of_surfaceMeshInfo() { - _of_complete_ "$@" \ - "-case -scale" \ - "-areas -noFunctionObjects -xml -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceMeshInfo surfaceMeshInfo - - -# [surfaceMeshTriangulate] -unset -f _of_surfaceMeshTriangulate 2>/dev/null -_of_surfaceMeshTriangulate() { - _of_complete_ "$@" \ - "-case -decomposeParDict -faceZones -patches -region -roots -time" \ - "-constant -excludeProcPatches -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceMeshTriangulate surfaceMeshTriangulate - - -# [surfaceOrient] -unset -f _of_surfaceOrient 2>/dev/null -_of_surfaceOrient() { - _of_complete_ "$@" \ - "-case" \ - "-inside -noFunctionObjects -usePierceTest -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceOrient surfaceOrient - - -# [surfacePatch] -unset -f _of_surfacePatch 2>/dev/null -_of_surfacePatch() { - _of_complete_ "$@" \ - "-case -dict" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfacePatch surfacePatch - - -# [surfacePointMerge] -unset -f _of_surfacePointMerge 2>/dev/null -_of_surfacePointMerge() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfacePointMerge surfacePointMerge - - -# [surfaceRedistributePar] -unset -f _of_surfaceRedistributePar 2>/dev/null -_of_surfaceRedistributePar() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-keepNonMapped -noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceRedistributePar surfaceRedistributePar - - -# [surfaceRefineRedGreen] -unset -f _of_surfaceRefineRedGreen 2>/dev/null -_of_surfaceRefineRedGreen() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceRefineRedGreen surfaceRefineRedGreen - - -# [surfaceSplitByPatch] -unset -f _of_surfaceSplitByPatch 2>/dev/null -_of_surfaceSplitByPatch() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceSplitByPatch surfaceSplitByPatch - - -# [surfaceSplitByTopology] -unset -f _of_surfaceSplitByTopology 2>/dev/null -_of_surfaceSplitByTopology() { - _of_complete_ "$@" \ - "" \ - "-srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceSplitByTopology surfaceSplitByTopology - - -# [surfaceSplitNonManifolds] -unset -f _of_surfaceSplitNonManifolds 2>/dev/null -_of_surfaceSplitNonManifolds() { - _of_complete_ "$@" \ - "-case" \ - "-debug -noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceSplitNonManifolds surfaceSplitNonManifolds - - -# [surfaceSubset] -unset -f _of_surfaceSubset 2>/dev/null -_of_surfaceSubset() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceSubset surfaceSubset - - -# [surfaceToPatch] -unset -f _of_surfaceToPatch 2>/dev/null -_of_surfaceToPatch() { - _of_complete_ "$@" \ - "-case -faceSet -tol" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceToPatch surfaceToPatch - - -# [surfaceTransformPoints] -unset -f _of_surfaceTransformPoints 2>/dev/null -_of_surfaceTransformPoints() { - _of_complete_ "$@" \ - "-case -rollPitchYaw -rotate -scale -translate -yawPitchRoll" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_surfaceTransformPoints surfaceTransformPoints - - -# [temporalInterpolate] -unset -f _of_temporalInterpolate 2>/dev/null -_of_temporalInterpolate() { - _of_complete_ "$@" \ - "-case -decomposeParDict -divisions -fields -interpolationType -region -roots -time" \ - "-constant -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_temporalInterpolate temporalInterpolate - - -# [tetgenToFoam] -unset -f _of_tetgenToFoam 2>/dev/null -_of_tetgenToFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFaceFile -noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_tetgenToFoam tetgenToFoam - - -# [thermoFoam] -unset -f _of_thermoFoam 2>/dev/null -_of_thermoFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_thermoFoam thermoFoam - - -# [topoSet] -unset -f _of_topoSet 2>/dev/null -_of_topoSet() { - _of_complete_ "$@" \ - "-case -decomposeParDict -dict -region -roots -time" \ - "-constant -latestTime -newTimes -noFunctionObjects -noSync -noZero -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_topoSet topoSet - - -# [transformPoints] -unset -f _of_transformPoints 2>/dev/null -_of_transformPoints() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -rollPitchYaw -roots -rotate -scale -translate -yawPitchRoll" \ - "-noFunctionObjects -parallel -rotateFields -srcDoc -doc -help" -} -complete -o filenames -F _of_transformPoints transformPoints - - -# [twoLiquidMixingFoam] -unset -f _of_twoLiquidMixingFoam 2>/dev/null -_of_twoLiquidMixingFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_twoLiquidMixingFoam twoLiquidMixingFoam - - -# [twoPhaseEulerFoam] -unset -f _of_twoPhaseEulerFoam 2>/dev/null -_of_twoPhaseEulerFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_twoPhaseEulerFoam twoPhaseEulerFoam - - -# [uncoupledKinematicParcelFoam] -unset -f _of_uncoupledKinematicParcelFoam 2>/dev/null -_of_uncoupledKinematicParcelFoam() { - _of_complete_ "$@" \ - "-case -cloud -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_uncoupledKinematicParcelFoam uncoupledKinematicParcelFoam - - -# [viewFactorsGen] -unset -f _of_viewFactorsGen 2>/dev/null -_of_viewFactorsGen() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_viewFactorsGen viewFactorsGen - - -# [vtkUnstructuredToFoam] -unset -f _of_vtkUnstructuredToFoam 2>/dev/null -_of_vtkUnstructuredToFoam() { - _of_complete_ "$@" \ - "-case" \ - "-noFunctionObjects -srcDoc -doc -help" -} -complete -o filenames -F _of_vtkUnstructuredToFoam vtkUnstructuredToFoam - - -# [wallFunctionTable] -unset -f _of_wallFunctionTable 2>/dev/null -_of_wallFunctionTable() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_wallFunctionTable wallFunctionTable - - -# [writeMeshObj] -unset -f _of_writeMeshObj 2>/dev/null -_of_writeMeshObj() { - _of_complete_ "$@" \ - "-case -cell -cellSet -decomposeParDict -face -faceSet -point -region -roots -time" \ - "-constant -latestTime -newTimes -noFunctionObjects -noZero -parallel -patchEdges -patchFaces -srcDoc -doc -help" -} -complete -o filenames -F _of_writeMeshObj writeMeshObj - - -# [XiDyMFoam] -unset -f _of_XiDyMFoam 2>/dev/null -_of_XiDyMFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_XiDyMFoam XiDyMFoam - - -# [XiFoam] -unset -f _of_XiFoam 2>/dev/null -_of_XiFoam() { - _of_complete_ "$@" \ - "-case -decomposeParDict -roots" \ - "-noFunctionObjects -parallel -postProcess -srcDoc -doc -help" -} -complete -o filenames -F _of_XiFoam XiFoam - - -# [zipUpMesh] -unset -f _of_zipUpMesh 2>/dev/null -_of_zipUpMesh() { - _of_complete_ "$@" \ - "-case -decomposeParDict -region -roots" \ - "-noFunctionObjects -parallel -srcDoc -doc -help" -} -complete -o filenames -F _of_zipUpMesh zipUpMesh +#------------------------------------------------------------------------------ +# Intermediate variables (do as last for a clean exit code) +unset cleaned foamOldDirs #------------------------------------------------------------------------------ diff --git a/etc/config.sh/completion_cache b/etc/config.sh/completion_cache new file mode 100644 index 0000000000000000000000000000000000000000..942dbe4e466966b337c7d37a8f8068bacdcddef1 --- /dev/null +++ b/etc/config.sh/completion_cache @@ -0,0 +1,259 @@ +#----------------------------------*-sh-*-------------------------------------- +# Cached options for bash completion of OpenFOAM applications. +# These are the values expected by the '_of_complete_' function +# +# Recreate with "foamCreateCompletionCache" + +# Global associative array (cached options for OpenFOAM applications) +declare -gA _of_complete_cache_; + +# Clear existing cache. +_of_complete_cache_=() + +#------------------------------------------------------------------------------ +_of_complete_cache_[adiabaticFlameT]="-case | -srcDoc -doc -help" +_of_complete_cache_[adjointShapeOptimizationFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[ansysToFoam]="-case -scale | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[applyBoundaryLayer]="-case -decomposeParDict -region -roots -ybl | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[attachMesh]="-case | -noFunctionObjects -overwrite -srcDoc -doc -help" +_of_complete_cache_[autoPatch]="-case | -noFunctionObjects -overwrite -srcDoc -doc -help" +_of_complete_cache_[blockMesh]="-case -dict -region | -blockTopology -noClean -noFunctionObjects -sets -srcDoc -doc -help" +_of_complete_cache_[boundaryFoam]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[boxTurb]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[buoyantBoussinesqPimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[buoyantBoussinesqSimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[buoyantPimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[buoyantSimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[cavitatingDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[cavitatingFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[cfx4ToFoam]="-case -scale | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[changeDictionary]="-case -decomposeParDict -dict -instance -region -roots -subDict -time | -constant -disablePatchGroups -enableFunctionEntries -latestTime -literalRE -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[checkMesh]="-case -decomposeParDict -region -roots -time -writeFields -writeSets | -allGeometry -allTopology -constant -latestTime -meshQuality -newTimes -noFunctionObjects -noTopology -noZero -parallel -writeAllFields -srcDoc -doc -help" +_of_complete_cache_[chemFoam]="-case | -noFunctionObjects -postProcess -srcDoc -doc -help" +_of_complete_cache_[chemkinToFoam]="-case | -newFormat -srcDoc -doc -help" +_of_complete_cache_[chtMultiRegionFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[chtMultiRegionSimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[coalChemistryFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[coldEngineFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[collapseEdges]="-case -collapseFaceSet -decomposeParDict -dict -roots -time | -collapseFaces -constant -latestTime -newTimes -noFunctionObjects -noZero -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[combinePatchFaces]="-case -concaveAngle -decomposeParDict -roots | -meshQuality -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[compressibleInterDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[compressibleInterFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[compressibleMultiphaseInterFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[createBaffles]="-case -decomposeParDict -dict -region -roots | -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[createExternalCoupledPatchGeometry]="-case -commsDir -decomposeParDict -region -regions -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[createPatch]="-case -decomposeParDict -dict -region -roots | -noFunctionObjects -overwrite -parallel -writeObj -srcDoc -doc -help" +_of_complete_cache_[createZeroDirectory]="-case -decomposeParDict -roots -templateDir | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[datToFoam]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[decomposePar]="-case -decomposeParDict -region -time | -allRegions -cellDist -constant -copyUniform -copyZero -fields -force -ifRequired -latestTime -newTimes -noFunctionObjects -noSets -noZero -srcDoc -doc -help" +_of_complete_cache_[deformedGeom]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[dnsFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[DPMDyMFoam]="-case -cloudName -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[DPMFoam]="-case -cloud -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[driftFluxFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[dsmcFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[dsmcInitialise]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[electrostaticFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[engineCompRatio]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[engineFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[engineSwirl]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[equilibriumCO]="-case | -srcDoc -doc -help" +_of_complete_cache_[equilibriumFlameT]="-case | -srcDoc -doc -help" +_of_complete_cache_[extrude2DMesh]="-case -decomposeParDict -roots | -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[extrudeMesh]="-case -decomposeParDict -region -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[extrudeToRegionMesh]="-case -decomposeParDict -dict -region -roots | -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[faceAgglomerate]="-case -decomposeParDict -dict -region -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[financialFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[fireFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[fireToFoam]="-case -scale | -ascii -check -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[flattenMesh]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[fluent3DMeshToFoam]="-case -ignoreCellGroups -ignoreFaceGroups -scale | -cubit -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[fluentMeshToFoam]="-case -scale | -noFunctionObjects -writeSets -writeZones -srcDoc -doc -help" +_of_complete_cache_[foamDataToFluent]="-case -time | -latestTime -newTimes -noFunctionObjects -noZero -srcDoc -doc -help" +_of_complete_cache_[foamDictionary]="-add -case -decomposeParDict -diff -entry -roots -set | -disableFunctionEntries -expand -includes -keywords -noFunctionObjects -parallel -remove -value -srcDoc -doc -help" +_of_complete_cache_[foamFormatConvert]="-case -decomposeParDict -region -roots -time | -constant -enableFunctionEntries -latestTime -newTimes -noConstant -noFunctionObjects -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[foamHelp]="-case -decomposeParDict -region -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[foamList]="-case -scalarBCs -vectorBCs | -compressibleTurbulenceModels -functionObjects -fvOptions -incompressibleTurbulenceModels -noFunctionObjects -registeredSwitches -switches -unset -srcDoc -doc -help" +_of_complete_cache_[foamListTimes]="-case -time | -constant -latestTime -newTimes -noFunctionObjects -noZero -processor -rm -withZero -srcDoc -doc -help" +_of_complete_cache_[foamMeshToFluent]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[foamToEnsight]="-case -cellZone -decomposeParDict -faceZones -fields -name -patches -region -roots -time -width | -ascii -constant -latestTime -newTimes -noFunctionObjects -noLagrangian -noPatches -noZero -nodeValues -parallel -srcDoc -doc -help" +_of_complete_cache_[foamToEnsightParts]="-case -index -name -time -width | -ascii -constant -latestTime -newTimes -noFunctionObjects -noLagrangian -noMesh -noZero -srcDoc -doc -help" +_of_complete_cache_[foamToFireMesh]="-case -scale -time | -ascii -constant -latestTime -newTimes -noFunctionObjects -noZero -srcDoc -doc -help" +_of_complete_cache_[foamToGMV]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[foamToStarMesh]="-case -scale -time | -constant -latestTime -newTimes -noBnd -noFunctionObjects -noZero -srcDoc -doc -help" +_of_complete_cache_[foamToSurface]="-case -scale -time | -constant -latestTime -newTimes -noFunctionObjects -noZero -tri -srcDoc -doc -help" +_of_complete_cache_[foamToTecplot360]="-case -cellSet -decomposeParDict -excludePatches -faceSet -fields -region -roots -time | -constant -latestTime -nearCellValue -newTimes -noFaceZones -noFunctionObjects -noInternal -noPointValues -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[foamToTetDualMesh]="-case -decomposeParDict -roots -time | -constant -latestTime -noFunctionObjects -noZero -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[foamToVTK]="-case -cellSet -decomposeParDict -excludePatches -faceSet -fields -name -pointSet -region -roots -time | -allPatches -ascii -constant -latestTime -nearCellValue -newTimes -noFaceZones -noFunctionObjects -noInternal -noLagrangian -noLinks -noPointValues -noZero -parallel -poly -surfaceFields -useTimeName -xml -srcDoc -doc -help" +_of_complete_cache_[foamUpgradeCyclics]="-case -decomposeParDict -region -roots -time | -constant -enableFunctionEntries -latestTime -newTimes -noFunctionObjects -noZero -parallel -test -srcDoc -doc -help" +_of_complete_cache_[foamyHexMesh]="-case -decomposeParDict -roots | -checkGeometry -conformationOnly -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[foamyQuadMesh]="-case -pointsFile | -noFunctionObjects -overwrite -srcDoc -doc -help" +_of_complete_cache_[gambitToFoam]="-case -scale | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[gmshToFoam]="-case -region | -keepOrientation -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[icoFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[icoUncoupledKinematicParcelDyMFoam]="-case -cloud -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[icoUncoupledKinematicParcelFoam]="-case -cloud -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[ideasUnvToFoam]="-case | -dump -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[insideCells]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[interCondensatingEvaporatingFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[interDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[interFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[interIsoFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[interMixingFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[interPhaseChangeDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[interPhaseChangeFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[kivaToFoam]="-case -file -version -zHeadMin | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[laplacianFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[lumpedPointForces]="-case -decomposeParDict -region -roots -time | -constant -latestTime -newTimes -noZero -parallel -vtk -srcDoc -doc -help" +_of_complete_cache_[lumpedPointMovement]="-case -max -scale -span | -removeLock -slave -srcDoc -doc -help" +_of_complete_cache_[lumpedPointZones]="-case -region | -verbose -srcDoc -doc -help" +_of_complete_cache_[magneticFoam]="-case -decomposeParDict -roots | -noB -noFunctionObjects -noH -parallel -srcDoc -doc -help" +_of_complete_cache_[mapFields]="-case -mapMethod -sourceDecomposeParDict -sourceRegion -sourceTime -targetDecomposeParDict -targetRegion | -consistent -noFunctionObjects -parallelSource -parallelTarget -subtract -srcDoc -doc -help" +_of_complete_cache_[mapFieldsPar]="-case -decomposeParDict -fields -mapMethod -patchMapMethod -roots -sourceRegion -sourceTime -targetRegion | -consistent -noFunctionObjects -noLagrangian -parallel -subtract -srcDoc -doc -help" +_of_complete_cache_[mdEquilibrationFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[mdFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[mdInitialise]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[mergeMeshes]="-addRegion -case -decomposeParDict -masterRegion -roots | -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[mergeOrSplitBaffles]="-case -decomposeParDict -dict -region -roots | -detectOnly -noFunctionObjects -overwrite -parallel -split -srcDoc -doc -help" +_of_complete_cache_[mhdFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[mirrorMesh]="-case -decomposeParDict -roots | -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[mixtureAdiabaticFlameT]="-case | -srcDoc -doc -help" +_of_complete_cache_[modifyMesh]="-case -decomposeParDict -roots | -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[moveDynamicMesh]="-case -decomposeParDict -region -roots | -checkAMI -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[moveEngineMesh]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[moveMesh]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[MPPICDyMFoam]="-case -cloudName -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[MPPICFoam]="-case -cloud -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[MPPICInterFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[mshToFoam]="-case | -hex -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[multiphaseEulerFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[multiphaseInterDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[multiphaseInterFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[netgenNeutralToFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[noise]="-case -decomposeParDict -dict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[nonNewtonianIcoFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[objToVTK]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[orientFaceZone]="-case -decomposeParDict -region -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[overInterDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[overLaplacianDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[overPimpleDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[overRhoPimpleDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[overSimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[particleTracks]="-case -decomposeParDict -region -roots -time | -constant -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[patchSummary]="-case -decomposeParDict -region -roots -time | -constant -expand -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[pdfPlot]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[PDRFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[PDRMesh]="-case -decomposeParDict -roots | -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[pimpleDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[pimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[pisoFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[plot3dToFoam]="-case -scale | -noBlank -noFunctionObjects -singleBlock -srcDoc -doc -help" +_of_complete_cache_[polyDualMesh]="-case | -concaveMultiCells -doNotPreserveFaceZones -noFunctionObjects -overwrite -splitAllFaces -srcDoc -doc -help" +_of_complete_cache_[porousSimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[postChannel]="-case -time | -constant -latestTime -newTimes -noFunctionObjects -noZero -srcDoc -doc -help" +_of_complete_cache_[postProcess]="-case -decomposeParDict -dict -field -fields -func -funcs -region -roots -time | -constant -latestTime -list -newTimes -noFunctionObjects -noZero -parallel -profiling -srcDoc -doc -help" +_of_complete_cache_[potentialFoam]="-case -decomposeParDict -pName -roots | -initialiseUBCs -noFunctionObjects -parallel -withFunctionObjects -writePhi -writep -srcDoc -doc -help" +_of_complete_cache_[potentialFreeSurfaceDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[potentialFreeSurfaceFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[reactingFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[reactingMultiphaseEulerFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[reactingParcelFilmFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[reactingParcelFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[reactingTwoPhaseEulerFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[reconstructPar]="-case -fields -lagrangianFields -region -time | -allRegions -constant -latestTime -newTimes -noFields -noFunctionObjects -noLagrangian -noSets -noZero -withZero -srcDoc -doc -help" +_of_complete_cache_[reconstructParMesh]="-case -mergeTol -region -time | -cellDist -constant -fullMatch -latestTime -newTimes -noFunctionObjects -noZero -withZero -srcDoc -doc -help" +_of_complete_cache_[redistributePar]="-case -decomposeParDict -mergeTol -region -roots -time | -cellDist -constant -decompose -latestTime -newTimes -noFunctionObjects -noZero -overwrite -parallel -reconstruct -withZero -srcDoc -doc -help" +_of_complete_cache_[refineHexMesh]="-case -decomposeParDict -region -roots | -minSet -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[refinementLevel]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -readLevel -srcDoc -doc -help" +_of_complete_cache_[refineMesh]="-case -decomposeParDict -dict -region -roots | -all -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[refineWallLayer]="-case -decomposeParDict -roots -useSet | -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[removeFaces]="-case -decomposeParDict -roots | -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[renumberMesh]="-case -decomposeParDict -dict -region -roots -time | -constant -frontWidth -latestTime -noFunctionObjects -noZero -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[rhoCentralDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[rhoCentralFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[rhoPimpleAdiabaticFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[rhoPimpleDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[rhoPimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[rhoPorousSimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[rhoReactingBuoyantFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[rhoReactingFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[rhoSimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[rotateMesh]="-case -decomposeParDict -roots -time | -constant -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[scalarTransportFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[selectCells]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[setAlphaField]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[setFields]="-case -decomposeParDict -dict -region -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[setSet]="-batch -case -decomposeParDict -region -roots -time | -constant -latestTime -loop -newTimes -noFunctionObjects -noSync -noVTK -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[setsToZones]="-case -decomposeParDict -region -roots -time | -constant -latestTime -newTimes -noFlipMap -noFunctionObjects -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[shallowWaterFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[simpleCoalParcelFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[simpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[simpleReactingParcelFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[singleCellMesh]="-case -decomposeParDict -roots -time | -constant -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[smapToFoam]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[snappyHexMesh]="-case -decomposeParDict -dict -outFile -patches -region -roots -surfaceSimplify | -checkGeometry -noFunctionObjects -overwrite -parallel -profiling -srcDoc -doc -help" +_of_complete_cache_[snappyRefineMesh]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[solidDisplacementFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[solidEquilibriumDisplacementFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[sonicDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[sonicFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[sonicLiquidFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[splitCells]="-case -set -tol | -geometry -noFunctionObjects -overwrite -srcDoc -doc -help" +_of_complete_cache_[splitMesh]="-case | -noFunctionObjects -overwrite -srcDoc -doc -help" +_of_complete_cache_[splitMeshRegions]="-blockedFaces -case -cellZonesFileOnly -decomposeParDict -insidePoint -region -roots | -cellZones -cellZonesOnly -detectOnly -largestOnly -makeCellZones -noFunctionObjects -overwrite -parallel -prefixRegion -sloppyCellZones -useFaceZones -srcDoc -doc -help" +_of_complete_cache_[sprayDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[sprayEngineFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[sprayFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[SRFPimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[SRFSimpleFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[star4ToFoam]="-case -scale | -ascii -noFunctionObjects -solids -srcDoc -doc -help" +_of_complete_cache_[steadyParticleTracks]="-case -dict -region -time | -constant -latestTime -newTimes -noFunctionObjects -noZero -srcDoc -doc -help" +_of_complete_cache_[stitchMesh]="-case -region -toleranceDict | -noFunctionObjects -overwrite -partial -perfect -srcDoc -doc -help" +_of_complete_cache_[subsetMesh]="-case -decomposeParDict -patch -patches -region -resultTime -roots | -noFunctionObjects -overwrite -parallel -srcDoc -doc -help" +_of_complete_cache_[surfaceAdd]="-case -points | -mergeRegions -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceBooleanFeatures]="-case -trim | -invertedSpace -noFunctionObjects -perturb -surf1Baffle -surf2Baffle -srcDoc -doc -help" +_of_complete_cache_[surfaceCheck]="-case -outputThreshold | -blockMesh -checkSelfIntersection -noFunctionObjects -splitNonManifold -verbose -srcDoc -doc -help" +_of_complete_cache_[surfaceClean]="-case | -noClean -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceCoarsen]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceConvert]="-case -scale -writePrecision | -clean -group -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceFeatureConvert]="-case -scale | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceFeatureExtract]="-case -dict | -srcDoc -doc -help" +_of_complete_cache_[surfaceFind]="-case -x -y -z | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceHookUp]="-case -dict | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceInertia]="-case -density -referencePoint | -noFunctionObjects -shellProperties -srcDoc -doc -help" +_of_complete_cache_[surfaceInflate]="-case -featureAngle -nSmooth | -checkSelfIntersection -debug -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceLambdaMuSmooth]="-featureFile | -srcDoc -doc -help" +_of_complete_cache_[surfaceMeshConvert]="-case -dict -from -scaleIn -scaleOut -to | -clean -noFunctionObjects -tri -srcDoc -doc -help" +_of_complete_cache_[surfaceMeshConvertTesting]="-case -scale | -clean -noFunctionObjects -orient -stdout -surfMesh -testModify -triFace -triSurface -unsorted -srcDoc -doc -help" +_of_complete_cache_[surfaceMeshExport]="-case -dict -from -name -scaleIn -scaleOut -to | -clean -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceMeshImport]="-case -dict -from -name -scaleIn -scaleOut -to | -clean -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceMeshInfo]="-case -scale | -areas -noFunctionObjects -xml -srcDoc -doc -help" +_of_complete_cache_[surfaceMeshTriangulate]="-case -decomposeParDict -faceZones -patches -region -roots -time | -constant -excludeProcPatches -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[surfaceOrient]="-case | -inside -noFunctionObjects -usePierceTest -srcDoc -doc -help" +_of_complete_cache_[surfacePatch]="-case -dict | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfacePointMerge]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceRedistributePar]="-case -decomposeParDict -roots | -keepNonMapped -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[surfaceRefineRedGreen]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceSplitByPatch]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceSplitByTopology]=" | -srcDoc -doc -help" +_of_complete_cache_[surfaceSplitNonManifolds]="-case | -debug -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceSubset]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceToPatch]="-case -faceSet -tol | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[surfaceTransformPoints]="-case -rollPitchYaw -rotate -scale -translate -yawPitchRoll | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[temporalInterpolate]="-case -decomposeParDict -divisions -fields -interpolationType -region -roots -time | -constant -latestTime -newTimes -noFunctionObjects -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[tetgenToFoam]="-case -decomposeParDict -roots | -noFaceFile -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[thermoFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[topoSet]="-case -decomposeParDict -dict -region -roots -time | -constant -latestTime -newTimes -noFunctionObjects -noSync -noZero -parallel -srcDoc -doc -help" +_of_complete_cache_[transformPoints]="-case -decomposeParDict -region -rollPitchYaw -roots -rotate -scale -translate -yawPitchRoll | -noFunctionObjects -parallel -rotateFields -srcDoc -doc -help" +_of_complete_cache_[twoLiquidMixingFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[twoPhaseEulerFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[uncoupledKinematicParcelFoam]="-case -cloud -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[viewFactorsGen]="-case -decomposeParDict -region -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[vtkUnstructuredToFoam]="-case | -noFunctionObjects -srcDoc -doc -help" +_of_complete_cache_[wallFunctionTable]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -srcDoc -doc -help" +_of_complete_cache_[writeMeshObj]="-case -cell -cellSet -decomposeParDict -face -faceSet -point -region -roots -time | -constant -latestTime -newTimes -noFunctionObjects -noZero -parallel -patchEdges -patchFaces -srcDoc -doc -help" +_of_complete_cache_[XiDyMFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[XiFoam]="-case -decomposeParDict -roots | -noFunctionObjects -parallel -postProcess -srcDoc -doc -help" +_of_complete_cache_[zipUpMesh]="-case -decomposeParDict -region -roots | -noFunctionObjects -parallel -srcDoc -doc -help" + +#------------------------------------------------------------------------------ diff --git a/etc/config.sh/unset b/etc/config.sh/unset index 74eff071b64922bc79e10b5339541efccd8806a8..fe8b8f18e10267cf5121e0e22c26c3872ad2185d 100644 --- a/etc/config.sh/unset +++ b/etc/config.sh/unset @@ -181,16 +181,21 @@ unset -f wmRefresh 2>/dev/null unset -f foamVersion 2>/dev/null unset -f foamPV 2>/dev/null -# Cleanup bash completions, which look like this: -# "complete ... -F _of_APPNAME APPNAME -# For economy, obtain list first but also remove the 'of_complete_' backend -foamClean="$(complete 2>/dev/null | sed -n -e 's/complete.*-F _of_.* \(..*\)$/\1/p')" -for cleaned in $foamClean complete_ +# Remove old completions, which look like +# "complete ... -F _of_complete_ APPNAME +# For economy, obtain list first +foamOldDirs="$(complete 2>/dev/null | sed -ne 's/^.*-F _of_.* \(..*\)$/\1/p')" +for cleaned in $foamOldDirs do - unset -f _of_$cleaned 2>/dev/null - complete -r $cleaned 2>/dev/null + complete -r $cleaned 2>/dev/null done +# Completion functions +unset -f foamAddCompletion 2>/dev/null +unset -f _of_complete_ 2>/dev/null + +# Completion cache +unset _of_complete_cache_ #------------------------------------------------------------------------------ # Intermediate variables (do as last for a clean exit code) diff --git a/src/OSspecific/POSIX/cpuInfo/cpuInfo.C b/src/OSspecific/POSIX/cpuInfo/cpuInfo.C index ef71120a7470f026686229799b97760aff551028..6dbd6abf4b26869af931987db27be86f23d1abac 100644 --- a/src/OSspecific/POSIX/cpuInfo/cpuInfo.C +++ b/src/OSspecific/POSIX/cpuInfo/cpuInfo.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2016-2017 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,102 +24,61 @@ License \*---------------------------------------------------------------------------*/ #include "cpuInfo.H" -#include "IFstream.H" #include "IOstreams.H" +#include <fstream> + // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // // file-scope function -template<class T> -inline static void writeEntry -( - Foam::Ostream& os, const Foam::word& key, const T& value -) +// split things like "a key word\t: value information" +// into ("a_key_word", "value information") +// +static bool split(const std::string& line, std::string& key, std::string& val) { - os.writeKeyword(key) << value << Foam::token::END_STATEMENT << '\n'; -} + key.clear(); + val.clear(); + const auto keyLen = line.find_first_of("\t:"); + const auto sep = line.find(':'); -// file-scope function -static bool split(std::string& line, std::string& key, std::string& val) -{ - std::string::size_type sep = line.find(':'); - - if (sep == std::string::npos) + if (keyLen == std::string::npos || sep == std::string::npos) { return false; } - std::string::size_type endKey = line.find_last_not_of("\t:", sep); - std::string::size_type begVal = line.find_first_not_of(" :", sep); + const auto begVal = line.find_first_not_of(" :", sep); - if (endKey == std::string::npos || begVal == std::string::npos) + if (begVal == std::string::npos) { return false; } - ++endKey; - - // replace spaces in key with '_' for ease of use/consistency - for - ( - std::string::iterator iter = line.begin(); - iter != line.end(); - ++iter - ) + + key = line.substr(0, keyLen); + val = line.substr(begVal); + + // Avoid spaces in key - replace with '_' + for (auto iter = key.begin(); iter < key.end(); ++iter) { if (*iter == ' ') { *iter = '_'; } - else if (*iter == ':') - { - break; - } } - key = line.substr(0, endKey); - val = line.substr(begVal); - - // std::cerr<<"key=" << key << " val= " << val << '\n'; + // std::cerr<<"key=<" << key << "> val=<" << val << ">\n"; return true; } -// file-scope function - get int -static inline bool getInt(const std::string& str, int& val) -{ - int i; - if (sscanf(str.c_str(), "%d", &i) == 1) - { - val = i; - return true; - } - else - { - return false; - } -} - -// file-scope function - get float -static inline bool getFlt(const std::string& str, float& val) -{ - float f; - if (sscanf(str.c_str(), "%f", &f) == 1) - { - val = f; - return true; - } - else - { - return false; - } -} - - // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -// parse this type of content: +// Parse the following type of content. +// A TAB separates the keyword from content. Eg, +// +// "cpu cores\t: 6" +// // =========================== // processor : 0 // vendor_id : GenuineIntel @@ -151,14 +110,14 @@ static inline bool getFlt(const std::string& str, float& val) void Foam::cpuInfo::parse() { int ncpu = 0; + std::string line, key, val; - IFstream is("/proc/cpuinfo"); + std::ifstream is("/proc/cpuinfo"); while (is.good()) { - string line, key, value; - is.getLine(line); + std::getline(is, line); - if (!split(line, key, value)) + if (!split(line, key, val)) { continue; } @@ -170,13 +129,13 @@ void Foam::cpuInfo::parse() break; // stop after the first cpu } } - else if (key == "vendor_id") { vendor_id = value; } - else if (key == "model_name") { model_name = value; } - else if (key == "cpu_family") { getInt(value, cpu_family); } - else if (key == "model") { getInt(value, model); } - else if (key == "cpu_MHz") { getFlt(value, cpu_MHz); } - else if (key == "cpu_cores") { getInt(value, cpu_cores); } - else if (key == "siblings") { getInt(value, siblings); } + else if (key == "vendor_id") { vendor_id = val; } + else if (key == "model_name") { model_name = val; } + else if (key == "cpu_family") { cpu_family = std::stoi(val); } + else if (key == "model") { model = std::stoi(val); } + else if (key == "cpu_MHz") { cpu_MHz = std::stof(val); } + else if (key == "cpu_cores") { cpu_cores = std::stoi(val); } + else if (key == "siblings") { siblings = std::stoi(val); } } } @@ -209,31 +168,31 @@ void Foam::cpuInfo::write(Ostream& os) const { if (!vendor_id.empty()) { - writeEntry(os, "vendor_id", vendor_id); + os.writeEntry("vendor_id", vendor_id); } if (!model_name.empty()) { - writeEntry(os, "model_name", model_name); + os.writeEntry("model_name", model_name); } if (cpu_family != -1) { - writeEntry(os, "cpu_family", cpu_family); + os.writeEntry("cpu_family", cpu_family); } if (model != -1) { - writeEntry(os, "model", model); + os.writeEntry("model", model); } if (cpu_MHz > 0) { - writeEntry(os, "cpu_MHz", cpu_MHz); + os.writeEntry("cpu_MHz", cpu_MHz); } if (cpu_cores > 0) { - writeEntry(os, "cpu_cores", cpu_cores); + os.writeEntry("cpu_cores", cpu_cores); } if (siblings > 0) { - writeEntry(os, "siblings", siblings); + os.writeEntry("siblings", siblings); } } diff --git a/src/OSspecific/POSIX/cpuInfo/cpuInfo.H b/src/OSspecific/POSIX/cpuInfo/cpuInfo.H index 6821684f615d56a9e6a9a0f0915d7d5e088eb0a7..721e2f52bae901652dc11e728cf66aad5b45d680 100644 --- a/src/OSspecific/POSIX/cpuInfo/cpuInfo.H +++ b/src/OSspecific/POSIX/cpuInfo/cpuInfo.H @@ -47,7 +47,8 @@ SourceFiles namespace Foam { -// forward declarations + +// Forward declarations class Ostream; /*---------------------------------------------------------------------------*\ @@ -68,6 +69,7 @@ class cpuInfo int siblings; int cpu_cores; + // Private Member Functions //- Parse /proc/cpuinfo @@ -83,7 +85,7 @@ public: // Constructors - //- Construct null + //- Construct and populate with information cpuInfo(); @@ -94,7 +96,7 @@ public: // Member Functions //- Write content as dictionary entries - void write(Ostream&) const; + void write(Ostream& os) const; }; diff --git a/src/OSspecific/POSIX/memInfo/memInfo.C b/src/OSspecific/POSIX/memInfo/memInfo.C index c0ff2dd99bf1586172f43df8789575339c84e018..ab27f706ce38df7da0bebfb800f3fe8d5ddda2be 100644 --- a/src/OSspecific/POSIX/memInfo/memInfo.C +++ b/src/OSspecific/POSIX/memInfo/memInfo.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -24,21 +24,11 @@ License \*---------------------------------------------------------------------------*/ #include "memInfo.H" -#include "IFstream.H" +#include "OSspecific.H" #include "IOstreams.H" -// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // - -// file-scope function -template<class T> -inline static void writeEntry -( - Foam::Ostream& os, const Foam::word& key, const T& value -) -{ - os.writeKeyword(key) << value << Foam::token::END_STATEMENT << '\n'; -} - +#include <fstream> +#include <string> // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -59,34 +49,64 @@ Foam::memInfo::~memInfo() // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // +// +// Parse the following type of content. +// +// =========================== +// VmPeak: 15920 kB +// VmSize: 15916 kB +// VmLck: 0 kB +// VmPin: 0 kB +// VmHWM: 6972 kB +// VmRSS: 6972 kB +// VmLib: 2208 kB +// VmPTE: 52 kB +// VmPMD: 12 kB +// VmSwap: 0 kB const Foam::memInfo& Foam::memInfo::update() { - // reset to invalid values first + // Clear (invalidate) values first peak_ = size_ = rss_ = 0; - IFstream is("/proc/" + name(pid()) + "/status"); + std::string line; + + unsigned nKeys = 0; - while (is.good()) + std::ifstream is("/proc/" + std::to_string(Foam::pid()) + "/status"); + while (is.good() && nKeys < 3) // Stop after getting the known keys { - string line; - is.getLine(line); - char tag[32]; - int value; + std::getline(is, line); + + const auto keyLen = line.find(':'); + if (keyLen == std::string::npos) + { + continue; + } + + // Value is after the ':', but skip any leading whitespace since + // strtoi will do it anyhow + const auto begVal = line.find_first_not_of("\t :", keyLen); + if (begVal == std::string::npos) + { + continue; + } + + const std::string key = line.substr(0, keyLen); - if (sscanf(line.c_str(), "%30s %d", tag, &value) == 2) + if (key == "VmPeak") + { + peak_ = std::stoi(line.substr(begVal)); + ++nKeys; + } + else if (key == "VmSize") { - if (!strcmp(tag, "VmPeak:")) - { - peak_ = value; - } - else if (!strcmp(tag, "VmSize:")) - { - size_ = value; - } - else if (!strcmp(tag, "VmRSS:")) - { - rss_ = value; - } + size_ = std::stoi(line.substr(begVal)); + ++nKeys; + } + else if (key == "VmRSS") + { + rss_ = std::stoi(line.substr(begVal)); + ++nKeys; } } @@ -102,9 +122,9 @@ bool Foam::memInfo::valid() const void Foam::memInfo::write(Ostream& os) const { - writeEntry(os, "size", size_); - writeEntry(os, "peak", peak_); - writeEntry(os, "rss", rss_); + os.writeEntry("size", size_); + os.writeEntry("peak", peak_); + os.writeEntry("rss", rss_); } @@ -113,9 +133,7 @@ void Foam::memInfo::write(Ostream& os) const Foam::Istream& Foam::operator>>(Istream& is, memInfo& m) { is.readBegin("memInfo"); - is >> m.peak_ >> m.size_ >> m.rss_; - is.readEnd("memInfo"); is.check(FUNCTION_NAME); diff --git a/src/OSspecific/POSIX/memInfo/memInfo.H b/src/OSspecific/POSIX/memInfo/memInfo.H index 181da5b7efa95ab0ca38a23a67e6d45fd16bb326..3b7c2eda5916c97f99b7e5d28029e6f53e93d33f 100644 --- a/src/OSspecific/POSIX/memInfo/memInfo.H +++ b/src/OSspecific/POSIX/memInfo/memInfo.H @@ -38,27 +38,20 @@ SourceFiles #ifndef memInfo_H #define memInfo_H -#include "OSspecific.H" -#include "POSIX.H" -#include "IFstream.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { // Forward declaration of friend functions and operators - class memInfo; - -Istream& operator>>(Istream&, memInfo&); -Ostream& operator<<(Ostream&, const memInfo&); - - -// forward declarations class Istream; class Ostream; +Istream& operator>>(Istream& is, memInfo& m); +Ostream& operator<<(Ostream& os, const memInfo& m); + + /*---------------------------------------------------------------------------*\ Class memInfo Declaration \*---------------------------------------------------------------------------*/ @@ -76,12 +69,6 @@ class memInfo //- Resident set size of the process (VmRSS in /proc/PID/status) int rss_; - //- Disallow default bitwise assignment - void operator=(const memInfo&) = delete; - - //- Disallow default copy constructor - memInfo(const memInfo&) = delete; - public: // Constructors @@ -96,44 +83,47 @@ public: // Member Functions - //- Parse /proc/PID/status and update accordingly + //- Update according to /proc/PID/status contents const memInfo& update(); - // Access - //- Peak memory (VmPeak in /proc/PID/status) at last update() - int peak() const - { - return peak_; - } + // Access + + //- Peak memory (VmPeak in /proc/PID/status) at last update() + inline int peak() const + { + return peak_; + } + + //- Memory size (VmSize in /proc/PID/status) at last update() + inline int size() const + { + return size_; + } - //- Memory size (VmSize in /proc/PID/status) at last update() - int size() const - { - return size_; - } + //- Resident set size (VmRSS in /proc/PID/status) at last update() + inline int rss() const + { + return rss_; + } - //- Resident set size (VmRSS in /proc/PID/status) at last update() - int rss() const - { - return rss_; - } + //- True if the memory information appears valid + bool valid() const; - //- True if the memory information appears valid - bool valid() const; + // Write //- Write content as dictionary entries - void write(Ostream&) const; + void write(Ostream& os) const; // IOstream Operators //- Read peak/size/rss from stream - friend Istream& operator>>(Istream&, memInfo&); + friend Istream& operator>>(Istream& is, memInfo& m); //- Write peak/size/rss to stream - friend Ostream& operator<<(Ostream&, const memInfo&); + friend Ostream& operator<<(Ostream& os, const memInfo& m); }; diff --git a/src/OpenFOAM/db/IOobjectList/IOobjectList.C b/src/OpenFOAM/db/IOobjectList/IOobjectList.C index 981e5ca2e579dcd38079617c1692c6165fcfa44a..f70f3e7ebfcffc107a5d63d45f43488ffcf6606e 100644 --- a/src/OpenFOAM/db/IOobjectList/IOobjectList.C +++ b/src/OpenFOAM/db/IOobjectList/IOobjectList.C @@ -154,14 +154,14 @@ Foam::IOobjectList::IOobjectList } // Create a list of file names in this directory - fileNameList objNames = + const auto objNames = readDir(db.path(newInstance, db.dbDir()/local), fileName::FILE); - forAll(objNames, i) + for (const auto& objName : objNames) { IOobject* objectPtr = new IOobject ( - objNames[i], + objName, newInstance, local, db, @@ -170,8 +170,23 @@ Foam::IOobjectList::IOobjectList registerObject ); - // Use object with local scope - if (objectPtr->typeHeaderOk<IOList<label>>(false)) + bool ok = false; + const bool throwingIOerr = FatalIOError.throwExceptions(); + + try + { + // Use object with local scope and current instance (no searching) + ok = objectPtr->typeHeaderOk<IOList<label>>(false, false); + } + catch (Foam::IOerror& err) + { + Warning + << err << nl << endl; + } + + FatalIOError.throwExceptions(throwingIOerr); + + if (ok) { insert(objectPtr->name(), objectPtr); } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C index 5707d2d5c96d8d87bf14f161984d08735fa38714..333aeca259c72b0a1b8edbc98155725df7aab477 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.C @@ -56,8 +56,8 @@ inline void Foam::UIPstream::readFromBuffer(T& t) inline void Foam::UIPstream::readFromBuffer ( void* data, - size_t count, - size_t align + const size_t count, + const size_t align ) { if (align > 1) @@ -76,6 +76,22 @@ inline void Foam::UIPstream::readFromBuffer } +inline Foam::Istream& Foam::UIPstream::readStringFromBuffer(std::string& str) +{ + size_t len; + readFromBuffer(len); + // Uses the underlying std::string::operator=() + // - no stripInvalid invoked (the sending side should have done that) + // - relies on trailing '\0' char (so cannot send anything with an embedded + // nul char) + str = &externalBuf_[externalBufPosition_]; + externalBufPosition_ += len + 1; + checkEof(); + + return *this; +} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::UIPstream::~UIPstream() @@ -107,7 +123,7 @@ Foam::Istream& Foam::UIPstream::read(token& t) char c; - // return on error + // Return on error if (!read(c)) { t.setBad(); @@ -141,7 +157,7 @@ Foam::Istream& Foam::UIPstream::read(token& t) } // Word - case token::WORD : + case token::tokenType::WORD : { word* pval = new word; if (read(*pval)) @@ -165,30 +181,26 @@ Foam::Istream& Foam::UIPstream::read(token& t) } // String - case token::VERBATIMSTRING : + case token::tokenType::VERBATIMSTRING : { // Recurse to read actual string read(t); - t.type() = token::VERBATIMSTRING; + t.type() = token::tokenType::VERBATIMSTRING; return *this; } - case token::VARIABLE : + case token::tokenType::VARIABLE : { // Recurse to read actual string read(t); - t.type() = token::VARIABLE; + t.type() = token::tokenType::VARIABLE; return *this; } - case token::STRING : + case token::tokenType::STRING : { string* pval = new string; if (read(*pval)) { t = pval; - if (c == token::VERBATIMSTRING) - { - t.type() = token::VERBATIMSTRING; - } } else { @@ -199,7 +211,7 @@ Foam::Istream& Foam::UIPstream::read(token& t) } // Label - case token::LABEL : + case token::tokenType::LABEL : { label val; if (read(val)) @@ -214,7 +226,7 @@ Foam::Istream& Foam::UIPstream::read(token& t) } // floatScalar - case token::FLOAT_SCALAR : + case token::tokenType::FLOAT_SCALAR : { floatScalar val; if (read(val)) @@ -229,7 +241,7 @@ Foam::Istream& Foam::UIPstream::read(token& t) } // doubleScalar - case token::DOUBLE_SCALAR : + case token::tokenType::DOUBLE_SCALAR : { doubleScalar val; if (read(val)) @@ -272,23 +284,13 @@ Foam::Istream& Foam::UIPstream::read(char& c) Foam::Istream& Foam::UIPstream::read(word& str) { - size_t len; - readFromBuffer(len); - str = &externalBuf_[externalBufPosition_]; - externalBufPosition_ += len + 1; - checkEof(); - return *this; + return readStringFromBuffer(str); } Foam::Istream& Foam::UIPstream::read(string& str) { - size_t len; - readFromBuffer(len); - str = &externalBuf_[externalBufPosition_]; - externalBufPosition_ += len + 1; - checkEof(); - return *this; + return readStringFromBuffer(str); } diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H index b4aefe4446b7978ffa177eedcbea18d38fd0a960..4913693741f8b24e50f858947f6ec90b5943a3bd 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstream.H @@ -80,10 +80,19 @@ class UIPstream //- Read a T from the transfer buffer template<class T> - inline void readFromBuffer(T&); + inline void readFromBuffer(T& t); - //- Read data from the transfer buffer - inline void readFromBuffer(void* data, size_t count, size_t align); + //- Read count bytes of data from the transfer buffer + // using align byte alignment + inline void readFromBuffer + ( + void* data, + const size_t count, + const size_t align + ); + + //- Read string length and its content. + inline Istream& readStringFromBuffer(std::string& str); public: @@ -139,28 +148,28 @@ public: ); //- Return next token from stream - Istream& read(token&); + Istream& read(token& t); //- Read a character - Istream& read(char&); + Istream& read(char& c); //- Read a word - Istream& read(word&); + Istream& read(word& str); - // Read a string (including enclosing double-quotes) - Istream& read(string&); + // Read a string + Istream& read(string& str); //- Read a label - Istream& read(label&); + Istream& read(label& val); //- Read a floatScalar - Istream& read(floatScalar&); + Istream& read(floatScalar& val); //- Read a doubleScalar - Istream& read(doubleScalar&); + Istream& read(doubleScalar& val); - //- Read binary block - Istream& read(char*, std::streamsize); + //- Read binary block with 8-byte alignment. + Istream& read(char* data, const std::streamsize count); //- Rewind and return the stream so that it may be read again Istream& rewind(); diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C index cf53be0f848d3672486ae47f8f73effae8c57de0..6667389b742231d9e691716d6dc487a3503db62a 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.C @@ -51,8 +51,8 @@ inline void Foam::UOPstream::writeToBuffer(const char& c) inline void Foam::UOPstream::writeToBuffer ( const void* data, - size_t count, - size_t align + const size_t count, + const size_t align ) { if (!sendBuf_.capacity()) @@ -77,6 +77,13 @@ inline void Foam::UOPstream::writeToBuffer } +inline void Foam::UOPstream::writeStringToBuffer(const std::string& str) +{ + const size_t len = str.size(); + writeToBuffer(len); + writeToBuffer(str.c_str(), len + 1, 1); +} + // * * * * * * * * * * * * * * * * Constructor * * * * * * * * * * * * * * * // @@ -153,14 +160,14 @@ Foam::UOPstream::~UOPstream() Foam::Ostream& Foam::UOPstream::write(const token& t) { // Raw token output only supported for verbatim strings for now - if (t.type() == token::VERBATIMSTRING) + if (t.type() == token::tokenType::VERBATIMSTRING) { - write(char(token::VERBATIMSTRING)); + writeToBuffer(char(token::tokenType::VERBATIMSTRING)); write(t.stringToken()); } - else if (t.type() == token::VARIABLE) + else if (t.type() == token::tokenType::VARIABLE) { - write(char(token::VARIABLE)); + writeToBuffer(char(token::tokenType::VARIABLE)); write(t.stringToken()); } else @@ -204,11 +211,8 @@ Foam::Ostream& Foam::UOPstream::write(const char* str) Foam::Ostream& Foam::UOPstream::write(const word& str) { - write(char(token::WORD)); - - size_t len = str.size(); - writeToBuffer(len); - writeToBuffer(str.c_str(), len + 1, 1); + writeToBuffer(char(token::tokenType::WORD)); + writeStringToBuffer(str); return *this; } @@ -216,11 +220,8 @@ Foam::Ostream& Foam::UOPstream::write(const word& str) Foam::Ostream& Foam::UOPstream::write(const string& str) { - write(char(token::STRING)); - - size_t len = str.size(); - writeToBuffer(len); - writeToBuffer(str.c_str(), len + 1, 1); + writeToBuffer(char(token::tokenType::STRING)); + writeStringToBuffer(str); return *this; } @@ -234,16 +235,13 @@ Foam::Ostream& Foam::UOPstream::writeQuoted { if (quoted) { - write(char(token::STRING)); + writeToBuffer(char(token::tokenType::STRING)); } else { - write(char(token::WORD)); + writeToBuffer(char(token::tokenType::WORD)); } - - size_t len = str.size(); - writeToBuffer(len); - writeToBuffer(str.c_str(), len + 1, 1); + writeStringToBuffer(str); return *this; } @@ -251,7 +249,7 @@ Foam::Ostream& Foam::UOPstream::writeQuoted Foam::Ostream& Foam::UOPstream::write(const int32_t val) { - write(char(token::LABEL)); + writeToBuffer(char(token::tokenType::LABEL)); writeToBuffer(val); return *this; } @@ -259,7 +257,7 @@ Foam::Ostream& Foam::UOPstream::write(const int32_t val) Foam::Ostream& Foam::UOPstream::write(const int64_t val) { - write(char(token::LABEL)); + writeToBuffer(char(token::tokenType::LABEL)); writeToBuffer(val); return *this; } @@ -267,7 +265,7 @@ Foam::Ostream& Foam::UOPstream::write(const int64_t val) Foam::Ostream& Foam::UOPstream::write(const floatScalar val) { - write(char(token::FLOAT_SCALAR)); + writeToBuffer(char(token::tokenType::FLOAT_SCALAR)); writeToBuffer(val); return *this; } @@ -275,13 +273,17 @@ Foam::Ostream& Foam::UOPstream::write(const floatScalar val) Foam::Ostream& Foam::UOPstream::write(const doubleScalar val) { - write(char(token::DOUBLE_SCALAR)); + writeToBuffer(char(token::tokenType::DOUBLE_SCALAR)); writeToBuffer(val); return *this; } -Foam::Ostream& Foam::UOPstream::write(const char* data, std::streamsize count) +Foam::Ostream& Foam::UOPstream::write +( + const char* data, + const std::streamsize count +) { if (format() != BINARY) { diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H index 349ac52104aedfaa0775bae53aa7f37463908a1b..6ee40e03781dc5042ca3b36d08bcaa639d425671 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstream.H @@ -74,13 +74,23 @@ class UOPstream //- Write a T to the transfer buffer template<class T> - inline void writeToBuffer(const T&); + inline void writeToBuffer(const T& t); //- Write a char to the transfer buffer - inline void writeToBuffer(const char&); + inline void writeToBuffer(const char& c); - //- Write data to the transfer buffer - inline void writeToBuffer(const void* data, size_t count, size_t align); + //- Write count bytes of data to the transfer buffer + // using align byte alignment + inline void writeToBuffer + ( + const void* data, + const size_t count, + const size_t align + ); + + //- Write string length and content. + // The content includes the trailing nul char. + inline void writeStringToBuffer(const std::string& str); public: @@ -102,7 +112,7 @@ public: ); //- Construct given buffers - UOPstream(const int toProcNo, PstreamBuffers&); + UOPstream(const int toProcNo, PstreamBuffers& buffers); //- Destructor @@ -134,42 +144,43 @@ public: ); //- Write next token to stream - Ostream& write(const token&); + Ostream& write(const token& t); - //- Write character - Ostream& write(const char); + //- Write single character. Whitespace is suppressed. + Ostream& write(const char c); - //- Write character string - Ostream& write(const char*); + //- Write the word-characters of a character string. + // Sends as a single char, or as word. + Ostream& write(const char* str); //- Write word - Ostream& write(const word&); + Ostream& write(const word& str); //- Write string - Ostream& write(const string&); + Ostream& write(const string& str); //- Write std::string surrounded by quotes. // Optional write without quotes. Ostream& writeQuoted ( - const std::string&, + const std::string& str, const bool quoted=true ); - //- Write int32_t - virtual Ostream& write(const int32_t); + //- Write int32_t as a label + virtual Ostream& write(const int32_t val); - //- Write int64_t - Ostream& write(const int64_t); + //- Write int64_t as a label + Ostream& write(const int64_t val); //- Write floatScalar - Ostream& write(const floatScalar); + Ostream& write(const floatScalar val); //- Write doubleScalar - Ostream& write(const doubleScalar); + Ostream& write(const doubleScalar val); - //- Write binary block - Ostream& write(const char*, std::streamsize); + //- Write binary block with 8-byte alignment. + Ostream& write(const char* data, const std::streamsize count); //- Add indentation characters void indent() @@ -223,7 +234,7 @@ public: // Print //- Print description of IOstream to Ostream - void print(Ostream&) const; + void print(Ostream& os) const; }; diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H index 7e71fc543c211a7d1db8a2305023233b33cf9eb5..0b936c9f7eca40bf373c6d109bfd135ee8e7a2ff 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation - \\/ M anipulation | Copyright 2015-2016 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C index 4d809900b95966854ae319a7c9c021f31cfc5772..40c2d8e5950f39b6bc7d929944eb8d4a33f92c23 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C +++ b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C @@ -224,7 +224,7 @@ Foam::Istream& Foam::ISstream::read(token& t) else { t = sPtr; - t.type() = token::VERBATIMSTRING; + t.type() = token::tokenType::VERBATIMSTRING; } return *this; @@ -266,7 +266,7 @@ Foam::Istream& Foam::ISstream::read(token& t) else { t = sPtr; - t.type() = token::VARIABLE; + t.type() = token::tokenType::VARIABLE; } return *this; } diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.C b/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.C index 69897b999da1040152a71c01af665724cb53de4b..5dc8a3e6bd9078250ae44ea908c37b79cd015444 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.C +++ b/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.C @@ -31,7 +31,7 @@ License Foam::Ostream& Foam::OSstream::write(const token& t) { - if (t.type() == token::VERBATIMSTRING) + if (t.type() == token::tokenType::VERBATIMSTRING) { write(char(token::HASH)); write(char(token::BEGIN_BLOCK)); @@ -39,9 +39,9 @@ Foam::Ostream& Foam::OSstream::write(const token& t) write(char(token::HASH)); write(char(token::END_BLOCK)); } - else if (t.type() == token::VARIABLE) + else if (t.type() == token::tokenType::VARIABLE) { - writeQuoted( t.stringToken(), false); + writeQuoted(t.stringToken(), false); } return *this; } diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/prefixOSstream.C b/src/OpenFOAM/db/IOstreams/Sstreams/prefixOSstream.C index f9ff715821afa3cef7b0a10bd6b7c76ecc2838a9..cb28408f7dec651c2e0bbe902bab9e6c9c6f677b 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/prefixOSstream.C +++ b/src/OpenFOAM/db/IOstreams/Sstreams/prefixOSstream.C @@ -67,7 +67,7 @@ void Foam::prefixOSstream::print(Ostream& os) const Foam::Ostream& Foam::prefixOSstream::write(const token& t) { - if (t.type() == token::VERBATIMSTRING) + if (t.type() == token::tokenType::VERBATIMSTRING) { write(char(token::HASH)); write(char(token::BEGIN_BLOCK)); @@ -75,7 +75,7 @@ Foam::Ostream& Foam::prefixOSstream::write(const token& t) write(char(token::HASH)); write(char(token::END_BLOCK)); } - else if (t.type() == token::VARIABLE) + else if (t.type() == token::tokenType::VARIABLE) { writeQuoted(t.stringToken(), false); } diff --git a/src/OpenFOAM/db/IOstreams/token/token.C b/src/OpenFOAM/db/IOstreams/token/token.C index 4246fc80e740c70cbd953beb6c48fbe4e8769f24..17019bda99ddeb9c8ab1ac4e37d3a893312e2b5b 100644 --- a/src/OpenFOAM/db/IOstreams/token/token.C +++ b/src/OpenFOAM/db/IOstreams/token/token.C @@ -92,7 +92,7 @@ bool Foam::token::compound::isCompound(const word& name) Foam::token::compound& Foam::token::transferCompoundToken(const Istream& is) { - if (type_ == COMPOUND) + if (type_ == tokenType::COMPOUND) { if (compoundTokenPtr_->empty()) { diff --git a/src/OpenFOAM/db/IOstreams/token/token.H b/src/OpenFOAM/db/IOstreams/token/token.H index b883cd376d527cb1a0aeaf01e95b3b0aa02182fd..1de16e5e13a993e556153f224b01ee3a728c6dcd 100644 --- a/src/OpenFOAM/db/IOstreams/token/token.H +++ b/src/OpenFOAM/db/IOstreams/token/token.H @@ -197,7 +197,7 @@ public: // Write - virtual void write(Ostream&) const = 0; + virtual void write(Ostream& os) const = 0; // IOstream Operators @@ -284,28 +284,47 @@ public: inline token(); //- Construct as copy - inline token(const token&); + inline token(const token& t); //- Construct punctuation character token - inline token(punctuationToken, label lineNumber=0); + inline explicit token(punctuationToken p); //- Construct word token - inline token(const word&, label lineNumber=0); + inline explicit token(const word& w); //- Construct string token - inline token(const string&, label lineNumber=0); + inline explicit token(const string& str); //- Construct label token - inline token(const label, label lineNumber=0); + inline explicit token(const label val); //- Construct floatScalar token - inline token(const floatScalar, label lineNumber=0); + inline explicit token(const floatScalar val); //- Construct doubleScalar token - inline token(const doubleScalar, label lineNumber=0); + inline explicit token(const doubleScalar val); + + + //- Construct punctuation character token + inline token(punctuationToken p, const label lineNumber); + + //- Construct word token + inline token(const word& w, const label lineNumber); + + //- Construct string token + inline token(const string& str, const label lineNumber); + + //- Construct label token + inline token(const label val, const label lineNumber); + + //- Construct floatScalar token + inline token(const floatScalar val, const label lineNumber); + + //- Construct doubleScalar token + inline token(const doubleScalar val, const label lineNumber); //- Construct from Istream - token(Istream&); + token(Istream& is); //- Destructor @@ -377,43 +396,43 @@ public: // Assignment - inline void operator=(const token&); + inline void operator=(const token& t); - inline void operator=(const punctuationToken); + inline void operator=(const punctuationToken p); - inline void operator=(word*); - inline void operator=(const word&); + inline void operator=(word* wPtr); + inline void operator=(const word& w); - inline void operator=(string*); - inline void operator=(const string&); + inline void operator=(string* strPtr); + inline void operator=(const string& str); - inline void operator=(const label); - inline void operator=(const floatScalar); - inline void operator=(const doubleScalar); + inline void operator=(const label val); + inline void operator=(const floatScalar val); + inline void operator=(const doubleScalar val); - inline void operator=(compound*); + inline void operator=(compound* compPtr); // Equality - inline bool operator==(const token&) const; - inline bool operator==(const punctuationToken) const; - inline bool operator==(const word&) const; - inline bool operator==(const string&) const; - inline bool operator==(const label) const; - inline bool operator==(const floatScalar) const; - inline bool operator==(const doubleScalar) const; + inline bool operator==(const token& t) const; + inline bool operator==(const punctuationToken p) const; + inline bool operator==(const word& w) const; + inline bool operator==(const string& str) const; + inline bool operator==(const label val) const; + inline bool operator==(const floatScalar val) const; + inline bool operator==(const doubleScalar val) const; // Inequality - inline bool operator!=(const token&) const; - inline bool operator!=(const punctuationToken) const; - inline bool operator!=(const word&) const; - inline bool operator!=(const string&) const; - inline bool operator!=(const label) const; - inline bool operator!=(const floatScalar) const; - inline bool operator!=(const doubleScalar) const; + inline bool operator!=(const token& t) const; + inline bool operator!=(const punctuationToken p) const; + inline bool operator!=(const word& w) const; + inline bool operator!=(const string& str) const; + inline bool operator!=(const label val) const; + inline bool operator!=(const floatScalar val) const; + inline bool operator!=(const doubleScalar val) const; // IOstream operators diff --git a/src/OpenFOAM/db/IOstreams/token/tokenI.H b/src/OpenFOAM/db/IOstreams/token/tokenI.H index 9831e0569551001803544d08216d7f77a8a4617a..32417b4e7507d7fcb32ae525a34f3e97cf88c163 100644 --- a/src/OpenFOAM/db/IOstreams/token/tokenI.H +++ b/src/OpenFOAM/db/IOstreams/token/tokenI.H @@ -27,15 +27,20 @@ License inline void Foam::token::clear() { - if (type_ == WORD) + if (type_ == tokenType::WORD) { delete wordTokenPtr_; } - else if (type_ == STRING || type_ == VARIABLE || type_ == VERBATIMSTRING) + else if + ( + type_ == tokenType::STRING + || type_ == tokenType::VARIABLE + || type_ == tokenType::VERBATIMSTRING + ) { delete stringTokenPtr_; } - else if (type_ == COMPOUND) + else if (type_ == tokenType::COMPOUND) { if (compoundTokenPtr_->unique()) { @@ -47,7 +52,7 @@ inline void Foam::token::clear() } } - type_ = UNDEFINED; + type_ = tokenType::UNDEFINED; } @@ -55,7 +60,7 @@ inline void Foam::token::clear() inline Foam::token::token() : - type_(UNDEFINED), + type_(tokenType::UNDEFINED), lineNumber_(0) {} @@ -67,49 +72,85 @@ inline Foam::token::token(const token& t) { switch (type_) { - case token::UNDEFINED: + case tokenType::UNDEFINED: break; - case PUNCTUATION: + case tokenType::PUNCTUATION: punctuationToken_ = t.punctuationToken_; break; - case WORD: + case tokenType::WORD: wordTokenPtr_ = new word(*t.wordTokenPtr_); break; - case STRING: - case VARIABLE: - case VERBATIMSTRING: + case tokenType::STRING: + case tokenType::VARIABLE: + case tokenType::VERBATIMSTRING: stringTokenPtr_ = new string(*t.stringTokenPtr_); break; - case LABEL: + case tokenType::LABEL: labelToken_ = t.labelToken_; break; - case FLOAT_SCALAR: + case tokenType::FLOAT_SCALAR: floatScalarToken_ = t.floatScalarToken_; break; - case DOUBLE_SCALAR: + case tokenType::DOUBLE_SCALAR: doubleScalarToken_ = t.doubleScalarToken_; break; - case COMPOUND: + case tokenType::COMPOUND: compoundTokenPtr_ = t.compoundTokenPtr_; compoundTokenPtr_->refCount::operator++(); break; - case token::ERROR: + case tokenType::ERROR: break; } } +inline Foam::token::token(punctuationToken p) +: + token(p, 0) +{} + + +inline Foam::token::token(const word& w) +: + token(w, 0) +{} + + +inline Foam::token::token(const string& str) +: + token(str, 0) +{} + + +inline Foam::token::token(const label val) +: + token(val, 0) +{} + + +inline Foam::token::token(const floatScalar val) +: + token(val, 0) +{} + + +inline Foam::token::token(const doubleScalar val) +: + token(val, 0) +{} + + inline Foam::token::token(punctuationToken p, label lineNumber) : - type_(PUNCTUATION), + type_(tokenType::PUNCTUATION), punctuationToken_(p), lineNumber_(lineNumber) {} @@ -117,40 +158,40 @@ inline Foam::token::token(punctuationToken p, label lineNumber) inline Foam::token::token(const word& w, label lineNumber) : - type_(WORD), + type_(tokenType::WORD), wordTokenPtr_(new word(w)), lineNumber_(lineNumber) {} -inline Foam::token::token(const string& s, label lineNumber) +inline Foam::token::token(const string& str, label lineNumber) : - type_(STRING), - stringTokenPtr_(new string(s)), + type_(tokenType::STRING), + stringTokenPtr_(new string(str)), lineNumber_(lineNumber) {} -inline Foam::token::token(const label l, label lineNumber) +inline Foam::token::token(const label val, label lineNumber) : - type_(LABEL), - labelToken_(l), + type_(tokenType::LABEL), + labelToken_(val), lineNumber_(lineNumber) {} -inline Foam::token::token(const floatScalar s, label lineNumber) +inline Foam::token::token(const floatScalar val, label lineNumber) : - type_(FLOAT_SCALAR), - floatScalarToken_(s), + type_(tokenType::FLOAT_SCALAR), + floatScalarToken_(val), lineNumber_(lineNumber) {} -inline Foam::token::token(const doubleScalar s, label lineNumber) +inline Foam::token::token(const doubleScalar val, label lineNumber) : - type_(DOUBLE_SCALAR), - doubleScalarToken_(s), + type_(tokenType::DOUBLE_SCALAR), + doubleScalarToken_(val), lineNumber_(lineNumber) {} @@ -177,27 +218,27 @@ inline Foam::token::tokenType& Foam::token::type() inline bool Foam::token::good() const { - return (type_ != ERROR && type_ != UNDEFINED); + return (type_ != tokenType::ERROR && type_ != tokenType::UNDEFINED); } inline bool Foam::token::undefined() const { - return (type_ == UNDEFINED); + return (type_ == tokenType::UNDEFINED); } inline bool Foam::token::error() const { - return (type_ == ERROR); + return (type_ == tokenType::ERROR); } inline bool Foam::token::isPunctuation() const { - return (type_ == PUNCTUATION); + return (type_ == tokenType::PUNCTUATION); } inline Foam::token::punctuationToken Foam::token::pToken() const { - if (type_ == PUNCTUATION) + if (type_ == tokenType::PUNCTUATION) { return punctuationToken_; } @@ -210,12 +251,12 @@ inline Foam::token::punctuationToken Foam::token::pToken() const inline bool Foam::token::isWord() const { - return (type_ == WORD); + return (type_ == tokenType::WORD); } inline const Foam::word& Foam::token::wordToken() const { - if (type_ == WORD) + if (type_ == tokenType::WORD) { return *wordTokenPtr_; } @@ -228,17 +269,27 @@ inline const Foam::word& Foam::token::wordToken() const inline bool Foam::token::isVariable() const { - return (type_ == VARIABLE); + return (type_ == tokenType::VARIABLE); } inline bool Foam::token::isString() const { - return (type_ == STRING || type_ == VARIABLE || type_ == VERBATIMSTRING); + return + ( + type_ == tokenType::STRING + || type_ == tokenType::VARIABLE + || type_ == tokenType::VERBATIMSTRING + ); } inline const Foam::string& Foam::token::stringToken() const { - if (type_ == STRING || type_ == VARIABLE || type_ == VERBATIMSTRING) + if + ( + type_ == tokenType::STRING + || type_ == tokenType::VARIABLE + || type_ == tokenType::VERBATIMSTRING + ) { return *stringTokenPtr_; } @@ -251,12 +302,12 @@ inline const Foam::string& Foam::token::stringToken() const inline bool Foam::token::isLabel() const { - return (type_ == LABEL); + return (type_ == tokenType::LABEL); } inline Foam::label Foam::token::labelToken() const { - if (type_ == LABEL) + if (type_ == tokenType::LABEL) { return labelToken_; } @@ -269,12 +320,12 @@ inline Foam::label Foam::token::labelToken() const inline bool Foam::token::isFloatScalar() const { - return (type_ == FLOAT_SCALAR); + return (type_ == tokenType::FLOAT_SCALAR); } inline Foam::floatScalar Foam::token::floatScalarToken() const { - if (type_ == FLOAT_SCALAR) + if (type_ == tokenType::FLOAT_SCALAR) { return floatScalarToken_; } @@ -288,12 +339,12 @@ inline Foam::floatScalar Foam::token::floatScalarToken() const inline bool Foam::token::isDoubleScalar() const { - return (type_ == DOUBLE_SCALAR); + return (type_ == tokenType::DOUBLE_SCALAR); } inline Foam::doubleScalar Foam::token::doubleScalarToken() const { - if (type_ == DOUBLE_SCALAR) + if (type_ == tokenType::DOUBLE_SCALAR) { return doubleScalarToken_; } @@ -307,16 +358,20 @@ inline Foam::doubleScalar Foam::token::doubleScalarToken() const inline bool Foam::token::isScalar() const { - return (type_ == FLOAT_SCALAR || type_ == DOUBLE_SCALAR); + return + ( + type_ == tokenType::FLOAT_SCALAR + || type_ == tokenType::DOUBLE_SCALAR + ); } inline Foam::scalar Foam::token::scalarToken() const { - if (type_ == FLOAT_SCALAR) + if (type_ == tokenType::FLOAT_SCALAR) { return floatScalarToken_; } - else if (type_ == DOUBLE_SCALAR) + else if (type_ == tokenType::DOUBLE_SCALAR) { return doubleScalarToken_; } @@ -329,12 +384,12 @@ inline Foam::scalar Foam::token::scalarToken() const inline bool Foam::token::isNumber() const { - return (type_ == LABEL || isScalar()); + return (type_ == tokenType::LABEL || isScalar()); } inline Foam::scalar Foam::token::number() const { - if (type_ == LABEL) + if (type_ == tokenType::LABEL) { return labelToken_; } @@ -351,12 +406,12 @@ inline Foam::scalar Foam::token::number() const inline bool Foam::token::isCompound() const { - return (type_ == COMPOUND); + return (type_ == tokenType::COMPOUND); } inline const Foam::token::compound& Foam::token::compoundToken() const { - if (type_ == COMPOUND) + if (type_ == tokenType::COMPOUND) { return *compoundTokenPtr_; } @@ -382,7 +437,7 @@ inline Foam::label& Foam::token::lineNumber() inline void Foam::token::setBad() { clear(); - type_ = ERROR; + type_ = tokenType::ERROR; } @@ -395,41 +450,41 @@ inline void Foam::token::operator=(const token& t) switch (type_) { - case token::UNDEFINED: + case tokenType::UNDEFINED: break; - case PUNCTUATION: + case tokenType::PUNCTUATION: punctuationToken_ = t.punctuationToken_; break; - case WORD: + case tokenType::WORD: wordTokenPtr_ = new word(*t.wordTokenPtr_); break; - case STRING: - case VARIABLE: - case VERBATIMSTRING: + case tokenType::STRING: + case tokenType::VARIABLE: + case tokenType::VERBATIMSTRING: stringTokenPtr_ = new string(*t.stringTokenPtr_); break; - case LABEL: + case tokenType::LABEL: labelToken_ = t.labelToken_; break; - case FLOAT_SCALAR: + case tokenType::FLOAT_SCALAR: floatScalarToken_ = t.floatScalarToken_; break; - case DOUBLE_SCALAR: + case tokenType::DOUBLE_SCALAR: doubleScalarToken_ = t.doubleScalarToken_; break; - case COMPOUND: + case tokenType::COMPOUND: compoundTokenPtr_ = t.compoundTokenPtr_; compoundTokenPtr_->refCount::operator++(); break; - case token::ERROR: + case tokenType::ERROR: break; } @@ -439,14 +494,14 @@ inline void Foam::token::operator=(const token& t) inline void Foam::token::operator=(const punctuationToken p) { clear(); - type_ = PUNCTUATION; + type_ = tokenType::PUNCTUATION; punctuationToken_ = p; } inline void Foam::token::operator=(word* wPtr) { clear(); - type_ = WORD; + type_ = tokenType::WORD; wordTokenPtr_ = wPtr; } @@ -455,44 +510,44 @@ inline void Foam::token::operator=(const word& w) operator=(new word(w)); } -inline void Foam::token::operator=(string* sPtr) +inline void Foam::token::operator=(string* strPtr) { clear(); - type_ = STRING; - stringTokenPtr_ = sPtr; + type_ = tokenType::STRING; + stringTokenPtr_ = strPtr; } -inline void Foam::token::operator=(const string& s) +inline void Foam::token::operator=(const string& str) { - operator=(new string(s)); + operator=(new string(str)); } -inline void Foam::token::operator=(const label l) +inline void Foam::token::operator=(const label val) { clear(); - type_ = LABEL; - labelToken_ = l; + type_ = tokenType::LABEL; + labelToken_ = val; } -inline void Foam::token::operator=(const floatScalar s) +inline void Foam::token::operator=(const floatScalar val) { clear(); - type_ = FLOAT_SCALAR; - floatScalarToken_ = s; + type_ = tokenType::FLOAT_SCALAR; + floatScalarToken_ = val; } -inline void Foam::token::operator=(const doubleScalar s) +inline void Foam::token::operator=(const doubleScalar val) { clear(); - type_ = DOUBLE_SCALAR; - doubleScalarToken_ = s; + type_ = tokenType::DOUBLE_SCALAR; + doubleScalarToken_ = val; } -inline void Foam::token::operator=(Foam::token::compound* cPtr) +inline void Foam::token::operator=(Foam::token::compound* compPtr) { clear(); - type_ = COMPOUND; - compoundTokenPtr_ = cPtr; + type_ = tokenType::COMPOUND; + compoundTokenPtr_ = compPtr; } @@ -505,33 +560,33 @@ inline bool Foam::token::operator==(const token& t) const switch (type_) { - case token::UNDEFINED: + case tokenType::UNDEFINED: return true; - case PUNCTUATION: + case tokenType::PUNCTUATION: return punctuationToken_ == t.punctuationToken_; - case WORD: + case tokenType::WORD: return *wordTokenPtr_ == *t.wordTokenPtr_; - case STRING: - case VARIABLE: - case VERBATIMSTRING: + case tokenType::STRING: + case tokenType::VARIABLE: + case tokenType::VERBATIMSTRING: return *stringTokenPtr_ == *t.stringTokenPtr_; - case LABEL: + case tokenType::LABEL: return labelToken_ == t.labelToken_; - case FLOAT_SCALAR: + case tokenType::FLOAT_SCALAR: return equal(floatScalarToken_, t.floatScalarToken_); - case DOUBLE_SCALAR: + case tokenType::DOUBLE_SCALAR: return equal(doubleScalarToken_, t.doubleScalarToken_); - case COMPOUND: + case tokenType::COMPOUND: return compoundTokenPtr_ == t.compoundTokenPtr_; - case token::ERROR: + case tokenType::ERROR: return true; } @@ -540,36 +595,52 @@ inline bool Foam::token::operator==(const token& t) const inline bool Foam::token::operator==(const punctuationToken p) const { - return (type_ == PUNCTUATION && punctuationToken_ == p); + return (type_ == tokenType::PUNCTUATION && punctuationToken_ == p); } inline bool Foam::token::operator==(const word& w) const { - return (type_ == WORD && wordToken() == w); + return (type_ == tokenType::WORD && wordToken() == w); } -inline bool Foam::token::operator==(const string& s) const +inline bool Foam::token::operator==(const string& str) const { return ( - (type_ == STRING || type_ == VARIABLE || type_ == VERBATIMSTRING) - && stringToken() == s + ( + type_ == tokenType::STRING + || type_ == tokenType::VARIABLE + || type_ == tokenType::VERBATIMSTRING + ) + && stringToken() == str ); } -inline bool Foam::token::operator==(const label l) const +inline bool Foam::token::operator==(const label val) const { - return (type_ == LABEL && labelToken_ == l); + return + ( + type_ == tokenType::LABEL + && labelToken_ == val + ); } -inline bool Foam::token::operator==(const floatScalar s) const +inline bool Foam::token::operator==(const floatScalar val) const { - return (type_ == FLOAT_SCALAR && equal(floatScalarToken_, s)); + return + ( + type_ == tokenType::FLOAT_SCALAR + && equal(floatScalarToken_, val) + ); } -inline bool Foam::token::operator==(const doubleScalar s) const +inline bool Foam::token::operator==(const doubleScalar val) const { - return (type_ == DOUBLE_SCALAR && equal(doubleScalarToken_, s)); + return + ( + type_ == tokenType::DOUBLE_SCALAR + && equal(doubleScalarToken_, val) + ); } inline bool Foam::token::operator!=(const token& t) const @@ -587,24 +658,24 @@ inline bool Foam::token::operator!=(const word& w) const return !operator==(w); } -inline bool Foam::token::operator!=(const string& s) const +inline bool Foam::token::operator!=(const string& str) const { - return !operator==(s); + return !operator==(str); } -inline bool Foam::token::operator!=(const floatScalar s) const +inline bool Foam::token::operator!=(const label val) const { - return !operator==(s); + return !operator==(val); } -inline bool Foam::token::operator!=(const doubleScalar s) const +inline bool Foam::token::operator!=(const floatScalar val) const { - return !operator==(s); + return !operator==(val); } -inline bool Foam::token::operator!=(const label l) const +inline bool Foam::token::operator!=(const doubleScalar val) const { - return !operator==(l); + return !operator==(val); } diff --git a/src/OpenFOAM/db/IOstreams/token/tokenIO.C b/src/OpenFOAM/db/IOstreams/token/tokenIO.C index acf14b96fec6ce949f7a84760aa0229fb02ad360..f451de1796a626335d799b64c3bcbd1df9149a50 100644 --- a/src/OpenFOAM/db/IOstreams/token/tokenIO.C +++ b/src/OpenFOAM/db/IOstreams/token/tokenIO.C @@ -33,7 +33,7 @@ License Foam::token::token(Istream& is) : - type_(UNDEFINED) + type_(tokenType::UNDEFINED) { is.read(*this); } @@ -52,47 +52,47 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const token& t) { switch (t.type_) { - case token::UNDEFINED: + case token::tokenType::UNDEFINED: os << "UNDEFINED"; WarningInFunction << "Undefined token" << endl; break; - case token::PUNCTUATION: + case token::tokenType::PUNCTUATION: os << t.punctuationToken_; break; - case token::WORD: + case token::tokenType::WORD: os << *t.wordTokenPtr_; break; - case token::STRING: - case token::VERBATIMSTRING: + case token::tokenType::STRING: + case token::tokenType::VERBATIMSTRING: os << *t.stringTokenPtr_; break; - case token::VARIABLE: + case token::tokenType::VARIABLE: // Behaviour differs according to stream type os.write(t); break; - case token::LABEL: + case token::tokenType::LABEL: os << t.labelToken_; break; - case token::FLOAT_SCALAR: + case token::tokenType::FLOAT_SCALAR: os << t.floatScalarToken_; break; - case token::DOUBLE_SCALAR: + case token::tokenType::DOUBLE_SCALAR: os << t.doubleScalarToken_; break; - case token::COMPOUND: + case token::tokenType::COMPOUND: os << *t.compoundTokenPtr_; break; - case token::ERROR: + case token::tokenType::ERROR: os << "ERROR"; WarningInFunction << "Error token" << endl; @@ -141,43 +141,43 @@ ostream& Foam::operator<<(ostream& os, const InfoProxy<token>& ip) switch (t.type()) { - case token::UNDEFINED: + case token::tokenType::UNDEFINED: os << " an undefined token"; break; - case token::PUNCTUATION: + case token::tokenType::PUNCTUATION: os << " the punctuation token " << '\'' << t.pToken() << '\''; break; - case token::WORD: + case token::tokenType::WORD: os << " the word " << '\'' << t.wordToken() << '\''; break; - case token::STRING: + case token::tokenType::STRING: os << " the string " << t.stringToken(); break; - case token::VARIABLE: + case token::tokenType::VARIABLE: os << " the variable " << t.stringToken(); break; - case token::VERBATIMSTRING: + case token::tokenType::VERBATIMSTRING: os << " the verbatim string " << t.stringToken(); break; - case token::LABEL: + case token::tokenType::LABEL: os << " the label " << t.labelToken(); break; - case token::FLOAT_SCALAR: + case token::tokenType::FLOAT_SCALAR: os << " the floatScalar " << t.floatScalarToken(); break; - case token::DOUBLE_SCALAR: + case token::tokenType::DOUBLE_SCALAR: os << " the doubleScalar " << t.doubleScalarToken(); break; - case token::COMPOUND: + case token::tokenType::COMPOUND: { if (t.compoundToken().empty()) { @@ -192,7 +192,7 @@ ostream& Foam::operator<<(ostream& os, const InfoProxy<token>& ip) } break; - case token::ERROR: + case token::tokenType::ERROR: os << " an error"; break; @@ -213,43 +213,43 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<token>& ip) switch (t.type()) { - case token::UNDEFINED: + case token::tokenType::UNDEFINED: os << " an undefined token"; break; - case token::PUNCTUATION: + case token::tokenType::PUNCTUATION: os << " the punctuation token " << '\'' << t.pToken() << '\''; break; - case token::WORD: + case token::tokenType::WORD: os << " the word " << '\'' << t.wordToken() << '\''; break; - case token::STRING: + case token::tokenType::STRING: os << " the string " << t.stringToken(); break; - case token::VARIABLE: + case token::tokenType::VARIABLE: os << " the variable " << t.stringToken(); break; - case token::VERBATIMSTRING: + case token::tokenType::VERBATIMSTRING: os << " the verbatim string " << t.stringToken(); break; - case token::LABEL: + case token::tokenType::LABEL: os << " the label " << t.labelToken(); break; - case token::FLOAT_SCALAR: + case token::tokenType::FLOAT_SCALAR: os << " the floatScalar " << t.floatScalarToken(); break; - case token::DOUBLE_SCALAR: + case token::tokenType::DOUBLE_SCALAR: os << " the doubleScalar " << t.doubleScalarToken(); break; - case token::COMPOUND: + case token::tokenType::COMPOUND: { if (t.compoundToken().empty()) { @@ -264,7 +264,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<token>& ip) } break; - case token::ERROR: + case token::tokenType::ERROR: os << " an error"; break; diff --git a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C index 96a20c0cc0b59291c32392eaaa1cba1e221407ec..6a040941e741c2e2b90fb694203ddc742db6544c 100644 --- a/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C +++ b/src/OpenFOAM/db/dictionary/primitiveEntry/primitiveEntryIO.C @@ -236,7 +236,7 @@ void Foam::primitiveEntry::write(Ostream& os, const bool contentsOnly) const } space = true; // Prefix any following tokens - if (t.type() == token::VERBATIMSTRING) + if (t.type() == token::tokenType::VERBATIMSTRING) { // Bypass token output operator to avoid losing verbatimness. // Handle in Ostreams themselves diff --git a/src/OpenFOAM/dimensionSet/dimensionSetIO.C b/src/OpenFOAM/dimensionSet/dimensionSetIO.C index 032555cd25bba027ab53fd33ce1598bf75299e66..39773831605c2194f8fe17b6ccef45a97b62b720 100644 --- a/src/OpenFOAM/dimensionSet/dimensionSetIO.C +++ b/src/OpenFOAM/dimensionSet/dimensionSetIO.C @@ -158,7 +158,7 @@ void Foam::dimensionSet::tokeniser::splitWord(const word& w) } else { - push(token::punctuationToken(w[i])); + push(token(token::punctuationToken(w[i]))); } } start = i+1; diff --git a/src/OpenFOAM/primitives/bools/Switch/Switch.C b/src/OpenFOAM/primitives/bools/Switch/Switch.C index f5be21f9417662edda0cdfda38be1248abe4e5f8..9ddb0d95c1394fa405fcac9ed1f98ad87831a38c 100644 --- a/src/OpenFOAM/primitives/bools/Switch/Switch.C +++ b/src/OpenFOAM/primitives/bools/Switch/Switch.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,10 +32,8 @@ License const char* Foam::Switch::names[Foam::Switch::INVALID+1] = { "false", "true", - "off", "on", "no", "yes", - "n", "y", - "f", "t", + "off", "on", "none", "true", // Is there a reasonable counterpart to "none"? "invalid" }; @@ -49,55 +47,53 @@ Foam::Switch::switchType Foam::Switch::asEnum const bool allowInvalid ) { - for (int sw = 0; sw < Switch::INVALID; ++sw) + const std::string::size_type len = str.size(); + switch (len) { - if (str == names[sw]) + case 1: // (f|n|t|y) - single-character forms { - // handle aliases - switch (sw) + switch (str[0]) { - case Switch::NO_1: - case Switch::NONE: - { - return Switch::NO; - break; - } - - case Switch::YES_1: - { - return Switch::YES; - break; - } - - case Switch::FALSE_1: - { - return Switch::FALSE; - break; - } - - case Switch::TRUE_1: - { - return Switch::TRUE; - break; - } - - default: - { - return switchType(sw); - break; - } + case 'f': return switchType::FALSE; + case 'n': return switchType::NO; + case 't': return switchType::TRUE; + case 'y': return switchType::YES; } + break; + } + case 2: // (no|on) + { + if (str == names[switchType::NO]) return switchType::NO; + if (str == names[switchType::ON]) return switchType::ON; + break; + } + case 3: // (off|yes) + { + if (str == names[switchType::OFF]) return switchType::OFF; + if (str == names[switchType::YES]) return switchType::YES; + break; + } + case 4: // (none|true) + { + if (str == names[switchType::NONE]) return switchType::NONE; + if (str == names[switchType::TRUE]) return switchType::TRUE; + break; + } + case 5: // (false) + { + if (str == names[switchType::FALSE]) return switchType::FALSE; + break; } } if (!allowInvalid) { FatalErrorInFunction - << "unknown switch word " << str << nl + << "Unknown switch word " << str << nl << abort(FatalError); } - return Switch::INVALID; + return switchType::INVALID; } @@ -116,7 +112,7 @@ Foam::Switch Foam::Switch::lookupOrAddToDict bool Foam::Switch::valid() const { - return switch_ <= Switch::NONE; + return switch_ <= switchType::NONE; } diff --git a/src/OpenFOAM/primitives/bools/Switch/Switch.H b/src/OpenFOAM/primitives/bools/Switch/Switch.H index 63ef5ead5276c2a5516b82a251dfe2d72b8f123e..256944b936dbd0e9bb67f8a31eeaf986e8429629 100644 --- a/src/OpenFOAM/primitives/bools/Switch/Switch.H +++ b/src/OpenFOAM/primitives/bools/Switch/Switch.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -69,17 +69,13 @@ public: // Public data types - // avoid issues with pre-processor defines + // Avoid issues with possible pre-processor defines #undef FALSE #undef TRUE - #undef OFF - #undef ON #undef NO #undef YES - #undef NO_1 - #undef YES_1 - #undef FALSE_1 - #undef TRUE_1 + #undef OFF + #undef ON #undef NONE #undef PLACEHOLDER #undef INVALID @@ -89,11 +85,9 @@ public: enum switchType { FALSE = 0, TRUE = 1, - OFF = 2, ON = 3, - NO = 4, YES = 5, - NO_1 = 6, YES_1 = 7, - FALSE_1 = 8, TRUE_1 = 9, - NONE = 10, PLACEHOLDER = 11, + NO = 2, YES = 3, + OFF = 4, ON = 5, + NONE = 6, PLACEHOLDER = 7, INVALID }; @@ -123,7 +117,7 @@ public: //- Construct null as false Switch() : - switch_(Switch::FALSE) + switch_(switchType::FALSE) {} //- Construct from enumerated value @@ -135,25 +129,37 @@ public: //- Construct from bool Switch(const bool b) : - switch_(b ? Switch::TRUE : Switch::FALSE) + switch_(b ? switchType::TRUE : switchType::FALSE) {} //- Construct from integer values (treats integer as bool value) Switch(const int i) : - switch_(i ? Switch::TRUE : Switch::FALSE) + switch_(i ? switchType::TRUE : switchType::FALSE) + {} + + //- Construct from string - catches bad input. + explicit Switch(const std::string& str) + : + switch_(asEnum(str, false)) + {} + + //- Construct from character array - catches bad input. + explicit Switch(const char* str) + : + switch_(asEnum(std::string(str), false)) {} - //- Construct from std::string, string, word + //- Construct from string. // Optionally allow bad words, and catch the error elsewhere - Switch(const std::string& str, const bool allowInvalid=false) + Switch(const std::string& str, const bool allowInvalid) : switch_(asEnum(str, allowInvalid)) {} - //- Construct from character array + //- Construct from character array. // Optionally allow bad words, and catch the error elsewhere - Switch(const char* str, const bool allowInvalid=false) + Switch(const char* str, const bool allowInvalid) : switch_(asEnum(std::string(str), allowInvalid)) {} @@ -167,7 +173,7 @@ public: ( const word& name, dictionary& dict, - const Switch& defaultValue = false + const Switch& defaultValue = switchType::FALSE ); diff --git a/src/OpenFOAM/primitives/strings/stringOps/stringOps.H b/src/OpenFOAM/primitives/strings/stringOps/stringOps.H index 0d7d459f596895a3341e45b4d79fcd3dfe848a22..92092f9d5207ddf0370d1b499bb1600892248b6c 100644 --- a/src/OpenFOAM/primitives/strings/stringOps/stringOps.H +++ b/src/OpenFOAM/primitives/strings/stringOps/stringOps.H @@ -304,15 +304,44 @@ namespace stringOps Foam::word name(const std::string& fmt, const PrimitiveType& val); - //- Split a string into sub-strings at the delimiter character. - // An empty sub-strings are suppressed. + //- Split string into sub-strings at the delimiter character. + // Empty sub-strings are suppressed. template<class StringType> Foam::SubStrings<StringType> split ( const StringType& str, - const char delimiter + const char delim ); + //- Split string into sub-strings using delimiter string. + // Empty sub-strings are suppressed. + template<class StringType> + Foam::SubStrings<StringType> split + ( + const StringType& str, + const std::string& delim + ); + + + //- Split string into sub-strings using any characters in delimiter. + // Empty sub-strings are suppressed. + template<class StringType> + Foam::SubStrings<StringType> splitAny + ( + const StringType& str, + const std::string& delim + ); + + + //- Split string into sub-strings at whitespace (TAB, NL, VT, FF, CR, SPC) + // Empty sub-strings are suppressed. + template<class StringType> + Foam::SubStrings<StringType> splitSpace + ( + const StringType& str + ); + + } // End namespace stringOps // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C b/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C index 1b0aa62e9fd2d5561e11cb0abda4d8f44166ff53..dc9f771de88ce092162bbd9fdd5bfb52a7b93459 100644 --- a/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C +++ b/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C @@ -69,7 +69,7 @@ template<class StringType> Foam::SubStrings<StringType> Foam::stringOps::split ( const StringType& str, - const char delimiter + const char delim ) { Foam::SubStrings<StringType> lst; @@ -77,7 +77,7 @@ Foam::SubStrings<StringType> Foam::stringOps::split std::string::size_type beg = 0, end = 0; - while ((end = str.find(delimiter, beg)) != std::string::npos) + while ((end = str.find(delim, beg)) != std::string::npos) { if (beg < end) { @@ -97,4 +97,84 @@ Foam::SubStrings<StringType> Foam::stringOps::split } +template<class StringType> +Foam::SubStrings<StringType> Foam::stringOps::split +( + const StringType& str, + const std::string& delim +) +{ + Foam::SubStrings<StringType> lst; + lst.reserve(20); + + std::string::size_type beg = 0, end = 0; + + while ((end = str.find(delim, beg)) != std::string::npos) + { + if (beg < end) + { + // (Non-empty) intermediate element + lst.append(str.cbegin() + beg, str.cbegin() + end); + } + beg = end + delim.size(); + } + + // (Non-empty) trailing element + if (beg < str.size()) + { + lst.append(str.cbegin() + beg, str.cbegin() + str.size()); + } + + return lst; +} + + +template<class StringType> +Foam::SubStrings<StringType> Foam::stringOps::splitAny +( + const StringType& str, + const std::string& delim +) +{ + Foam::SubStrings<StringType> lst; + lst.reserve(20); + + std::string::size_type beg = 0; + + while + ( + (beg = str.find_first_not_of(delim, beg)) + != std::string::npos + ) + { + const auto end = str.find_first_of(delim, beg); + + if (end == std::string::npos) + { + // Trailing element + lst.append(str.cbegin() + beg, str.cbegin() + str.size()); + break; + } + else + { + // Intermediate element + lst.append(str.cbegin() + beg, str.cbegin() + end); + beg = end + 1; + } + } + + return lst; +} + + +template<class StringType> +Foam::SubStrings<StringType> Foam::stringOps::splitSpace +( + const StringType& str +) +{ + return splitAny(str, "\t\n\v\f\r "); +} + + // ************************************************************************* // diff --git a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H index 4cf6b7c5153c658cff1b13f097d64a0a8c706754..04697bdb34227517ece77c72ce6e3b94fe2fdc51 100644 --- a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H +++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H @@ -88,7 +88,6 @@ Usage operation | operation to perform | yes | postOperation | post-operation to perform | no | none | weightField | name of field to apply weighting | no | - orientedWeightField | name of oriented field to apply weighting | no | scaleFactor | scale factor | no | 1 fields | list of fields to operate on | yes | \endtable diff --git a/src/mesh/blockMesh/blocks/block/block.C b/src/mesh/blockMesh/blocks/block/block.C index dc842131a281384c66f7ffad3305e6fc3fd26899..481e2ed8802b95c99823e5fbe8f5e43ec030fa53 100644 --- a/src/mesh/blockMesh/blocks/block/block.C +++ b/src/mesh/blockMesh/blocks/block/block.C @@ -82,7 +82,7 @@ Foam::autoPtr<Foam::block> Foam::block::New if (!cstrIter.found()) { - is.putBack(blockOrCellShapeType); + is.putBack(token(blockOrCellShapeType)); return autoPtr<block>(new block(dict, index, points, edges, faces, is)); } else diff --git a/src/meshTools/output/foamVtkWriteFaceSet.H b/src/meshTools/output/foamVtkWriteFaceSet.H index 24ba0c3932b58e093d629d1daa46ba2433ec6584..2469b45f3d3467b3559aa24048d46191bebda648 100644 --- a/src/meshTools/output/foamVtkWriteFaceSet.H +++ b/src/meshTools/output/foamVtkWriteFaceSet.H @@ -26,7 +26,7 @@ InNamespace Description Write faceSet to vtk polydata file. - The data are the original point ids. + The data are the mesh face ids. SourceFiles foamVtkWritePointSet.C @@ -49,7 +49,7 @@ class fileName; namespace vtk { -//- Write pointSet to vtk polydata file. +//- Write faceSet to vtk polydata file. // Only one data which is original pointID. void writeFaceSet ( diff --git a/src/meshTools/sets/topoSets/cellSet.H b/src/meshTools/sets/topoSets/cellSet.H index 260695f6ad1d9df71dee0bdc76bade63c3b5440b..da1dc407d26b0170e4fc9967cd2c5195e6d88b72 100644 --- a/src/meshTools/sets/topoSets/cellSet.H +++ b/src/meshTools/sets/topoSets/cellSet.H @@ -65,7 +65,7 @@ public: // Constructors //- Construct from IOobject. No checking. - cellSet(const IOobject& obj); + explicit cellSet(const IOobject& obj); //- Construct from polyMesh and name. Checks for valid cell ids. cellSet diff --git a/src/meshTools/sets/topoSets/faceSet.H b/src/meshTools/sets/topoSets/faceSet.H index 18787ca5debf8e0aa1f3047b2c272750b3c2ee5b..7653db16208595a46fa3d0930e00dac2af819b7b 100644 --- a/src/meshTools/sets/topoSets/faceSet.H +++ b/src/meshTools/sets/topoSets/faceSet.H @@ -59,9 +59,8 @@ public: // Constructors - //- Construct from IOobject - faceSet(const IOobject& obj); + explicit faceSet(const IOobject& obj); //- Construct from objectRegistry and name faceSet diff --git a/src/meshTools/sets/topoSets/pointSet.H b/src/meshTools/sets/topoSets/pointSet.H index c31f86e688aaebdb730c064a298520b94d1b94b2..4f4025adc8b4aca55c1fc251c7a25fa471b0e804 100644 --- a/src/meshTools/sets/topoSets/pointSet.H +++ b/src/meshTools/sets/topoSets/pointSet.H @@ -60,9 +60,8 @@ public: // Constructors - //- Construct from IOobject - pointSet(const IOobject& obj); + explicit pointSet(const IOobject& obj); //- Construct from objectRegistry and name pointSet diff --git a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/blockMeshDict b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/blockMeshDict index 36e529969ba2144523bde3ac22b31e91b3b4c3bc..2a1810928545cbf35e26dc07281ada5924790a87 100644 --- a/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/blockMeshDict +++ b/tutorials/combustion/XiDyMFoam/annularCombustorTurbine/system/blockMeshDict @@ -14,7 +14,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -convertUoMeters 1; +scale 1; r0 34; r1 39;