Skip to content
Snippets Groups Projects
  1. Mar 16, 2022
    • Mark OLESEN's avatar
      ENH: limitVelocity, report count and percent of cells/faces (#2414) · 55f287cd
      Mark OLESEN authored
      - percent of cells is taken relative to selection size.
      - percent of faces is taken relative to the number of boundary faces
        that do not fix velocity themselves.
      
      ENH: avoid correctBoundaryConditions() if values were not limited
      55f287cd
    • Mark OLESEN's avatar
      ENH: avoid redundant IOobjectList use · 4495db03
      Mark OLESEN authored
      - areaWrite and fileFieldSelection
      4495db03
    • Mark OLESEN's avatar
      ENH: mergePoints and patch gatherAndMerge improvements (#2402) · 24c0b30d
      Mark OLESEN authored
      - when writing surface formats (eg, vtk, ensight etc) the sampled
        surfaces merge the faces/points originating from different
        processors into a single surface (ie, patch gatherAndMerge).
      
        Previous versions of mergePoints simply merged all points possible,
        which proves to be rather slow for larger meshes. This has now been
        modified to only consider boundary points, which reduces the number
        of points to consider. As part of this change, the reference point
        is now always equivalent to the min of the bounding box, which
        reduces the number of search loops. The merged points retain their
        original order.
      
      - inplaceMergePoints version to simplify use and improve code
        robustness and efficiency.
      
      ENH: make PrimitivePatch::boundaryPoints() less costly
      
      - if edge addressing does not already exist, it will now simply walk
        the local face edges directly to define the boundary points.
      
        This avoids a rather large overhead of the full faceFaces,
        edgeFaces, faceEdges addressing.
      
        This operation is now more important since it is used in the revised
        patch gatherAndMerge.
      
      ENH: topological merge for mesh-based surfaces in surfaceFieldValue
      24c0b30d
  2. Mar 15, 2022
  3. Mar 13, 2022
  4. Mar 12, 2022
  5. Mar 11, 2022
  6. Mar 10, 2022
    • Andrew Heather's avatar
      Merge branch 'feature-coordSets' into 'develop' · 3f586f76
      Andrew Heather authored
      refactor coordSet writers (#2347)
      
      See merge request !524
      3f586f76
    • Mark OLESEN's avatar
      ENH: support 'probes' style of ensemble output for sampledSets (#2389) · 010ebadb
      Mark OLESEN authored
      - with the special setFormat "probes", all of the sampled sets are
        treated more similarly to probes, with an ensemble output to raw
        probed format.
      
        This is of course less useful when the number of sampled points
        becomes very large.
      010ebadb
    • Mark OLESEN's avatar
      TUT: update tutorials to use dictionary-style sets · 8a7221cf
      Mark OLESEN authored
      - can now specify sampled sets as dictionary entries instead of a list
        entry.
          can now use:  sets { ... }
          instead of:   sets ( ... );
      
        This is similar to sampled surfaces and makes it easier to
        manage with dictionary manipulation tools.
      
      TUT: update to use writeTime instead of outputTime
      8a7221cf
    • Mark OLESEN's avatar
      ENH: ensemble results for sampleSets (#2388) · 87db3ce4
      Mark OLESEN authored
      - in v2112 the functionObject results were only delivering values from
        the last set listed (ie, overwritten).
      
        Now that the values are properly scoped by the name of the set itself
        Eg, `average(lines,p)` for the average for 'lines' set, existing
        workflows will break.
      
        It thus makes reasonble sense to also handle results without a
        qualifier as ensemble values.
      
            average(p)    // Ensemble average of all listed sets
      87db3ce4
    • Mark OLESEN's avatar
      ENH: refactor coordSet writers (#2347) · c3e14ffd
      Mark OLESEN authored
      - the very old 'writer' class was fully stateless and always templated
        on an particular output type.
      
        This is now replaced with a 'coordSetWriter' with similar concepts
        as previously introduced for surface writers (#1206).
      
        - writers change from being a generic state-less set of routines to
          more properly conforming to the normal notion of a writer.
      
        - Parallel data is done *outside* of the writers, since they are used
          in a wide variety of contexts and the caller is currently still in
          a better position for deciding how to combine parallel data.
      
      ENH: update sampleSets to sample on per-field basis (#2347)
      
      - sample/write a field in a single step.
      
      - support for 'sampleOnExecute' to obtain values at execution
        intervals without writing.
      
      - support 'sets' input as a dictionary entry (as well as a list),
        which is similar to the changes for sampled-surface and permits use
        of changeDictionary to modify content.
      
      - globalIndex for gather to reduce parallel communication, less code
      
      - qualify the sampleSet results (properties) with the name of the set.
        The sample results were previously without a qualifier, which meant
        that only the last property value was actually saved (previous ones
        overwritten).
      
        For example,
        ```
          sample1
          {
              scalar
              {
                  average(line,T) 349.96521;
                  min(line,T)     349.9544281;
                  max(line,T)     350;
                  average(cells,T) 349.9854619;
                  min(cells,T)    349.6589286;
                  max(cells,T)    350.4967271;
                  average(line,epsilon) 0.04947733869;
                  min(line,epsilon) 0.04449639927;
                  max(line,epsilon) 0.06452856475;
              }
              label
              {
                  size(line,T)    79;
                  size(cells,T)   1720;
                  size(line,epsilon) 79;
              }
          }
        ```
      
      ENH: update particleTracks application
      
      - use globalIndex to manage original parcel addressing and
        for gathering. Simplify code by introducing a helper class,
        storing intermediate fields in hash tables instead of
        separate lists.
      
      ADDITIONAL NOTES:
      
      - the regionSizeDistribution largely retains separate writers since
        the utility of placing sum/dev/count for all fields into a single file
        is questionable.
      
      - the streamline writing remains a "soft" upgrade, which means that
        scalar and vector fields are still collected a priori and not
        on-the-fly.  This is due to how the streamline infrastructure is
        currently handled (should be upgraded in the future).
      c3e14ffd
    • mattijs's avatar
      ENH: snappyHexMesh: leak closure testcase · 8a9ae839
      mattijs authored
      8a9ae839
    • mattijs's avatar
      7fab29c8
    • mattijs's avatar
      ENH: snappyHexMesh: multi-stage layer addition, automatic hole closure · 5e2d8d6e
      mattijs authored
      Automatic hole closure:
      - introduces 'holeToFace' topoSet source
      - used when detecting a 'leak-path'
      - creates additional baffles to close the leak
      
      Multi-stage layer addition:
      - Can add layers in multiple passes
      
      See issues: #2403, #2404
      5e2d8d6e
  7. Mar 08, 2022