Commit Graph

182 Commits

Author SHA1 Message Date
Andrew Heather
38e40ffb95 BUG: foamList - removed link against randomProcesses lib. Fixes #343 2016-12-15 16:31:38 +00:00
Andrew Heather
83dab87568 ENH: foamList lib updates 2016-12-15 14:26:56 +00:00
Andrew Heather
28bd150db6 ENH: foamList - updated link libs to avoid error on exiting 2016-12-12 12:37:57 +00:00
Andrew Heather
c0f44ac4f3 MRG: Integrated foundation code 2016-12-12 12:10:29 +00:00
Henry Weller
1d1f71f7cd foamDictionary: Added support for manipulating lists of dictionaries
- provides support for manipulating polyMesh/boundary

  - changed behaviour of disableFunctionEntries option to preserve
    #include

  - dictionary: added reading of lists of dictionaries.
    + each list element may be accessed using the 'entryDDD' keyword
      according to their list index.

Patch contributed by Mattijs Janssens
2016-11-25 20:33:03 +00:00
Andrew Heather
1f826361c6 STYLE: Consistency updates to change input of <var>Name to <var>. Fixes #306 2016-11-22 14:50:33 +00:00
Henry Weller
80db302666 Allwmake: Remove 'set -x' which generates a lot of noise
'set -x' should be used for debugging.

Added command printing into wmake and Allwmake as a replacement for
'set -x' to log current target.
2016-11-13 18:08:22 +00:00
Henry Weller
f6e170dcd3 foamDictionary: Corrected error message type 2016-11-11 17:21:13 +00:00
Andrew Heather
af81184ecf MRG: Resolve conflict with latest foundation merge 2016-10-26 15:37:15 +01:00
Henry Weller
d2b96d88da foamDictionary: Added '-diff <dict>' option
- Write differences with respect to the specified dictionary
    (or sub entry if -entry specified)

  - Write the differences with respect to a template dictionary:
      foamDictionary 0/U -diff $FOAM_ETC/templates/closedVolume/0/U

  - Write the differences in boundaryField with respect to a
    template dictionary:
      foamDictionary 0/U -diff $FOAM_ETC/templates/closedVolume/0/U \
        -entry boundaryField

