Commit Graph

172 Commits

Author SHA1 Message Date
d251485534 etc/config.sh/aliases: For backward-compatibility unalias wmRefresh if it is defined as an alias 2016-06-24 10:36:04 +01:00
506dca5434 CGAL: Set to use the system CGAL installation by default 2016-06-23 16:05:44 +01:00
7e98654c65 etc/config.[c]sh: update wmRefresh to call wmUnset before updating the environment 2016-06-21 19:48:19 +01:00
babaeeae84 etc/caseDicts: Removed trailing whitespace 2016-06-21 16:13:22 +01:00
9f67acdc53 Updated header documentation processed by Doxygen 2016-06-19 21:23:54 +01:00
8a5304edf6 Doxygen documentation: Standardized the 'See also' heading 2016-06-17 17:31:34 +01:00
2ca0a6f362 Doxygen documentation: Use the standard 'Usage' rather than the '\heading....' 2016-06-17 17:22:24 +01:00
9f4ee75afc singleGraph post-processing: added example configuration comments 2016-06-17 12:31:43 +01:00
ad2cfd4288 sample function: add overrides comment and example 2016-06-16 22:51:22 +01:00
f7667ae050 Packaged function objects: reformatted units in Descriptions 2016-06-16 13:04:13 +01:00
92dd330ad7 functionObjectList::list: Support recursion when listing functionObject configuration files 2016-06-16 13:02:17 +01:00
0bb828d34a Template cases: commenting out scalarLevels to prevent 0 directory
being filled with cellLevel files, which generally breaks workflows
2016-06-15 18:06:12 +01:00
6124199757 Template cases: removed solver entries using default values from fvSolution 2016-06-15 16:28:42 +01:00
1bc9ff44e1 Legacy solver wrappers ICCG and BICCG removed
Instead of ICCG use PCG with the DIC preconditioner
Instead of BICCG use PBiCG with the DILU preconditioner
2016-06-14 14:53:28 +01:00
b758db8882 etc/caseDicts/postProcessing: simplified configuration files 2016-06-13 17:03:06 +01:00
8e99a312e8 functionObjects: Completed transformation of 'source' to vol/surfaceRegion 2016-06-13 09:42:14 +01:00
b3f4d5855d functionObjects: Simplified the handling of the post-processing mode
Replaced the 'postProcess' argument to the 'write' and 'execute'
functions with the single static member 'postProcess' in the
functionObject base-class.
2016-06-13 08:36:03 +01:00
41c2e4bc11 Utilities patchAverage and patchIntegrate replaced by postProcess
e.g.
    postProcess -func 'patchAverage(name=inlet,p)'
    postProcess -func 'patchIntegrate(name=inlet,p)'
2016-06-12 22:32:15 +01:00
f49025ac86 etc/caseDicts/postProcessing/flowRate: Corrected includes
Resolves bug-report http://bugs.openfoam.org/view.php?id=2117
2016-06-12 22:28:51 +01:00
1d7e1a7ad5 functionObjects: renamed faceSource -> surfaceRegion, cellSource -> volRegion
The use of the term 'source' in the context of post-processing is
confusing and does not properly describe the process of region
selection.  The new names 'surfaceRegion' and 'volRegion' better
describe the purpose of the functionObjects which is to provide field
processing functionality limited to a specified region of space, either
a surface or volume.

The keyword 'source' is renamed 'regionType' which better describes the
purpose which is to specify the method by which the surface or volume
region is selected.

