1. 18 Dec, 2019 2 commits
    • Andrew Heather's avatar
      58009f65
    • Kutalmış Berçin's avatar
      ENH: new RAS model: kEpsilonPhitF · e38e5d67
      Kutalmış Berçin authored
          ENH: modify fWallFunction for kEpsilonPhitF model
      
          The k-epsilon-phit-f turbulence closure model for incompressible and
          compressible flows.
      
          The model is a three-transport-equation linear-eddy-viscosity turbulence
          closure model alongside an elliptic relaxation equation:
            - Turbulent kinetic energy, \c k,
            - Turbulent kinetic energy dissipation rate, \c epsilon,
            - Normalised wall-normal fluctuating velocity scale, \c phit,
            - Elliptic relaxation factor, \c f.
      
          Reference:
          \verbatim
              Standard model (Tag:LUU):
                  Laurence, D. R., Uribe, J. C., & Utyuzhnikov, S. V. (2005).
                  A robust formulation of the v2−f model.
                  Flow, Turbulence and Combustion, 73(3-4), 169–185.
                  DOI:10.1007/s10494-005-1974-8
          \endverbatim
      
          The default model coefficients are (LUU:Eqs. 19-20):
          \verbatim
              kEpsilonPhitFCoeffs
              {
                  Cmu         0.22,    // Turbulent viscosity constant
                  Ceps1a      1.4,     // Model constant for epsilon
                  Ceps1b      1.0,     // Model constant for epsilon
                  Ceps1c      0.05,    // Model constant for epsilon
                  Ceps2       1.9,     // Model constant for epsilon
                  Cf1         1.4,     // Model constant for f
                  Cf2         0.3,     // Model constant for f
                  CL          0.25,    // Model constant for L
                  Ceta        110.0,   // Model constant for L
                  CT          6.0,     // Model constant for T
                  sigmaK      1.0,     // Turbulent Prandtl number for k
                  sigmaEps    1.3,     // Turbulent Prandtl number for epsilon
                  sigmaPhit   1.0,     // Turbulent Prandtl number for phit = sigmaK
              }
          \endverbatim
      
      Note
          The name of the original variable replacing 'v2' is 'phi' (LUU:Eq. 14).
          However, the name 'phi' preexisted in OpenFOAM; therefore, this name was
          replaced by 'phit'
      e38e5d67
  2. 31 Oct, 2019 1 commit
  3. 13 Feb, 2019 1 commit
  4. 06 Feb, 2019 1 commit
  5. 11 Dec, 2018 1 commit
    • Mark Olesen's avatar
      ENH: use Zero when zero-initializing types · 1d85fecf
      Mark Olesen authored
      - makes the intent clearer and avoids the need for additional
        constructor casting. Eg,
      
            labelList(10, Zero)    vs.  labelList(10, 0)
            scalarField(10, Zero)  vs.  scalarField(10, scalar(0))
            vectorField(10, Zero)  vs.  vectorField(10, vector::zero)
      1d85fecf
  6. 16 Mar, 2018 1 commit
    • Mark Olesen's avatar
      STYLE: more consistent use of dimensioned Zero · 2f86cdc7
      Mark Olesen authored
      - when constructing dimensioned fields that are to be zero-initialized,
        it is preferrable to use a form such as
      
            dimensionedScalar(dims, Zero)
            dimensionedVector(dims, Zero)
      
        rather than
      
            dimensionedScalar("0", dims, 0)
            dimensionedVector("zero", dims, vector::zero)
      
        This reduces clutter and also avoids any suggestion that the name of
        the dimensioned quantity has any influence on the field's name.
      
        An even shorter version is possible. Eg,
      
            dimensionedScalar(dims)
      
        but reduces the clarity of meaning.
      
      - NB: UniformDimensionedField is an exception to these style changes
        since it does use the name of the dimensioned type (instead of the
        regIOobject).
      2f86cdc7
  7. 13 Jul, 2018 1 commit
  8. 20 Jul, 2017 1 commit
  9. 11 Oct, 2017 1 commit
  10. 28 Nov, 2016 1 commit
  11. 24 Apr, 2016 1 commit
  12. 24 Feb, 2016 1 commit
    • Henry Weller's avatar
      tmp: Improved reference count checks to provide better error diagnostics · c02bf70e
      Henry Weller authored
      in case of tmp misuse.
      
      Simplified tmp reuse pattern in field algebra to use tmp copy and
      assignment rather than the complex delayed call to 'ptr()'.
      
      Removed support for unused non-const 'REF' storage of non-tmp objects due to C++
      limitation in constructor overloading: if both tmp(T&) and tmp(const T&)
      constructors are provided resolution is ambiguous.
      
      The turbulence libraries have been upgraded and '-DCONST_TMP' option
      specified in the 'options' file to switch to the new 'tmp' behavior.
      c02bf70e
  13. 10 Jan, 2016 1 commit
  14. 17 Dec, 2015 1 commit
  15. 15 Dec, 2015 1 commit
  16. 03 Dec, 2015 1 commit
  17. 01 Dec, 2015 1 commit
    • Henry Weller's avatar
      TurbulenceModels: Added validate function · 52d83407
      Henry Weller authored
      Moved correctNut call from constructors to the new validate function to
      avoid problems with construction order and field availability for the
      calculation of nut.
      
      To ensure nut is physical and consistent with the turbulence fields the
      validate function should be called after the construction of the
      turbulence model, fvOptions and any other fields that the calculation of
      nut might depend on.
      52d83407
  18. 23 Nov, 2015 1 commit
  19. 12 Feb, 2015 1 commit
  20. 25 Jan, 2015 2 commits
  21. 21 Jan, 2015 1 commit
    • Henry's avatar
      Updated the whole of OpenFOAM to use the new templated TurbulenceModels library · 2aec2496
      Henry authored
      The old separate incompressible and compressible libraries have been removed.
      
      Most of the commonly used RANS and LES models have been upgraded to the
      new framework but there are a few missing which will be added over the
      next few days, in particular the realizable k-epsilon model.  Some of
      the less common incompressible RANS models have been introduced into the
      new library instantiated for incompressible flow only.  If they prove to
      be generally useful they can be templated for compressible and
      multiphase application.
      
      The Spalart-Allmaras DDES and IDDES models have been thoroughly
      debugged, removing serious errors concerning the use of S rather than
      Omega.
      
      The compressible instances of the models have been augmented by a simple
      backward-compatible eddyDiffusivity model for thermal transport based on
      alphat and alphaEff.  This will be replaced with a separate run-time
      selectable thermal transport model framework in a few weeks.
      
      For simplicity and ease of maintenance and further development the
      turbulent transport and wall modeling is based on nut/nuEff rather than
      mut/muEff for compressible models so that all forms of turbulence models
      can use the same wall-functions and other BCs.
      
      All turbulence model selection made in the constant/turbulenceProperties
      dictionary with RAS and LES as sub-dictionaries rather than in separate
      files which added huge complexity for multiphase.
      
      All tutorials have been updated so study the changes and update your own
      cases by comparison with similar cases provided.
      
      Sorry for the inconvenience in the break in backward-compatibility but
      this update to the turbulence modeling is an essential step in the
      future of OpenFOAM to allow more models to be added and maintained for a
      wider range of cases and physics.  Over the next weeks and months more
      turbulence models will be added of single and multiphase flow, more
      additional sub-models and further development and testing of existing
      models.  I hope this brings benefits to all OpenFOAM users.
      
      Henry G. Weller
      2aec2496
  22. 12 Jan, 2015 2 commits
  23. 27 Nov, 2013 1 commit
  24. 18 Feb, 2013 1 commit
  25. 12 Feb, 2013 1 commit
  26. 12 Dec, 2012 1 commit
  27. 27 Nov, 2012 1 commit
  28. 02 Nov, 2012 2 commits
  29. 12 Oct, 2012 1 commit
  30. 27 Jul, 2012 2 commits
  31. 14 Aug, 2011 1 commit
  32. 19 Jan, 2011 1 commit
  33. 14 Jan, 2011 1 commit
  34. 07 Jan, 2011 1 commit
  35. 05 Jan, 2011 1 commit