1. 17 Dec, 2020 1 commit
    • Mark Olesen's avatar
      ENH: make PDRsetField ground, outer patch names configurable · 7f17a71f
      Mark Olesen authored
      - previously hard-coded, now adjustable within PDRsetFieldsDict
      
          // Change some predefined patch names
          patchNames
          {
              ground      ground;
              outer       outer;
          }
      
      ENH: additions to PDRutils, improve comments
      
      - expose enumerated expansion names and gridControl (PDRblock).
        Not commonly needed, but useful to have access when defining
        other grid generators
      
      TUT: update PDRsetFieldsDict and tutorials to use "ground"
      
      - remove tutorial references to unused types and legacy obstacles
      
      - use "ground" for the boundary conditions instead of "seaGround".
        Consistent with PDRblockMesh
      7f17a71f
  2. 11 Dec, 2020 1 commit
  3. 19 Nov, 2020 1 commit
  4. 28 Oct, 2020 3 commits
    • Mark Olesen's avatar
      BUG: PDRsetFields fails with non-orthogonal outer region (fixes #1907) · 3b7100a9
      Mark Olesen authored
      - first sort the cells into their ijk bins, and restrict testing for
        face orientation to those faces with an owner or neighbour that has
        an ijk bin.
      
      ENH: ensure polyMesh from PDRblockMesh is marked as AUTO_WRITE
      
      - the particular polyMesh constructor inherits the writeOpt, which
        makes is dependent on the caller and thus somewhat fragile for the
        top level caller.
      3b7100a9
    • Mark Olesen's avatar
      ENH: use static to define default blockMesh verbosity · f999013f
      Mark Olesen authored
      - make handling of verbosity more consistent.
      
        Make all setter return the old value, remove (unused) default
        parameter as being counter-intuitive.  This makes it easier to
        restore the original values.
      
        For example,
      
           const bool oldVerbose = sampler.verbose(false);
           ...
           sampler.verbose(oldVerbose);
      f999013f
    • Mark Olesen's avatar
      ENH: generate local orientation vectors for blockMesh VTK output (#1903) · f959c8eb
      Mark Olesen authored
      - can help when designing/debugging blockMesh layouts
      
      - propagate low-level cellModel methods face() and edge() to cellShape
      
      STYLE: relocate blockMesh OBJ output to application only
      
      - remove blockTopology files in cleanCase function
      
      - improve code consistency in top-level blockMesh, PDRblockMesh
        generation.
      f959c8eb
  5. 07 Oct, 2020 1 commit
  6. 05 Oct, 2020 2 commits
    • Mark Olesen's avatar
      ENH: support arc edge specification with origin point · 1d08ed9b
      Mark Olesen authored
      - The arc will frequently enclose an angle less than 180 degrees.
        For the case, it is possible to define the arc by its endpoints
        and its centre (origin) point. For example,
      
            arc 0 1 origin (0 0 0);
      
        When defined in the way, any discrepancy in the arc radius for the
        endpoints is resolved by adjusting the origin to ensure that the
        average radius is satisfied.
      
        It is also possible to specify a \em flatness factor as a multiplier
        of the radius. For example,
      
            arc 0 1 origin 1.1 (0 0 0);
      
      ENH: minor code cleanup for block edges
      
      ENH: expose point appending as polyList::concat
      1d08ed9b
    • Mark Olesen's avatar
      ENH: relocate blockMesh polyMesh generation into library (for code reuse) · 8939a556
      Mark Olesen authored
      STYLE: adjust blockMesh advanced/non-advanced options
      
      - make -merge-points "non-advanced" (for better exposure)
      - make -write-obj "advanced" (-write-vtk is preferred)
      8939a556
  7. 16 Sep, 2020 2 commits
  8. 16 Jul, 2020 1 commit
  9. 13 May, 2020 1 commit
    • Mark Olesen's avatar
      ENH: add blockMeshDict "mergeType" keyword (#1589) · 44b22560
      Mark Olesen authored
      - enumerated values are (points | topology) which can be optionally
        specified in the blockMeshDict. Default is 'topology'.
      
        If the command-line option `blockMesh -merge-points` is specified,
        this has absolute priority over any blockMeshDict entry.
      
      STYLE: changed blockMesh "-blockTopology" option to "-write-obj"
      
      - this is more specific to what it does. Potentially wish to add a
        "-write-vtk" option in the future.
      
      TUT: adjust tutorials to use preferred or necessary merge strategies:
      
        * channel395DFSEM - topology
        * nozzleFlow2D - points
        * pipeCyclic - points
      44b22560
  10. 04 May, 2020 2 commits
  11. 31 Mar, 2020 1 commit
  12. 13 Mar, 2020 1 commit
  13. 18 Feb, 2020 1 commit
    • Mark Olesen's avatar
      STYLE: adjust names, locations for fileFormats · 4307e171
      Mark Olesen authored
      - renamed 'core/' -> 'base/' to avoid gitignore masking when re-adding
        files
      
      - rename 'nas/' to 'nastran/' for more clarity
      
      - relocated OBJstream from surfMesh to fileFormats
      
      STYLE: remove unused parseNASCoord. Was deprecated 2017-09
      4307e171
  14. 12 Feb, 2020 1 commit
  15. 28 Jan, 2020 2 commits
  16. 11 Dec, 2019 1 commit
  17. 31 Oct, 2019 1 commit
  18. 01 Oct, 2019 1 commit
  19. 16 Jul, 2019 1 commit
  20. 12 Jul, 2019 1 commit
  21. 05 Jun, 2019 1 commit
  22. 28 Apr, 2019 1 commit
  23. 09 Apr, 2019 1 commit
  24. 27 Mar, 2019 1 commit
  25. 14 Mar, 2019 1 commit
  26. 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
  27. 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
  28. 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
  29. 17 Feb, 2019 1 commit
    • Mark Olesen's avatar
      ENH: minor blockMesh improvements · 48e3590b
      Mark Olesen authored
      - avoid potential ambiguities in naming of mesh faces/edges
        vs. block faces/edges
      
      - additional methods characterizing the number of faces
        (internal, boundary, total) associated with a blockDescriptor
      
      - cellLabel() accessor and checkIndex() methods
      
      - restore demand-driven behaviour of block, cache the calculated cells
        and refactor generation of block boundary faces to improve potential
        reuse.
      48e3590b
  30. 07 Jan, 2019 1 commit
  31. 06 Feb, 2019 1 commit
  32. 02 Jan, 2019 1 commit
  33. 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
  34. 09 Nov, 2018 1 commit