The keyword to select the name of the surface or volume region is
renamed from 'sourceName' to 'name' consistent with the other
name-changes above.
2016-06-12 20:56:51 +01:00
3b1971d88c functionObjects: 'valueOutput' -> 'writeFields' 2016-06-11 15:26:10 +01:00
47f374070f pressureDifference packaged function object: corrected include statement 2016-06-11 12:40:59 +01:00
605c489d5f Packaged function objects: added a Description entry 2016-06-11 08:53:04 +01:00
9cf8bd8313 etc/config.[c]sh/unset: unalias wmRefresh
Resolves bug-report http://bugs.openfoam.org/view.php?id=2112
2016-06-10 22:19:21 +01:00
f30e7a6721 functionObjects::fieldValue: Added support for 'field' entry
Added patchIntegrate configuration
2016-06-10 10:37:37 +01:00
6221186311 functionObjects::writeRegisteredObject -> functionObjects::writeObjects
Added configuration file etc/caseDicts/postProcessing/fields/writeObjects
2016-06-10 08:28:13 +01:00
0c36513c12 createTurbulenceFields: utility replaced by 'turbulenceFields' functionObject used with the '-postProcess' option 2016-06-09 17:17:19 +01:00
f200a99262 R: utility replaced by functionObject used with the '-postProcess' option 2016-06-09 16:28:30 +01:00
8eabf85f9a wallShearStress: utility replaced by functionObject used with the '-postProcess' option 2016-06-09 16:05:13 +01:00
2c61071f99 Merge branch 'master' of github.com:OpenFOAM/OpenFOAM-dev 2016-06-09 14:52:04 +01:00
d744705ee4 functionObjects::scalarTransport: simplified, standardized, rationalized
tutorials/incompressible/pisoFoam/les/pitzDaily: Added scalarTransport
functionObject to demonstrate the new functionality
2016-06-08 15:11:57 +01:00
ada79530d0 Name of packaged function object consistent with filename
to enable the postProcess -func <function> option to work
2016-06-08 14:16:38 +01:00
477d40f0a2 etc/bashrc,cshrc: Use "$WM_PROJECT" rather than "OpenFOAM" in the setting of $FOAM_INST_DIR
Patch contributed by Bruno Santos
Resolves patch request http://bugs.openfoam.org/view.php?id=2112
2016-06-08 11:51:21 +01:00
014374fb73 etc/config.*/aliases: Updated, removed duplicates and added foamVersion
foamVersion: prints the current OpenFOAM version
foamVersion <version>: changes to the specified version
2016-06-07 16:15:46 +01:00
4114a1e2bf etc/bashrc,cshrc: Simplify and automate the setting of FOAM_INST_DIR
FOAM_INST_DIR is the location of the OpenFOAM installation which defaults to
the directory containing the etc/bashrc,cshrc file.  If this default is
not appropriate FOAM_INST_DIR can be set explicitly.
2016-06-06 17:20:10 +01:00
e8a49d8f5a etc/config.*/unset: Added CGAL-related environment variables 2016-06-05 18:22:28 +01:00
3a15897def etc/caseDicts/postProcessing: Updated now that #includeFunc handles function arguments 2016-06-01 21:52:07 +01:00
397fd32561 etc/config.*/paraview: Upgraded to ParaView-5.0.1 2016-05-30 21:27:11 +01:00
c9bfcc665a etc/config.*: Added support for gcc-6.1 2016-05-29 22:28:07 +01:00
ab5a6a4984 CGAL: Upgraded to 4.8 2016-05-29 22:27:46 +01:00
8b672f0f1a postProcessing: Replaced 'foamCalc' and the 'postCalc' utilities
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.
2016-05-28 18:58:48 +01:00
fd52818d3d etc/caseDicts/postProcessing: Updated for recent developments in functionObjects 2016-05-26 16:31:32 +01:00
53d97b8574 etc/caseDicts/postProcessing/fields: Added 'components' and 'div' 2016-05-26 15:34:15 +01:00
6ea0cbc9cb etc/caseDicts/postProcessing/fields/Q: Simplified 2016-05-26 15:34:01 +01:00
f4ecb2ff23 functionObjects::randomise: New functionObject to create a field with a random perturbation 2016-05-26 15:32:10 +01:00
21773a47b6 etc/config.*/aliases: Renamed aliases to be less SHOUTY and confusing 2016-05-23 18:47:28 +01:00
f2331a8587 dynamicCode: Renamed 'redirectType' to 'name' to clarify the purpose
of the entry which is to provide the name of the generated class.

'redirectType' is supported for backward-compatibility.
2016-05-18 23:10:42 +01:00
982ebe6f59 functionObjects::partialWrite: Redundant and removed
the equivalent functionality is provided by the writeRegisteredObject
   functionObject in a MUCH simpler, easier and extensible manner.

functionObject: Removed the now redundant 'timeSet' function.
2016-05-18 12:23:29 +01:00
38b99504c0 dynamicCode: the "code" entry is now optional
codedFunctionObject: Added the "codeWrite" entry
    for the "write" function for consistency.
    The previous method of using the "code" entry for the "write"
    function was inconsistent and very confusing.
2016-05-18 12:20:03 +01:00
2768aefa3c dynamicCode/functionObjectTemplate: Updated and simplified by deriving from the regionFunctionObject base-class 2016-05-16 22:23:53 +01:00