Commit Graph

100 Commits

Author SHA1 Message Date
ff04d59d2d foamTags: Changed ectags -> ctags-exuberant
ctags-exuberant is now the more common name for the exuberant ctags
program.

Commented-out gtags as it is not commonly available.
2016-11-05 18:31:19 +00:00
daf845ba69 foamLog: Added clockTime
Patch contributed by Paul Edwards, Intel
2016-11-04 14:33:47 +00:00
1685585b82 foamCleanPath: Changed sed delimiter from '@' to '|' to allow Email addresses
Patch contributed by Bruno Santos
http://bugs.openfoam.org/view.php?id=2306
2016-10-25 17:06:59 +01:00
fead57c2ab foamCleanTutorials: Simplified cleaning the mesh by removing the constant/polyMesh directory 2016-10-13 15:02:32 +01:00
f8d3a2a0a6 pre-commit-hook: Added checks for multi-level template parameters and 'NULL'
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2267

   1. Spaced ending of multi-level template parameters are not allowed, such as:

       List<List<scalar> >

     which instead should be:

       List<List<scalar>>

   2. The use of the 'NULL' macro should be replaced by 'nullptr'
2016-09-25 18:43:50 +01:00
ed068e4c20 foamEtcFile: replaced redundant package directory name 2016-09-09 20:00:26 +01:00
1467bf2428 RunFunctions: corrected typo $SUFFIX -> $LOG_SUFFIX
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2176
2016-08-02 21:32:38 +01:00
a6056b7329 foamNewBC: removes phip completely for fixedValue condition 2016-07-26 15:25:18 +01:00
f2c263b9fd TDACChemistryModel: New chemistry model providing Tabulation of Dynamic Adaptive Chemistry
Provides efficient integration of complex laminar reaction chemistry,
combining the advantages of automatic dynamic specie and reaction
reduction with ISAT (in situ adaptive tabulation).  The advantages grow
as the complexity of the chemistry increases.

References:
    Contino, F., Jeanmart, H., Lucchini, T., & D’Errico, G. (2011).
    Coupling of in situ adaptive tabulation and dynamic adaptive chemistry:
    An effective method for solving combustion in engine simulations.
    Proceedings of the Combustion Institute, 33(2), 3057-3064.

    Contino, F., Lucchini, T., D'Errico, G., Duynslaegher, C.,
    Dias, V., & Jeanmart, H. (2012).
    Simulations of advanced combustion modes using detailed chemistry
    combined with tabulation and mechanism reduction techniques.
    SAE International Journal of Engines,
    5(2012-01-0145), 185-196.

    Contino, F., Foucher, F., Dagaut, P., Lucchini, T., D’Errico, G., &
    Mounaïm-Rousselle, C. (2013).
    Experimental and numerical analysis of nitric oxide effect on the
    ignition of iso-octane in a single cylinder HCCI engine.
    Combustion and Flame, 160(8), 1476-1483.

    Contino, F., Masurier, J. B., Foucher, F., Lucchini, T., D’Errico, G., &
    Dagaut, P. (2014).
    CFD simulations using the TDAC method to model iso-octane combustion
    for a large range of ozone seeding and temperature conditions
    in a single cylinder HCCI engine.
    Fuel, 137, 179-184.

Two tutorial cases are currently provided:
    + tutorials/combustion/chemFoam/ic8h18_TDAC
    + tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC

the first of which clearly demonstrates the advantage of dynamic
adaptive chemistry providing ~10x speedup,

the second demonstrates ISAT on the modest complex GRI mechanisms for
methane combustion, providing a speedup of ~4x.

More tutorials demonstrating TDAC on more complex mechanisms and cases
will be provided soon in addition to documentation for the operation and
settings of TDAC.  Also further updates to the TDAC code to improve
consistency and integration with the rest of OpenFOAM and further
optimize operation can be expected.

Original code providing all algorithms for chemistry reduction and
tabulation contributed by Francesco Contino, Tommaso Lucchini, Gianluca
D’Errico, Hervé Jeanmart, Nicolas Bourgeois and Stéphane Backaert.

