1. 26 Jun, 2019 1 commit
  2. 24 Jun, 2019 1 commit
  3. 13 Jun, 2019 1 commit
  4. 04 Jun, 2019 2 commits
  5. 03 Jun, 2019 1 commit
    • Mark Olesen's avatar
      ENH: add wmake -debug option · 872a7788
      Mark Olesen authored
      - forces c++DBUG='-DFULLDEBUG -g -O0' for the compilation, to allow
        localized debugging during development without file editing and
        while retaining the WM_COMPILE_OPTION (eg, Opt)
      
        Note that switching between 'wmake' and 'wmake -debug' will not
        cause existing targets to be rebuilt. As before, these are driven by
        the dependencies. An intermediate wclean may thus be required.
      872a7788
  6. 31 May, 2019 1 commit
    • Kutalmis Bercin's avatar
      ENH: partial overhaul of Matrix type (#1220) · 6f7c7d8c
      Kutalmis Bercin authored
      - additional operators:
        + compound assignment
        + inner product: operator&
        + outer product: operator^
      
      - additional functions:
         - MatrixBlock methods: subColumn, subRow, subMatrix
         - L2 norms for matrix or column
         - trace, diag, round, transpose
      
      - MatrixBlock methods: col(), block() are deprecated since their
        access patterns with (size, offset) are unnatural/unwieldy.
      
      - verifications by test/Matrix/Test-Matrix
      6f7c7d8c
  7. 30 May, 2019 2 commits
  8. 28 May, 2019 1 commit
  9. 27 May, 2019 1 commit
  10. 23 May, 2019 1 commit
  11. 22 May, 2019 3 commits
    • Mark Olesen's avatar
      ENH: improvements, modernization of matrix containers (#1220) · 1a60bb4c
      Mark Olesen authored
      - add iterators, begin/end, empty() methods for STL behaviour.
        Use standard algorithms where possible
           * std::fill, std::copy
           * std::min_element, std::max_element
      
      - access methods consistent with other OpenFOAM containers:
           * data(), cdata(), uniform()
      
      - Use ListPolicy to impose output line breaks
      
      - Can recover matrix storage for re-use elsewhere.
        For example, to populate values with 2D i-j addressing and later
        release it as flat linear storage.
      
      - construct/assign moveable
      
      - added minMax() function for Matrix
      
      - additional inplace +=, -=, *=, /= operations
      
      - add named methods at() and rowData() to Matrix.
        Allows a better distinction between linear and row-based addressing
      
      - low-level matrix solve on List/UList instead of Field
      1a60bb4c
    • Kutalmis Bercin's avatar
      ENH: add sign(), csign() methods for complex · a9688d07
      Kutalmis Bercin authored
      - use std::hypot for complex mag() instead of long-hand version
      
      - Detail::conj() function for complex or non-complex
      a9688d07
    • Mark Olesen's avatar
      ENH: dictionary checking methods with predicates on the input values · e3d91a11
      Mark Olesen authored
      - can be used to check the validity of input values.
      
      Example:
      
          dict.getCheck<label>("nIters", greaterOp1<label>(0));
          dict.getCheck<scalar>("relax", scalarMinMax::zero_one());
      
      - use 'get' prefix for more regular dictionary methods.
        Eg, getOrDefault() as alternative to lookupOrDefault()
      
      - additional ops for convenient construction of predicates
      
      ENH: make dictionary writeOptionalEntries integer
      
      - allow triggering of Fatal if default values are used
      
      ENH: additional scalarRange static methods: ge0, gt0, zero_one
      
      - use GREAT instead of VGREAT for internal placeholders
      
      - additional MinMax static methods: gt, le
      e3d91a11
  12. 21 May, 2019 1 commit
  13. 10 May, 2019 1 commit
    • Mark Olesen's avatar
      ENH: support all 12 Euler rotation orders (#1292) · 2c0dfaed
      Mark Olesen authored
      - adjust naming of quaternion 'rotationSequence' to be 'eulerOrder'
        to reflect its purpose.
      
      - provide rotation matrices directly for these rotation orders in
        coordinateRotations::euler for case in which the rotation tensor
        is required but not a quaternion.
      2c0dfaed
  14. 08 May, 2019 2 commits
  15. 07 May, 2019 1 commit
  16. 03 May, 2019 2 commits
  17. 02 May, 2019 1 commit
    • mattijs's avatar
      ENH: overset: insert remote interpolation into lduMatrix · bbfda444
      mattijs authored
      All remote contributions to interpolation stencils now
      get added as 'processor' type lduInterfaces. This guarantees
      a consistent matrix, e.g. initial residual is normalised to 1.
      
      Second change is the normalisation of the interpolation discretisation
      which uses the diagonal from the unmodified equation. This helps
      GAMG.
      bbfda444
  18. 30 Apr, 2019 2 commits
    • Mark Olesen's avatar
      ENH: no string quotes when using OSHA1stream (#1301) · d11f08e6
      Mark Olesen authored
      - previously would have different SHA1 depending on whether the
        string was a C-string, a C++-string or if the SHA1 was calculated
        directly or via the OSHA1stream.
      
          - SHA1("string")
          - OSHA1stream << "string";
          - OSHA1stream << string("string");
      
        By avoiding string quoting on output, they now all deliver the same
        result. This also means that the following will no longer change the SHA1
        content, since it does not add anything:
      
          osha<< string() << string() << string() << string();
      
        This would have previously add a pair of double quotes each time!
      d11f08e6
    • Mark Olesen's avatar
  19. 29 Apr, 2019 3 commits
  20. 26 Apr, 2019 2 commits
  21. 25 Apr, 2019 1 commit
  22. 24 Apr, 2019 2 commits
    • Mark Olesen's avatar
      ENH: add partial sorting to SortableList · dd11951c
      Mark Olesen authored
      dd11951c
    • Mark Olesen's avatar
      ENH: generalize indirect lists and support new types · c3403761
      Mark Olesen authored
      - use an IndirectListBase class for various indirect list types.
      
      - new SortList type
      
        In some places the SortList can be used as a lightweight alternative
        to SortableList to have the convenience of bundling data and sort
        indices together, but while operating on existing data lists.
        In other situations, it can be useful as an alternative to
        sortedOrder.  For example,
      
              pointField points = ...;
      
              labelList order;
              sortedOrder(points, order);
      
              forAll(order, i)
              {
                  points[order[i]] = ...;
              }
      
         Can be replaced with the following (with the same memory overhead)
      
              pointField points = ...;
      
              SortList<point> sortedPoints(points);
      
              for (point& pt : sortedPoints)
              {
                  pt = ...;
              }
      
      - new SliceList type (#1220), which can be used for stride-based
        addressing into existing lists
      c3403761
  23. 16 Apr, 2019 2 commits
  24. 11 Apr, 2019 1 commit
  25. 10 Apr, 2019 1 commit
  26. 07 Apr, 2019 3 commits