Skip to content
Snippets Groups Projects
  1. Nov 13, 2016
  2. Nov 09, 2016
    • Henry Weller's avatar
      foamTags: Rationalized tagging · 31880131
      Henry Weller authored
      The best of the current options is to use the latest version of
      exuberant ctags (which has a new C++ parser) to generate both
      declaration and definition tags.
      
      gtags works to some extent and provides additional information about the
      function signatures but the C++ parser is not accurate and misses scope
      information.  gtags can be used with the ctags parser which is effective
      but looses the primary advantage of gtags being able to provide function
      signatures so support has been switched-off by default.
      
      ebrowse does not appear to be very useful for traversing the OpenFOAM
      class tree and the support has been switched-off by default.
      31880131
  3. Nov 05, 2016
  4. Nov 04, 2016
  5. Oct 25, 2016
  6. Oct 13, 2016
  7. Sep 25, 2016
  8. Sep 09, 2016
  9. Aug 02, 2016
  10. Jul 26, 2016
  11. Jul 17, 2016
    • Henry Weller's avatar
      TDACChemistryModel: New chemistry model providing Tabulation of Dynamic Adaptive Chemistry · f2c263b9
      Henry Weller authored
      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.
      f2c263b9
  12. Jul 12, 2016
  13. Jun 28, 2016
  14. Jun 27, 2016
  15. Jun 25, 2016
  16. Jun 24, 2016
  17. Jun 20, 2016
  18. Jun 17, 2016
  19. Jun 16, 2016
  20. Jun 13, 2016
  21. Jun 12, 2016
  22. Jun 10, 2016
  23. Jun 09, 2016
  24. Jun 06, 2016
  25. Jun 03, 2016
  26. May 28, 2016
    • Henry Weller's avatar
      postProcessing: Replaced 'foamCalc' and the 'postCalc' utilities · 8b672f0f
      Henry Weller authored
      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.
      8b672f0f
  27. May 15, 2016