1. 31 Oct, 2019 1 commit
  2. 14 Aug, 2019 1 commit
  3. 13 Aug, 2019 1 commit
    • mattijs's avatar
      BUG: edge sync fails with cyclic baffles (fixes #1397) · e2269663
      mattijs authored
      - synchronization, reduction only makes sense on processor-coupled
        patches. Since cyclic baffles are within a single processor domain,
        they are not reduced. So need to skip the sanity test for these.
      e2269663
  4. 31 May, 2019 1 commit
  5. 29 Apr, 2019 1 commit
  6. 17 Apr, 2019 1 commit
  7. 15 Apr, 2019 1 commit
  8. 06 Apr, 2019 1 commit
  9. 01 Apr, 2019 2 commits
  10. 21 Mar, 2019 2 commits
  11. 14 Mar, 2019 1 commit
  12. 15 Mar, 2019 1 commit
  13. 13 Mar, 2019 1 commit
    • Mark Olesen's avatar
      ENH: minor improvements for plane · c2f59af0
      Mark Olesen authored
      - comparison operator, for sorting based on the position of the origin.
      
      - allow modification of the origin.
      
      - zero-initialise for null constructor: base components are vectors
        and cheap to initialise.
      
      - 'unfriend' the output operator: it uses public access methods
      c2f59af0
  14. 27 Feb, 2019 1 commit
  15. 25 Mar, 2019 1 commit
    • Mark Olesen's avatar
      ENH: additional constructor and methods for PDRblock (#1216) · b1bbd50f
      Mark Olesen authored
      - construct from positions
      
      - reset positions, minEdgeLen, find grid index
      
      ENH: add accessor for obtaining the size of a single i-j-k dimension
      
      - eg, obtain the 'i' dimension with any of these methods:
      
            ijkAddr.size(vector::X)
            ijkAddr.sizes().x()
            ijkAddr.sizes()[0]
      b1bbd50f
  16. 25 Feb, 2019 1 commit
  17. 24 Feb, 2019 1 commit
    • Mark Olesen's avatar
      ENH: basic i-j-k Field container (#1216) · 4d499d3c
      Mark Olesen authored
      - this is a simple container for fields with i-j-k addressing.
      
        It does not support field operations directly, but is primarily
        intended to be used when assembling field information with i-j-k
        logic. After assembly, the field can be transferred to a regular
        field for normal operations.  Eg,
      
            IjkField<scalar> assemble({15, 16, 200});
      
            // .. fill in i-j-k fields
      
            Field<scalar> final(std::move(assemble));
            assemble.clear();   // be pedantic
            ...
      4d499d3c
  18. 23 Feb, 2019 1 commit
    • Mark Olesen's avatar
      ENH: new PDRblockMesh mesh generation utility (issue #1216) · 84270ed6
      Mark Olesen authored
      - While a rectilinear mesh can be created with blockMesh, not every mesh
        created with blockMesh will satisfy the requirements for being a
        rectilinear mesh.
      
        This alternative to blockMesh uses a single block that is aligned
        with the xy-z directions and specifications of the control points,
        mesh divisions and expansion ratios. For example,
      
          x
          {
              points  ( -13.28 -0.10 6.0 19.19 );
              nCells  (  10  12 10 );
              ratios  ( 0.2   1  5 );
          }
      
          y { ... }
          z { ... }
      
        With only one block, the boundary patch definition is simple and the
        canonical face number is used directly. For example,
      
          inlet
          {
              type    patch;
              faces   ( 0 );
          }
          outlet
          {
              type    patch;
              faces   ( 1 );
          }
      
          sides
          {
              type    patch;
              faces   ( 2 3 );
          }
      
          ...
      
      - After a mesh is defined, it is trivial to retrieve mesh-related
        information such as cell-volume, cell-centres for any i-j-k location
        without an actual polyMesh.
      
      STYLE: remove -noFunctionObjects from blockMesh
      
      - no time loop, so function objects cannot be triggered anyhow.
      84270ed6
  19. 22 Feb, 2019 1 commit
  20. 21 Feb, 2019 1 commit
    • Mark Olesen's avatar
      ENH: trap negative blockMesh expansions and treat as their inverse · 7da0b5be
      Mark Olesen authored
      - A negative expansion ratio is geometrically invalid and will
        normally cause issues (FatalError).
        However, we can trap this type of input and interpret it as the
        inverse expansion ratio - ie, the expansion ratio in the opposite
        direction. This can be especially convenient when generating a blockMesh
        with a symmetrical expansion. It permits using the same expansion
        ratio (with a sign change) instead of providing the reciprocal values
        manually.
      
      COMP: revert demand-driven point creation in blockMesh (db9b35b5)
      
      - appears to have caused a dangling reference on some systems
      
      ENH: add a lightweight ijkAddressing class
      
      - it can be used for an i-j-k to linear lookup of meshes or fields,
        where applicable.
      7da0b5be
  21. 16 Feb, 2019 1 commit
    • Mark Olesen's avatar
      STYLE: declare edge::operator[] · 9cb6338c
      Mark Olesen authored
      - already available from the FixedList inheritance, but provide
        explicitly in edge to allow future adjustment of the inheritance
        (#1205)
      9cb6338c
  22. 18 Feb, 2019 1 commit
  23. 17 May, 2019 1 commit
  24. 07 Jan, 2019 1 commit
  25. 13 Feb, 2019 1 commit
  26. 11 Feb, 2019 1 commit
  27. 08 Feb, 2019 1 commit
    • Henry Weller's avatar
      isoSurface: Fix for isoSurface 'eroding' surfaces down to nothing · 9580a0e2
      Henry Weller authored
      The occurrence is from cells with vertices that are shared between two faces
      only (these vertices can originate from hex refinement). Decomposing both faces
      can occasionally produce triangles with identical vertices and this results in a
      non-manifold edge which triggers the erosion procedure.
      
      Avoided by detecting cells with these special vertices and making sure the tet-decomposition
      never uses the same points on the faces using them.
      
      Patch contributed by Mattijs Janssens
      9580a0e2
  28. 07 Feb, 2019 1 commit
    • Mark Olesen's avatar
      ENH: code adjustments for updated NullObject · 078e3474
      Mark Olesen authored
      - can now safely use labelList::null() instead of emptyLabelList for
        return values. No special treatment required for lists.
      
        Possible replacements:
      
            if (notNull(list) && list.size())  ->  if (list.size())
            if (isNull(list) || list.empty())  ->  if (list.empty())
      
        The receiver may still wish to handle differently to distinguish
        between a null list and an empty list, but no additional special
        protection is required when obtaining sizes, traversing, outputting
        etc.
      078e3474
  29. 06 Feb, 2019 1 commit
  30. 18 Jan, 2019 1 commit
  31. 16 Jan, 2019 2 commits
    • Mark Olesen's avatar
      ENH: use globalIndex gather in patch merging · c44814c1
      Mark Olesen authored
      c44814c1
    • Mark Olesen's avatar
      ENH: add simplified gather methods for globalIndex with default communicator · f498d09d
      Mark Olesen authored
      - when combining lists in processor order this simplifies code and
        reduces memory overhead.
      
        Write this:
          ----
          labelList collected;
      
          const globalIndex sizing(input.size());
          sizing.gather(input, collected);
          ----
      
        OR
      
          ----
          labelList collected;
          globalIndex::gatherOp(input, collected);
          ----
      
        Instead of this:
      
          ----
          labelList collected;
      
          List<labelList> scratch(Pstream::nProcs());
          scratch[Pstream::myProcNo()] = input;
          Pstream::gatherList(scratch);
      
          if (Pstream::master())
          {
              collected = ListListOps::combine<labelList>
              (
                  scratch,
                  accessOp<labelList>()
              );
          }
          scratch.clear();
          ----
      f498d09d
  32. 09 Jan, 2019 2 commits
    • Mark Olesen's avatar
      STYLE: add compile-time deprecated message for face/triangle normal() · c350a127
      Mark Olesen authored
      - in 1812 propagated through the distinction between areaNormal and
        unitNormal (issue #885).
      
        In older versions, the normal() always meant the area-normal for
        certain of these primitive.
      
        However, the .org version changed this to now return the unit-normal
        instead, but with the same method name. Thus add the deprecated
        message to avoid future inadvertent uses of normal() without being
        certain which one is being meant.
      c350a127
    • Mark Olesen's avatar
      ENH: minor consistency improvements for bounding box · 20670140
      Mark Olesen authored
      - a valid() method (same as !empty() call) for consistency with other
        containers and data types
      
      - a centre() method (same as midpoint() method) for consistency with
        other OpenFOAM geometric entities
      20670140
  33. 08 Jan, 2019 1 commit
  34. 07 Jan, 2019 2 commits
  35. 03 Jan, 2019 1 commit