Implementation updated, optimized and integrated into OpenFOAM-dev by
Henry G. Weller, CFD Direct Ltd with the help of Francesco Contino.
2016-07-17 15:13:54 +01:00
fd6701dd0f foamCleanPolyMesh: No need to warn about missing 'polyMesh' directories 2016-07-12 09:07:15 +01:00
c263bbca65 Completed transformation of post-processing utilities into functionObjects 2016-06-28 19:26:23 +01:00
53717e9137 writeCellCentres utility: Replaced by writeCellCentres functionObject
postProcess -func writeCellCentres
2016-06-27 07:51:19 +01:00
67e5e20c65 foamGraph.*: Simplified scripts
Added a 'deprecated' comment and recommendation to use 'foamLog'
2016-06-25 22:14:25 +01:00
e4397aed41 bin/foamGraph.*: Converted to POSIX shell 2016-06-24 22:32:50 +01:00
ce6be24847 foamListSourceFiles: keep .orig files 2016-06-24 22:32:22 +01:00
cf89a3094a Updated and simplified the Doxygen documentation 2016-06-20 21:20:28 +01:00
988b5680ac bin/tools/doxyFilter.sed: Corrected 2016-06-17 18:59:09 +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
2b7ee7354c Merge branch 'master' of github.com:OpenFOAM/OpenFOAM-dev 2016-06-17 17:14:30 +01:00
4ebaed67f9 Doxygen documentation: Remove superfluous linebreak 2016-06-17 17:13:39 +01:00
985df5f43e foamSearch: new script that searches a directory for
dictionary files of a particular name and extracts entries of a
particular keyword, sorting results into a unique list.

For example,
    foamSearch $FOAM_TUTORIALS laplacianSchemes.default fvSchemes

produces...
    default         Gauss linear corrected;
    default         Gauss linear limited corrected 0.33;
    default         Gauss linear limited corrected 0.5;
    default         Gauss linear orthogonal;
    default         Gauss linear uncorrected;
    default         none;

Uses the fantastic foamDictionary utility.
2016-06-17 14:53:43 +01:00
9759c3045c foamMonitor: fixed bug in test syntax 2016-06-16 15:04:12 +01:00
067a068e27 Utility ptot has been superceded by the postProcess utility:
postProcess -func 'totalPressureIncompressible(U,p)'
or
    postProcess -func 'totalPressureCompressible(rho,U,p)'
2016-06-13 16:42:00 +01:00
e9d69df161 Utility sample: replaced by 'postProcess -func sample'
To re-use existing 'sampleDict' files simply add the following entries:

    type sets;
    libs ("libsampling.so");

and run

    postProcess -func sampleDict

It is probably better to also rename 'sampleDict' -> 'sample' and then run

    postProcess -func sampleDict
2016-06-13 14:27:46 +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
f3bb750f8b bin/tools/RunFunctions: Simplified using the foamDictionary -value option 2016-06-10 20:24:12 +01:00
743085a667 bin/tools/RunFunctions: Updated to use foamDictionary 2016-06-10 18:02:26 +01:00
a495f4d738 foamDebugSwitches -> foamList -debug 2016-06-10 13:34:58 +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
8870e18750 foamConfigurePaths: Updated foamInstall option 2016-06-06 19:32:01 +01:00
24def40ca7 Update headers 2016-06-06 17:22:23 +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
c33e34a532 foamInfoExec: Time listing functionality superseded by foamListTimes 2016-06-03 19:23:27 +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
a5ed7f57fc etc/codeTemplates/functionObject: Updated to correspond to the new functionObject structure 2016-05-15 21:47:18 +01:00
3be1d14af8 execFlowFunctionObjects: Replaced with script providing instructions to use the '-postProcess' option 2016-05-09 17:02:00 +01:00
97668c21a3 functionObjects: Moved functionObjects namespace documentation into functionObject.H 2016-05-04 13:56:36 +01:00
59f7f1ef0e foamNewFunctionObject: script to create template code for a new function object
Run foamNewFunctionObject -h for details
2016-03-22 17:40:03 +00:00
6ee4cad870 paraFoam: Updated instructions to build the reader modules
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2027
2016-03-16 09:24:25 +00:00
41035d1643 bin/tools/foamConfigurePaths: foamCompiler -> WM_COMPILER_TYPE 2016-03-09 09:05:07 +00:00
499c221df4 Sprucing up the tutorials folder and adding -dict to "collapseEdges"
Patch provided by Bruno Santos
Resolves patch application request http://www.openfoam.org/mantisbt/view.php?id=2015
2016-03-06 19:06:44 +00:00
fa0656c358 scripts: Reformat with consistent section separators 2016-02-15 18:30:24 +00:00
603b513b20 foamRunTutorials: Removed redundant code and simplified 2016-02-15 16:36:58 +00:00
7c762bb90d foamRunTutorials: Rationalized support for the "-test" option
RunFunctions: Added "isTest()" argument parsing function
tutorials: Updated Allrun scripts to propagate the "-test" option
tutorials: Removed the lower Alltest scripts and updated the Allrun to
    use the "isTest()" function to handle test-specific operation
2016-02-15 15:49:05 +00:00
f6fe8a8fbe Update header 2016-02-10 16:20:46 +00:00
f48d94b4a6 Updates for changes to etc/config structure 2016-02-10 16:20:19 +00:00