1. 24 Jun, 2020 2 commits
    • Andrew Heather's avatar
      ENH: AMI code refactoring · c6e18e75
      Andrew Heather authored
      c6e18e75
    • Andrew Heather's avatar
      ENH: AMI - multiple updates · a13e00b5
      Andrew Heather authored
      - start of work to create a 1-to-1 face mapping across AMI patches
      - faces are inserted according to the AMI addressing based on Horacio's method
      - removed 'updated' flag and reworked some demand driven updates
      - updated to handle 'walking' through baffles
      - use bitSet instead of boolList
      - moved update of meshPhi to movePoints() functions at fvPatch level
      - moved scaling of areas to movePoints() functions at fvPatch level
      - rehomed topology change code to own file
      - added warning re: geometry construction
      
      ACMI
      - split srcMask into srcMask and srcAreaMask
        - former in range 0-1, and latter has bounding or tol to (1-tol) to avoid
          sigFpe's
      a13e00b5
  2. 16 Jun, 2020 1 commit
  3. 11 Jun, 2020 2 commits
  4. 02 Jun, 2020 1 commit
    • Mark Olesen's avatar
      ENH: unify use of dictionary method names · 3e43edf0
      Mark Olesen authored
      - previously introduced `getOrDefault` as a dictionary _get_ method,
        now complete the transition and use it everywhere instead of
        `lookupOrDefault`. This avoids mixed usage of the two methods that
        are identical in behaviour, makes for shorter names, and promotes
        the distinction between "lookup" access (ie, return a token stream,
        locate and return an entry) and "get" access (ie, the above with
        conversion to concrete types such as scalar, label etc).
      3e43edf0
  5. 12 May, 2020 1 commit
  6. 04 May, 2020 1 commit
  7. 01 May, 2020 1 commit
  8. 21 Feb, 2020 1 commit
  9. 18 Feb, 2020 1 commit
    • Kutalmis Bercin's avatar
      ENH: improve analytical eigendecompositions · 55e7da67
      Kutalmis Bercin authored
        - `tensor` and `tensor2D` returns complex eigenvalues/vectors
        - `symmTensor` and `symmTensor2D` returns real eigenvalues/vectors
        - adds new test routines for eigendecompositions
        - improves numerical stability by:
          - using new robust algorithms,
          - reordering the conditional branches in root-type selection
      55e7da67
  10. 31 Jan, 2020 1 commit
    • Mark Olesen's avatar
      COMP: avoid -Wstringop-truncation warning · d3bcc71b
      Mark Olesen authored
      - the gcc c++/9 includes now inline strncpy, which obliterates
        the previous method of suppressing the warning.
        Now simply allocate additional space for the nul character.
      
      COMP: silence some icc warnings
      d3bcc71b
  11. 23 Dec, 2019 1 commit
  12. 18 Dec, 2019 1 commit
  13. 13 Dec, 2019 1 commit
  14. 12 Dec, 2019 1 commit
  15. 06 Dec, 2019 1 commit
    • Andrew Heather's avatar
      ENH: Added new scalarFixedValue boundary condition · 07ff2a28
      Andrew Heather authored
      This condition applies a scalar multiplier to the value of another
      boundary condition.
      
      Usage
          Property     | Description             | Required    | Default value
          scale        | Time varing scale       | yes         |
          patch        | patchField providing the raw patch value | yes |
      
      Example of the boundary condition specification to scale a reference
      velocity of (15 0 0)  supplied as a fixedValue by a table of values
      that ramps the scale from 0 to 1 over 1 second:
      
          <patchName>
          {
              type            scaledFixedValue;
      
              scale table
              (
                  (    0   0)
                  (  1.0 1.0)
                  (100.0 1.0)
              );
      
              patch
              {
                  type            fixedValue;
                  value           uniform (15 0 0);
              }
          }
      07ff2a28
  16. 21 Nov, 2019 1 commit
  17. 13 Nov, 2019 2 commits
  18. 31 Oct, 2019 1 commit
  19. 04 Nov, 2019 1 commit
  20. 30 Oct, 2019 1 commit
  21. 22 Oct, 2019 1 commit
  22. 24 Sep, 2019 1 commit
  23. 22 Aug, 2019 2 commits
  24. 16 Jul, 2019 1 commit
  25. 12 Jul, 2019 1 commit
  26. 26 Jun, 2019 1 commit
  27. 01 May, 2019 2 commits
    • Mark Olesen's avatar
      ENH: ensure that content changes in coded objects are noticed (#1293) · a85c55bb
      Mark Olesen authored
      - for codedFunctionObject and CodedSource the main code snippets
        were not included in the SHA1 calculation, which meant that many
        changes would not be noticed and no new library would be compiled.
      
        As a workaround, a dummy 'code' entry could be used solely for the
        purposes of generating a SHA1, but this is easily forgotten.
      
        We now allow tracking of the dynamicCodeContext for the coded
        objects and append to the SHA1 hasher with specific entries.
        This should solve the previous misbehaviour.
      
        We additionally add information about the ordering of the code
        sections. Suppose we have a coded function object (all code
        segments are optional) with the following:
      
            codeExecute "";
            codeWrite   #{ Info<< "Called\n"; #};
      
        which we subsequently change to this:
      
            codeExecute #{ Info<< "Called\n"; #};
            codeWrite   "";
      
        If the code strings are simply concatenated together, the SHA1 hashes
        will be identical. We thus 'salt' with their semantic locations,
        choosing tags that are unlikely to occur within the code strings
        themselves.
      
      - simplify the coded templates with constexpr for the SHA1sum
        information.
      
      - Correct the CodedSource to use 'codeConstrain' instead of
        'codeSetValue' for consistency with the underlying functions.
      a85c55bb
    • Mark Olesen's avatar
      ENH: replace processorFvPatchField specialization with 'if...' (#1304) · 83d26d19
      Mark Olesen authored
      - only apply component-wise transformCoupleField for non-scalar types
      83d26d19
  28. 26 Apr, 2019 1 commit
  29. 25 Mar, 2019 1 commit
  30. 19 Mar, 2019 1 commit
  31. 14 Mar, 2019 1 commit
  32. 26 Mar, 2019 2 commits
  33. 18 Feb, 2019 1 commit
    • Kutalmis Bercin's avatar
      ENH: Digital-Filter Based Synthetic Turbulence Generation Method for LES/DES Inflows · 33ef139a
      Kutalmis Bercin authored
          Velocity boundary condition generating synthetic turbulence-alike
          time-series for LES and DES turbulent flow computations.
      
          To this end, two synthetic turbulence generators can be chosen:
          - Digital-filter method-based generator (DFM)
      
          \verbatim
          Klein, M., Sadiki, A., and Janicka, J.
              A digital filter based generation of inflow data for spatially
              developing direct numerical or large eddy simulations,
              Journal of Computational Physics (2003) 186(2):652-665.
              doi:10.1016/S0021-9991(03)00090-1
          \endverbatim
      
          - Forward-stepwise method-based generator (FSM)
      
          \verbatim
          Xie, Z.-T., and Castro, I.
              Efficient generation of inflow conditions for large eddy simulation of
              street-scale flows, Flow, Turbulence and Combustion (2008) 81(3):449-470
              doi:10.1007/s10494-008-9151-5
          \endverbatim
      
          In DFM or FSM, a random number set (mostly white noise), and a group
          of target statistics (mostly mean flow, Reynolds stress tensor profiles and
          length-scale sets) are fused into a new number set (stochastic time-series,
          yet consisting of the statistics) by a chain of mathematical operations
          whose characteristics are designated by the target statistics, so that the
          realised statistics of the new sets could match the target.
      
          Random number sets ---->-|
                                   |
                               DFM or FSM ---> New stochastic time-series consisting
                                   |           turbulence statistics
          Turbulence statistics ->-|
      
          The main difference between DFM and FSM is that the latter replaces the
          streamwise convolution summation in DFM by a simpler and a quantitatively
          justified equivalent procedure in order to reduce computational costs.
          Accordingly, the latter potentially brings resource advantages for
          computations involving relatively large length-scale sets and small
          time-steps.
      33ef139a
  34. 10 Feb, 2019 1 commit