Patch contributed by Mattijs Janssens
2016-10-18 18:23:24 +01:00
Henry Weller
70be3aa189 foamDictionary: New '-remove' to remove a dictionary entry
Patch contributed by Mattijs Janssens
2016-10-07 17:35:39 +01:00
Andrew Heather
bd0e982d99 MRG: Initial commit after latest Foundation merge 2016-09-30 11:16:28 +01:00
Andrew Heather
b9940cbbb1 COMP: Multiple changes - first clean build after latest merge - UNTESTED 2016-09-23 15:36:53 +01:00
Henry Weller
49d3b6eae9 foamList: Added missing -I$(LIB_SRC)/meshTools/lnInclude needed for recent changes to AMI 2016-09-20 14:51:13 +01:00
Andrew Heather
9fbd612672 GIT: Initial state after latest Foundation merge 2016-09-20 14:49:08 +01:00
mattijs
78bbfc4409 COMP: foamDebugSwitches: support for missing randomProcesses. Fixes #213. 2016-08-19 10:46:53 +01:00
Mark Olesen
8bb78dda60 ENH: provide a vfork/exec version of system (issue #185)
The normal library system() command uses 'fork', which causes
problems on IB+OPENMPI.

STYLE: add Foam:: qualifier to system calls to make them easier to spot.
2016-07-18 13:37:39 +02:00
Henry Weller
dea6a3c6e8 wmake/Allwmake: Completed support for targetType 'objects'
Patch contributed by Mattijs Janssens
2016-06-24 15:25:11 +01:00
Henry Weller
6a53ed41ba Doxygen documentation: Standardized the 'See also' heading 2016-06-17 17:31:34 +01:00
Henry Weller
1319df48d9 Rationalized Doxygen documentation of command-line options 2016-06-17 09:11:58 +01:00
Henry Weller
2e206db93c foamList: Remove dependency on utility libraries 2016-06-17 07:37:43 +01:00
Henry Weller
31e09c82da foamList: Avoid linking optional libraries 2016-06-16 08:09:49 +01:00
Mark Olesen
6ed05f0cd3 STYLE: mention suppression of banner for surfaceMeshInfo, ... (issue #125) 2016-07-06 07:43:05 +02:00
Henry Weller
cbbb8bbdad foamList: Complete set of included libraries 2016-06-15 14:23:14 +01:00
Henry Weller
dc305b04f3 foamList: Added support for listing scalar and vector field boundary conditions
Usage: foamList [OPTIONS]
options:
  -case <dir>       specify alternate case directory, default is the cwd
  -compressibleTurbulenceModels
                    List compressible turbulenceModels
  -functionObjects  List functionObjects
  -fvOptions        List fvOptions
  -incompressibleTurbulenceModels
                    List incompressible turbulenceModels
  -noFunctionObjects
                    do not execute functionObjects
  -registeredSwitches
                    List switches registered for run-time modification
  -scalarBCs        List scalar field boundary conditions (fvPatchField<scalar>)
  -switches         List switches declared in libraries but not set in
                    etc/controlDict
  -unset            List switches declared in libraries but not set in
                    etc/controlDict
  -vectorBCs        List vector field boundary conditions (fvPatchField<vector>)
  -srcDoc           display source code in browser
  -doc              display application documentation in browser
  -help             print the usage
2016-06-14 17:43:31 +01:00
Henry Weller
fbc0d4f4f1 foamList: Added support for listing fvOptions, functionObjects and turbulence models
Usage: foamList [OPTIONS]
options:
  -case <dir>       specify alternate case directory, default is the cwd
  -compressibleTurbulenceModels
                    List compressible turbulenceModels
  -functionObjects  List functionObjects
  -fvOptions        List fvOptions
  -incompressibleTurbulenceModels
                    List incompressible turbulenceModels
  -noFunctionObjects
                    do not execute functionObjects
  -registeredSwitches
                    List switches registered for run-time modification
  -switches         List switches declared in libraries but not set in
                    etc/controlDict
  -unset            List switches declared in libraries but not set in
                    etc/controlDict
  -srcDoc           display source code in browser
  -doc              display application documentation in browser
  -help             print the usage
2016-06-14 16:45:27 +01:00
Henry Weller
fda11f60b1 foamListTimes: moved to applications/utilities/miscellaneous/foamListTimes 2016-06-13 16:42:25 +01:00
Henry Weller
55782e2868 foamList: Updated handling of switches and removed the '-redundant' option which does not work 2016-06-11 15:24:01 +01:00
Henry Weller
29bff520a4 foamDictionary: Added -value option to print the value associated with an entry 2016-06-10 20:23:46 +01:00
Henry Weller
533135ebd4 foamDictionary: Added -expand and -includes options
Replaces expandDictionary utility
2016-06-10 17:39:16 +01:00
Henry Weller
c8188265f1 foamDebugSwitches -> foamList -debug 2016-06-10 13:34:58 +01:00
Henry Weller
0aa4d70b9d applications/utilities: FOAM_USER_APPBIN -> FOAM_APPBIN 2016-06-10 10:35:57 +01:00
Henry Weller
c93dcf98a6 applications/utilities/miscellaneous/foamDictionary/Make/options: Removed debug options 2016-06-07 16:27:22 +01:00
Henry Weller
d984a96645 foamDictionary: New utility to print and manipulate dictionary entries
Replaces the dictionary access functionality of foamInfoExec and
provides additional options to edit individual entries.
Contributed by Mattijs Janssens
2016-06-03 19:24:05 +01:00
Henry Weller
dd281330bc foamInfoExec: Time listing functionality superseded by foamListTimes 2016-06-03 19:23:27 +01:00
Henry Weller
7c45066996 includeEntry, includeEtcEntry, includeIfPresentEntry: report -> log
for consistency with the 'Log' macro.
2016-05-31 17:17:24 +01:00
Henry Weller
e4dc50dcb0 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
Henry Weller
67de20df25 Further standardization of loop index naming: pointI -> pointi, patchI -> patchi 2016-05-18 21:20:42 +01:00
Henry Weller
0f17d95410 foamDebugSwitches: Updated for changes in functionObjects 2016-05-06 17:41:56 +01:00
Henry Weller
32762aa1f9 Change field loop index from "fieldI" to "fieldi" 2016-05-02 18:20:48 +01:00
Henry Weller
2d5ff31649 boundaryField() -> boundaryFieldRef() 2016-04-24 22:07:37 +01:00
Henry Weller
a9b8bb13e0 applications/.*/Allwmake: Updated to support "stop on 1st error"
Patch contributed by Bruno Santos
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=2042
2016-04-04 09:03:40 +01:00
Henry Weller
730f89dc9d Use Zero rather than pTraits<Type>::zero unless a static typed '0' is required 2016-03-22 17:46:52 +00:00
Henry Weller
eb5d349242 Rationalize the autoMesh library: autoMesh -> snappyHexMesh 2016-03-01 16:01:42 +00:00
Andrew Heather
efb39a8790 ENH: (further) Doxygen documentation updates for module support 2016-06-27 20:34:19 +01:00
Andrew Heather
7572c99c79 GIT: Resolve conflict 2016-06-10 16:05:48 +01:00
Andrew Heather
c91712fbc3 ENH: foamHelp solver - added option to read solver type from the system/controlDict. Fixes #37 2016-04-29 16:05:47 +01:00
andy
fd9d801e2d GIT: Initial commit after latest foundation merge 2016-04-25 11:40:48 +01:00
mattijs
c35544f9cb Merge remote-tracking branch 'origin/develop' into feature-shared-file 2016-03-02 09:54:15 +00:00
Henry Weller
350d03246e scripts: Reformat with consistent section separators 2016-02-15 18:30:24 +00:00