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. 12 Dec, 2019 2 commits
  3. 31 Oct, 2019 1 commit
  4. 02 Nov, 2019 1 commit
  5. 02 Oct, 2019 2 commits
    • Kutalmış Berçin's avatar
      ENH: Subtle renovations in wall function documentation and input · 458738f0
      Kutalmış Berçin authored
        - Improves header file documentations
        - Adds const specifier to various objects
        - Allows various model constants to be user-defined
        - Changes from lookupOrDefault() to getOrDefault()
        - Consistent namespace usage:
          - If the WF belongs to only Foam:: namespace, use Foam:: explicitly
          - If the WF belongs to more than one namespaces, put the WF in namespace
            parentheses
        - Adds the missing dashes in comments required by Doxygen
        - Corrects capitalisation in comments
        - The terminology 'viscous sublayer' was preferred over 'laminar sublayer'
          due to the fact that the sublayer is not laminar.
        - The order of initialisation of fields is changed to be the same across all.
      458738f0
    • Kutalmış Berçin's avatar
      ENH: Integrated OpenFOAM.org developments for wall functions · ce9ea1ca
      Kutalmış Berçin authored
      OpenFOAM.org commits for
        src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions
      were reviewed.
      
      The parts of the commits made by OpenFOAM.org removing various code
      duplications across wall functions were picked up by keeping the remaining
      functionalities the same.
      
      The duplications were mainly due to:
        - wall function model coefficients
        - yPlusLam(), checkPatch(), write() methods
      
      The duplications were united under the base nutWallFunction.
      ce9ea1ca
  6. 24 Sep, 2019 1 commit
  7. 29 Jul, 2019 1 commit
    • Mark OLESEN's avatar
      ENH: additional contiguous traits (#1378) · 1d79c045
      Mark OLESEN authored
      - change contiguous from a series of global functions to separate
        templated traits classes:
      
          - is_contiguous
          - is_contiguous_label
          - is_contiguous_scalar
      
        The static constexpr 'value' and a constexpr conversion operator
        allow use in template expressions.  The change also makes it much
        easier to define general traits and to inherit from them.
      
        The is_contiguous_label and is_contiguous_scalar are special traits
        for handling data of homogeneous components of the respective types.
      1d79c045
  8. 16 Jul, 2019 1 commit
  9. 12 Jul, 2019 1 commit
  10. 31 May, 2019 1 commit
  11. 13 Feb, 2019 1 commit
  12. 06 Feb, 2019 2 commits
  13. 30 Jan, 2019 1 commit
  14. 17 Jan, 2019 1 commit
  15. 09 Jan, 2019 1 commit
  16. 03 Jan, 2019 1 commit
    • Mark OLESEN's avatar
      ENH: additional read guards for dimensionedType. input consistency (#762, #1148) · 6a448016
      Mark OLESEN authored
      - provide a lookupOrDefault constructor form, since this is a fairly
        commonly used requirement and simplifies the calling sequence.
      
        Before
      
            dimensionedScalar rhoMax
            (
                dimensionedScalar::lookupOrDefault
                (
                    "rhoMax",
                    pimple.dict(),
                    dimDensity,
                    GREAT
                )
           );
      
        After
      
            dimensionedScalar rhoMax("rhoMax", dimDensity, GREAT, pimple.dict());
      
      - read, readIfPresent methods with alternative lookup names.
      
      - Mark the Istream related constructors with compile-time deprecated
        warnings.
      
      BUG: read, readIfPresent methods not handling optional dimensions (#1148)
      6a448016
  17. 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
  18. 03 Nov, 2018 1 commit
  19. 19 Oct, 2018 1 commit
  20. 17 Oct, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: simplify objectRegistry access names (issue #322) · 8fabc325
      Mark OLESEN authored
        New name:  findObject(), cfindObject()
        Old name:  lookupObjectPtr()
      
            Return a const pointer or nullptr on failure.
      
        New name:  findObject()
        Old name:  --
      
            Return a non-const pointer or nullptr on failure.
      
        New name:  getObjectPtr()
        Old name:  lookupObjectRefPtr()
      
            Return a non-const pointer or nullptr on failure.
            Can be called on a const object and it will perform a
            const_cast.
      
      - use these updated names and functionality in more places
      
      NB: The older methods names are deprecated, but continue to be defined.
      8fabc325
  21. 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
  22. 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
  23. 24 Jul, 2018 1 commit
  24. 21 Jun, 2018 1 commit
  25. 30 May, 2018 1 commit
  26. 13 Mar, 2018 1 commit
  27. 18 Jan, 2018 1 commit
  28. 11 Jan, 2018 1 commit
  29. 08 Jan, 2018 1 commit
  30. 05 Jan, 2018 1 commit
  31. 29 Dec, 2017 1 commit
    • Andrew Heather's avatar
      ENH: epsilonWallFunction - enable low-Re mode to be [de]activated on a · 3b840040
      Andrew Heather authored
      switch
      
      The new lowReCorrection entry can be used to ensure that the low-Re
      mode is only applied when its value is on/true, e.g.
      
          lowReCorrection      on;
      
      When active, the low-Re mode is active when the local y+ is less than
      the calculated y+_laminar.  When inactive, the high-Re form is employed
      irrespectively of the local y+.
      
      It has a defaulrt value of off/false for backwards compatibility with
      OpenFOAM v1706
      3b840040
  32. 22 Dec, 2017 1 commit
  33. 20 Dec, 2017 2 commits
    • Andrew Heather's avatar
      COMP: Updated initialisation order · b14e7b79
      Andrew Heather authored
      b14e7b79
    • Andrew Heather's avatar
      ENH: kOmegaSST - added turbulence decay control terms · 276cef6a
      Andrew Heather authored
      Based on the reference:
            Spalart, P. R. and Rumsey, C. L. (2007).
            Effective Inflow Conditions for Turbulence Models in Aerodynamic
            Calculations
            AIAA Journal, 45(10), 2544 - 2553.
      
      The decay control default is off for backwards compatibility.  To enable
      it, add the following to the coefficients dictionary
      
            // Optional decay control
            decayControl    yes;
            kInf            \<far-field k value\>;
            omegaInf        \<far-field omega value\>;
      276cef6a
  34. 15 Dec, 2017 2 commits