with the more general and flexible 'postProcess' utility and '-postProcess' solver option Rationale --------- Both the 'postProcess' utility and '-postProcess' solver option use the same extensive set of functionObjects available for data-processing during the run avoiding the substantial code duplication necessary for the 'foamCalc' and 'postCalc' utilities and simplifying maintenance. Additionally consistency is guaranteed between solver data processing and post-processing. The functionObjects have been substantially re-written and generalized to simplify development and encourage contribution. Configuration ------------- An extensive set of simple functionObject configuration files are provided in OpenFOAM-dev/etc/caseDicts/postProcessing and more will be added in the future. These can either be copied into '<case>/system' directory and included into the 'controlDict.functions' sub-dictionary or included directly from 'etc/caseDicts/postProcessing' using the '#includeEtc' directive or the new and more convenient '#includeFunc' directive which searches the '<etc>/caseDicts/postProcessing' directories for the selected functionObject, e.g. functions { #includeFunc Q #includeFunc Lambda2 } '#includeFunc' first searches the '<case>/system' directory in case there is a local configuration. Description of #includeFunc --------------------------- Specify a functionObject dictionary file to include, expects the functionObject name to follow (without quotes). Search for functionObject dictionary file in user/group/shipped directories. The search scheme allows for version-specific and version-independent files using the following hierarchy: - \b user settings: - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing - ~/.OpenFOAM/caseDicts/postProcessing - \b group (site) settings (when $WM_PROJECT_SITE is set): - $WM_PROJECT_SITE/\<VERSION\>/caseDicts/postProcessing - $WM_PROJECT_SITE/caseDicts/postProcessing - \b group (site) settings (when $WM_PROJECT_SITE is not set): - $WM_PROJECT_INST_DIR/site/\<VERSION\>/caseDicts/postProcessing - $WM_PROJECT_INST_DIR/site/caseDicts/postProcessing - \b other (shipped) settings: - $WM_PROJECT_DIR/etc/caseDicts/postProcessing An example of the \c \#includeFunc directive: \verbatim #includeFunc <funcName> \endverbatim postProcess ----------- The 'postProcess' utility and '-postProcess' solver option provide the same set of controls to execute functionObjects after the run either by reading a specified set of fields to process in the case of 'postProcess' or by reading all fields and models required to start the run in the case of '-postProcess' for each selected time: postProcess -help Usage: postProcess [OPTIONS] options: -case <dir> specify alternate case directory, default is the cwd -constant include the 'constant/' dir in the times list -dict <file> read control dictionary from specified location -field <name> specify the name of the field to be processed, e.g. U -fields <list> specify a list of fields to be processed, e.g. '(U T p)' - regular expressions not currently supported -func <name> specify the name of the functionObject to execute, e.g. Q -funcs <list> specify the names of the functionObjects to execute, e.g. '(Q div(U))' -latestTime select the latest time -newTimes select the new times -noFunctionObjects do not execute functionObjects -noZero exclude the '0/' dir from the times list, has precedence over the -withZero option -parallel run in parallel -region <name> specify alternative mesh region -roots <(dir1 .. dirN)> slave root directories for distributed running -time <ranges> comma-separated time ranges - eg, ':10,20,40:70,1000:' -srcDoc display source code in browser -doc display application documentation in browser -help print the usage pimpleFoam -postProcess -help Usage: pimpleFoam [OPTIONS] options: -case <dir> specify alternate case directory, default is the cwd -constant include the 'constant/' dir in the times list -dict <file> read control dictionary from specified location -field <name> specify the name of the field to be processed, e.g. U -fields <list> specify a list of fields to be processed, e.g. '(U T p)' - regular expressions not currently supported -func <name> specify the name of the functionObject to execute, e.g. Q -funcs <list> specify the names of the functionObjects to execute, e.g. '(Q div(U))' -latestTime select the latest time -newTimes select the new times -noFunctionObjects do not execute functionObjects -noZero exclude the '0/' dir from the times list, has precedence over the -withZero option -parallel run in parallel -postProcess Execute functionObjects only -region <name> specify alternative mesh region -roots <(dir1 .. dirN)> slave root directories for distributed running -time <ranges> comma-separated time ranges - eg, ':10,20,40:70,1000:' -srcDoc display source code in browser -doc display application documentation in browser -help print the usage The functionObjects to execute may be specified on the command-line using the '-func' option for a single functionObject or '-funcs' for a list, e.g. postProcess -func Q postProcess -funcs '(div(U) div(phi))' In the case of 'Q' the default field to process is 'U' which is specified in and read from the configuration file but this may be overridden thus: postProcess -func 'Q(Ua)' as is done in the example above to calculate the two forms of the divergence of the velocity field. Additional fields which the functionObjects may depend on can be specified using the '-field' or '-fields' options. The 'postProcess' utility can only be used to execute functionObjects which process fields present in the time directories. However, functionObjects which depend on fields obtained from models, e.g. properties derived from turbulence models can be executed using the '-postProcess' of the appropriate solver, e.g. pisoFoam -postProcess -func PecletNo or sonicFoam -postProcess -func MachNo In this case all required fields will have already been read so the '-field' or '-fields' options are not be needed. Henry G. Weller CFD Direct Ltd.
173 lines
4.4 KiB
Bash
173 lines
4.4 KiB
Bash
#----------------------------------*-sh-*--------------------------------------
|
|
# ========= |
|
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
# \\ / O peration |
|
|
# \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
|
# \\/ 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/>.
|
|
#
|
|
# File
|
|
# etc/config.sh/unset
|
|
#
|
|
# Description
|
|
# Clear as many OpenFOAM environment settings as possible
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Clean standard environment variables (PATH, LD_LIBRARY_PATH, MANPATH)
|
|
foamClean=$WM_PROJECT_DIR/bin/foamCleanPath
|
|
[ -f "$foamClean" -a -x "$foamClean" ] || unset foamClean
|
|
|
|
# The old dirs to be cleaned from the environment variables
|
|
foamOldDirs="$WM_PROJECT_DIR $WM_THIRD_PARTY_DIR $HOME/$WM_PROJECT/$USER \
|
|
$WM_PROJECT_SITE $FOAM_SITE_APPBIN $FOAM_SITE_LIBBIN $ParaView_DIR"
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unset WM_* environment variables
|
|
|
|
unset WM_ARCH
|
|
unset WM_ARCH_OPTION
|
|
unset WM_CC
|
|
unset WM_CFLAGS
|
|
unset WM_COMPILER
|
|
unset WM_COMPILER_TYPE
|
|
unset WM_COMPILER_LIB_ARCH
|
|
unset WM_COMPILE_OPTION
|
|
unset WM_CXX
|
|
unset WM_CXXFLAGS
|
|
unset WM_DIR
|
|
unset WM_HOSTS
|
|
unset WM_LABEL_OPTION
|
|
unset WM_LABEL_SIZE
|
|
unset WM_LDFLAGS
|
|
unset WM_LINK_LANGUAGE
|
|
unset WM_MPLIB
|
|
unset WM_NCOMPPROCS
|
|
unset WM_OPTIONS
|
|
unset WM_OSTYPE
|
|
unset WM_PRECISION_OPTION
|
|
unset WM_PROJECT
|
|
unset WM_PROJECT_DIR
|
|
unset WM_PROJECT_INST_DIR
|
|
unset WM_PROJECT_SITE
|
|
unset WM_PROJECT_USER_DIR
|
|
unset WM_PROJECT_VERSION
|
|
unset WM_SCHEDULER
|
|
unset WM_THIRD_PARTY_DIR
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unset FOAM_* environment variables
|
|
|
|
unset FOAM_APPBIN
|
|
unset FOAM_APP
|
|
unset FOAM_EXT_LIBBIN
|
|
unset FOAM_CODE_TEMPLATES
|
|
unset FOAM_INST_DIR
|
|
unset FOAM_JOB_DIR
|
|
unset FOAM_LIBBIN
|
|
unset FOAM_MPI
|
|
unset FOAM_RUN
|
|
unset FOAM_SETTINGS
|
|
unset FOAM_SIGFPE
|
|
unset FOAM_SIGNAN
|
|
unset FOAM_SITE_APPBIN
|
|
unset FOAM_SITE_LIBBIN
|
|
unset FOAM_SOLVERS
|
|
unset FOAM_SRC
|
|
unset FOAM_TUTORIALS
|
|
unset FOAM_USER_APPBIN
|
|
unset FOAM_USER_LIBBIN
|
|
unset FOAM_UTILITIES
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unset MPI-related environment variables
|
|
|
|
unset MPI_ARCH_PATH
|
|
unset MPI_BUFFER_SIZE
|
|
unset OPAL_PREFIX
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unset Ensight/ParaView-related environment variables
|
|
|
|
unset ENSIGHT9_READER
|
|
unset CMAKE_HOME
|
|
unset ParaView_DIR
|
|
unset ParaView_INCLUDE_DIR
|
|
unset ParaView_MAJOR
|
|
unset ParaView_VERSION
|
|
unset PV_PLUGIN_PATH
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Cleanup environment
|
|
# PATH, LD_LIBRARY_PATH, MANPATH
|
|
|
|
if [ -n "$foamClean" ]
|
|
then
|
|
cleaned=`$foamClean "$PATH" "$foamOldDirs"` && PATH="$cleaned"
|
|
cleaned=`$foamClean "$LD_LIBRARY_PATH" "$foamOldDirs"` && LD_LIBRARY_PATH="$cleaned"
|
|
cleaned=`$foamClean "$MANPATH" "$foamOldDirs"` && MANPATH="$cleaned"
|
|
fi
|
|
|
|
|
|
[ -n "$LD_LIBRARY_PATH" ] || unset LD_LIBRARY_PATH
|
|
[ -n "$MANPATH" ] || unset MANPATH
|
|
[ -n "$LD_PRELOAD" ] || unset LD_PRELOAD
|
|
|
|
|
|
unset cleaned foamClean foamOldDirs
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Cleanup aliases
|
|
|
|
unalias wmSet
|
|
unalias wm64
|
|
unalias wm32
|
|
unalias wmSP
|
|
unalias wmDP
|
|
|
|
unalias wmUnset
|
|
|
|
unalias wmSchedOn
|
|
unalias wmSchedOff
|
|
unset foamPV
|
|
|
|
unalias src
|
|
unalias lib
|
|
unalias run
|
|
unalias foam
|
|
unalias foamsrc
|
|
unalias foamfv
|
|
unalias app
|
|
unalias util
|
|
unalias sol
|
|
unalias tut
|
|
|
|
unalias foamApps
|
|
unalias foamSol
|
|
unalias foamTuts
|
|
unalias foamUtils
|
|
unalias foam3rdParty
|
|
unalias foamSite
|
|
|
|
|
|
#------------------------------------------------------------------------------
|