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. 24 Sep, 2019 1 commit
  4. 16 Jul, 2019 1 commit
  5. 12 Jul, 2019 1 commit
  6. 13 Feb, 2019 1 commit
  7. 06 Feb, 2019 1 commit
  8. 17 Jan, 2019 1 commit
  9. 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
  10. 03 Nov, 2018 1 commit
  11. 12 Oct, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: avoid readScalar, readLabel etc from dictionary (#762, #1033) · 8eddcc07
      Mark OLESEN authored
      - use the dictionary 'get' methods instead of readScalar for
        additional checking
      
           Unchecked:  readScalar(dict.lookup("key"));
           Checked:    dict.get<scalar>("key");
      
      - In templated classes that also inherit from a dictionary, an additional
        'template' keyword will be required. Eg,
      
           this->coeffsDict().template get<scalar>("key");
      
        For this common use case, the predefined getXXX shortcuts may be
        useful. Eg,
      
           this->coeffsDict().getScalar("key");
      8eddcc07
  12. 05 Oct, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: use dictionary::readEntry for detection of input errors (#762, #1033) · 13778f76
      Mark OLESEN authored
      - instead of   dict.lookup(name) >> val;
        can use      dict.readEntry(name, val);
      
        for checking of input token sizes.
        This helps catch certain types of input errors:
      
        {
      
            key1 ;                // <- Missing value
            key2 1234             // <- Missing ';' terminator
            key3 val;
        }
      
      STYLE: readIfPresent() instead of 'if found ...' in a few more places.
      13778f76
  13. 24 Jul, 2018 1 commit
  14. 21 Jun, 2018 1 commit
  15. 30 May, 2018 1 commit
  16. 13 Mar, 2018 1 commit
  17. 18 Jan, 2018 1 commit
  18. 28 Mar, 2018 1 commit
  19. 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
  20. 26 Feb, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: cleanup autoPtr class (issue #639) · 660f3e54
      Mark OLESEN authored
      Improve alignment of its behaviour with std::unique_ptr
      
        - element_type typedef
        - release() method - identical to ptr() method
        - get() method to get the pointer without checking and without releasing it.
        - operator*() for dereferencing
      
      Method name changes
      
        - renamed rawPtr() to get()
        - renamed rawRef() to ref(), removed unused const version.
      
      Removed methods/operators
      
        - assignment from a raw pointer was deleted (was rarely used).
          Can be convenient, but uncontrolled and potentially unsafe.
          Do allow assignment from a literal nullptr though, since this
          can never leak (and also corresponds to the unique_ptr API).
      
      Additional methods
      
        - clone() method: forwards to the clone() method of the underlying
          data object with argument forwarding.
      
        - reset(autoPtr&&) as an alternative to operator=(autoPtr&&)
      
      STYLE: avoid implicit conversion from autoPtr to object type in many places
      
      - existing implementation has the following:
      
           operator const T&() const { return operator*(); }
      
        which means that the following code works:
      
             autoPtr<mapPolyMesh> map = ...;
             updateMesh(*map);    // OK: explicit dereferencing
             updateMesh(map());   // OK: explicit dereferencing
             updateMesh(map);     // OK: implicit dereferencing
      
        for clarity it may preferable to avoid the implicit dereferencing
      
      - prefer operator* to operator() when deferenced a return value
        so it is clearer that a pointer is involve and not a function call
        etc    Eg,   return *meshPtr_;  vs.  return meshPtr_();
      660f3e54
  21. 07 Nov, 2017 2 commits
  22. 05 Nov, 2017 1 commit
  23. 13 Jul, 2018 1 commit
  24. 18 Sep, 2017 1 commit
  25. 18 Mar, 2018 1 commit
  26. 20 Jul, 2017 1 commit
  27. 11 Oct, 2017 1 commit
  28. 03 Jul, 2017 1 commit
  29. 19 May, 2017 1 commit
  30. 22 Jun, 2017 1 commit
    • Henry Weller's avatar
      Rationalize the "pos" function · 56bfc759
      Henry Weller authored and Andrew Heather's avatar Andrew Heather committed
      "pos" now returns 1 if the argument is greater than 0, otherwise it returns 0.
      This is consistent with the common mathematical definition of the "pos" function:
      
      https://en.wikipedia.org/wiki/Sign_(mathematics)
      
      However the previous implementation in which 1 was also returned for a 0
      argument is useful in many situations so the "pos0" has been added which returns
      1 if the argument is greater or equal to 0.  Additionally the "neg0" has been
      added which returns 1 if if the argument is less than or equal to 0.
      56bfc759
  31. 21 Apr, 2017 1 commit
  32. 13 Mar, 2017 1 commit
  33. 21 Mar, 2017 1 commit
  34. 13 Jan, 2017 1 commit
  35. 28 Nov, 2016 1 commit
  36. 29 Sep, 2016 1 commit
  37. 25 Sep, 2016 1 commit
  38. 09 Aug, 2016 1 commit