Skip to content
Snippets Groups Projects

Add spatial filtering and ensight support to MappedFile and external file source (#2609)

Merged Mark OLESEN requested to merge feature-filtered-mapfile into develop
  • Sampling from high resolution onto lower resolution surfaces adds spatial frequency aliasing.
  • Adding a multi-sweep median filter helps alleviate this problem.
  • Added support for EnSight format is useful, since it allows visual post-processing results to also be reused for input.

Depends on !573 (merged)

Edited by Mark OLESEN

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Kutalmış Berçin
  • Kutalmış Berçin resolved all threads

    resolved all threads

  • Kutalmış Berçin resolved all threads

    resolved all threads

  • Kutalmış Berçin
  • Mark OLESEN resolved all threads

    resolved all threads

  • Mark OLESEN added 55 commits

    added 55 commits

    • 6822c7c4...94c7e180 - 32 commits from branch develop
    • 52fda60d - STYLE: ClassXYZBase instead of ClassXYZName
    • d9483e57 - ENH: linked-lists accept more familiar STL method names
    • 1da05061 - ENH: use CircularBuffer instead SLList for FIFO-style handling
    • 185c1336 - ENH: add front(), back() methods to List containers
    • dd6f5e7f - ENH: add FixedList templated get<unsigned>() methods
    • 2a31be2a - STYLE: use stack-like naming for ifEntry handling
    • 7c444fbf - ENH: vector mag(), magSqr() methods - complementary to dist(), distSqr()
    • 396d82b0 - ENH: add primitiveMesh cellBb()
    • ae5d9975 - ENH: general boundBox/treeBoundBox improvements
    • 17f6ae55 - ENH: use simpler boundBox handling
    • 33a14e97 - ENH: split off template-invariant part of indexedOctree node indexing
    • 4da4eb71 - STYLE: octree pushPoint with local constexpr (more readable code)
    • ef707d90 - ENH: simplify sub-octant bound-box search
    • e2a80d87 - ENH: reduce some internal overhead when splitting octree nodes (#2609 (closed))
    • 11741ae6 - ENH: setter/getter for octree permutation tolerance
    • af20b01b - ENH: octree findBox, findSphere with external storage of results
    • f7b3675e - ENH: cleanup treeData items (#2609 (closed))
    • 7139d5de - ENH: add boundBox/triangle intersection test to boundBox
    • 06578830 - ENH: replace triangleFuncs::intersectBb usage with boundBox::intersect
    • d36943d5 - BUG: avoid infinite recursion in AABBTree (fixes #2616 (closed))
    • 737ba90d - ENH: use simpler constructor forms for treeData types
    • 2faf28aa - ENH: add support for additional filter/mapping (#2609 (closed))
    • 048ebb55 - TUT: use filter/mapping with ensight data (#2609 (closed))

    Compare with previous version

  • Mark OLESEN marked this merge request as ready

    marked this merge request as ready

  • Author Maintainer
    • Alltest is OK

    potential breaking changes (marked in the commit as well)

    iff. people are using treeData{Cell,Edge,Face) under the assumption that a non-subsetted representation will still have corresponding subset labels. These containers now correspond to treeDataPoint in allowing subsets or non-subsets. In the case of treeDataCell, this eliminates a fully populated identity list (nCells) etc.

    If someone, however, blindly uses cellLabels() etc to get an index into the base data, it will fail for non-subsetted data (obviously). These problems can be entirely avoided by using operator[](label) to retrieve a reference to the underlying element, or else obtaining the original element index with the objectIndex(label) method. The operator and method name are identical for the various treeData types.

    As part of these changes, noticed that there were actually some fairly random looking accesses happening where a set or subset is used to create a tree, which is searched. However the index found was used to go back to the original data used to construct the tree instead of de-referencing into the tree.

    • Resolved by Andrew Heather
      compiler = g++ (GCC) 4.8.5 20150623
      mpi      = OPENMPI openmpi-4.1.2
      OS       = Red Hat 4.8.5-39
      opts     = linux64Gcc48DPInt32Opt
      triSurface/surfaceFeatures/surfaceFeatures.C: In member function ‘Foam::Map<int> Foam::surfaceFeatures::nearestSamples(const labelList&, const pointField&, const scalarField&) const’:
      triSurface/surfaceFeatures/surfaceFeatures.C:1249:29: error: conflicting declaration ‘Foam::treeBoundBox samples’
               treeBoundBox(samples),   // overall search domain
                                   ^
      triSurface/surfaceFeatures/surfaceFeatures.C:1248:30: error: ‘samples’ has a previous declaration as ‘Foam::treeDataPoint samples’
               treeDataPoint(samples),
  • Mark OLESEN changed the description

    changed the description

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading