Skip to content
Snippets Groups Projects
  1. Nov 29, 2009
    • Mark Olesen's avatar
      Added Catmull-Rom splines to blockMesh. · 5648be03
      Mark Olesen authored
      - the blockMesh interface is splineEdge.H, selectable as "spline"
      
      The first tests look fine - it works as expected for the case with
      buggy polySpline reported on the forum. Should of course do some more
      extensive testing.
      
      The advantages compared to the current B-Spline implementation:
      
      - Doesn't need a matrix solver.
      - The coding resembles something that can be found in the literature.
      - In contrast to the B-Spline implementation, it is fairly clear what
        is actually going on. I don't even know if the B-Spline are actually
        B-Spline, Beta-Splines or something else.
      - Catmull-Rom splines seem to be what all the graphics people have as
        their stable workhorse.
      
      We now have 3 different names for splines in blockMesh:
      - "spline" - *new* Catmull-Rom for arbitrary segments.
      - "simpleSpline" - B-Spline for a single segment
      - "polySpline" - B-Spline for a multiple segments
      
      Assuming the Catmull-Rom splines continue to behave nicely, there is
      no reason to keep the other (broken) B-Splines. This would help clean
      up the blockMesh interface too.
      
      Placed the older ones under legacy/ for easier identification in the
      future.
      
      TODO:
      - currently no handling of non-zero end tangents
      - could be extended to handle closed loops, which might be useful
        for feature edges from CAD (eg, for the cvm mesher)
      5648be03
    • Mark Olesen's avatar
      use absolute path for header/footer in Doxyfile · 9b92e3c4
      Mark Olesen authored
      - makes it easier to copy Doxyfile for local Doxygen generation
        ie, for debugging and writing without processing everything
      9b92e3c4
  2. Nov 23, 2009
    • Mark Olesen's avatar
      finally commited pending (cosmetic) code cleanup for blockMesh/curvedEdges · 55c04d30
      Mark Olesen authored
      - slightly better code isolation, dropped unneed variables, changed
        vector -> point in the appropriate places
      
      - the spline stuff is still horribly broken.
        Needs a complete rewrite or needs to get chucked.
      55c04d30
    • Mark Olesen's avatar
      Commit Paraview enhancements - quit working on sets/zones frills · 81891675
      Mark Olesen authored
      - Include Sets/Zones now scans immediately to refresh the list of available
        mesh parts. Unfortunately, this also causes the object panel to be
        modified, even although the selection doesn't acutally need to change.
        This seems to be due to how the pqNamedWidgets are getting the information
        from the proxy properties. I can't figure if it's possible to acheive what
        I want, but we can probably live with the current implementation.
      
        After IncludeZones, simply us 'Reset' to undo the spurious GUI changes.
        Works fine - just looks a bit silly.
      
      - Added 'Refresh' button to rescan for new times/fields.  Good for
        post-processing ongoing calculations without exiting the reader.
      
      - Added 'Skip Zero Time' checkbox: many (some) calculations have
        data missing at time=0 (eg, rho, lagrangian, etc). This provides
        a convenient way to skip over this time.
      
      - Future?:
        We could probably pick up favourite default values for these switches from
        ~OpenFOAM/controlDict, from a case system/paraview, or simply by making
        the casename.OpenFOAM also be an OpenFOAM dictionary with the settings.
      81891675
  3. Nov 04, 2009
  4. Nov 03, 2009
  5. Nov 02, 2009
  6. Oct 31, 2009
  7. Oct 30, 2009
    • Mark Olesen's avatar
      HashTbl: improve efficiency when deleting many keys and in operator== · a61c03a6
      Mark Olesen authored
      - fix off by one error in erase/increment code
      a61c03a6
    • Mark Olesen's avatar
      HashTbl changes · 946aac50
      Mark Olesen authored
      - iterators store pointers instead of references to the HashTbl.
        This lets us use the default bitwise copy/assignment
      
      - add empty constructor for iterators. It returns the equivalent to end().
        This lets us do this:
            HashTbl<label>::iterator iter;
            // some time later
            iter = find(Value);
      
      - erase(const HashTbl<AnyType, Key, AnyHash>&) is now more generous.
        Only the Key type matters, not the hashing function.
      946aac50
    • Mark Olesen's avatar
      Added HashTbl::shrink() - but it only be useful in particular situations · 1fbcb6e2
      Mark Olesen authored
      - for the hashTableTest3, it seemed to slow things down a bit
      
      loop 0 - Erased 100000 elements (size 2900000 capacity 4194304) 0.31 s
      loop 1 - Erased 100000 elements (size 2800000 capacity 4194304) 0.01 s
      loop 2 - Erased 100000 elements (size 2700000 capacity 4194304) 0 s
      loop 3 - Erased 100000 elements (size 2600000 capacity 4194304) 0 s
      loop 4 - Erased 100000 elements (size 2500000 capacity 4194304) 0.01 s
      loop 5 - Erased 100000 elements (size 2400000 capacity 4194304) 0 s
      loop 6 - Erased 100000 elements (size 2300000 capacity 4194304) 0 s
      loop 7 - Erased 100000 elements (size 2200000 capacity 4194304) 0 s
      loop 8 - Erased 100000 elements (size 2100000 capacity 4194304) 0.01 s
      loop 9 - Erased 100000 elements (size 2000000 capacity 4194304) 0.44 s
      loop 10 - Erased 100000 elements (size 1900000 capacity 4194304) 0.44 s
      loop 11 - Erased 100000 elements (size 1800000 capacity 4194304) 0.39 s
      loop 12 - Erased 100000 elements (size 1700000 capacity 4194304) 0.4 s
      loop 13 - Erased 100000 elements (size 1600000 capacity 2097152) 0.15 s
      loop 14 - Erased 100000 elements (size 1500000 capacity 2097152) 0.01 s
      loop 15 - Erased 100000 elements (size 1400000 capacity 2097152) 0 s
      loop 16 - Erased 100000 elements (size 1300000 capacity 2097152) 0 s
      loop 17 - Erased 100000 elements (size 1200000 capacity 2097152) 0.01 s
      loop 18 - Erased 100000 elements (size 1100000 capacity 2097152) 0 s
      loop 19 - Erased 100000 elements (size 1000000 capacity 2097152) 0.27 s
      loop 20 - Erased 100000 elements (size 900000 capacity 2097152) 0.2 s
      loop 21 - Erased 100000 elements (size 800000 capacity 1048576) 0.1 s
      loop 22 - Erased 100000 elements (size 700000 capacity 1048576) 0 s
      loop 23 - Erased 100000 elements (size 600000 capacity 1048576) 0 s
      loop 24 - Erased 100000 elements (size 500000 capacity 1048576) 0.12 s
      loop 25 - Erased 100000 elements (size 400000 capacity 524288) 0.04 s
      loop 26 - Erased 100000 elements (size 300000 capacity 524288) 0.01 s
      loop 27 - Erased 100000 elements (size 200000 capacity 262144) 0.02 s
      loop 28 - Erased 100000 elements (size 100000 capacity 131072) 0.02 s
      loop 29 - Erased 100000 elements (size 0 capacity 2) 0 s
      1fbcb6e2
    • Mark Olesen's avatar
      HashTbl avoid backward search in erase() · 2c73afb6
      Mark Olesen authored
      - The ideas as discussed in email
      
      - The speedup is really there.
      
      Before
      loop 0 - Erased 100000 elements:   3.82 s
      loop 1 - Erased 100000 elements:   11.45 s
      loop 2 - Erased 100000 elements:   19.46 s
      loop 3 - Erased 100000 elements:   27.73 s
      loop 4 - Erased 100000 elements:   38.74 s
      ^C
      
      After
      loop 0 - Erased 100000 elements (size 2900000 capacity 8388608) 0.01 s
      loop 1 - Erased 100000 elements (size 2800000 capacity 8388608) 0 s
      loop 2 - Erased 100000 elements (size 2700000 capacity 8388608) 0.01 s
      loop 3 - Erased 100000 elements (size 2600000 capacity 8388608) 0 s
      loop 4 - Erased 100000 elements (size 2500000 capacity 8388608) 0 s
      loop 5 - Erased 100000 elements (size 2400000 capacity 8388608) 0 s
      loop 6 - Erased 100000 elements (size 2300000 capacity 8388608) 0 s
      loop 7 - Erased 100000 elements (size 2200000 capacity 8388608) 0 s
      ...
      2c73afb6
    • Mark Olesen's avatar
      added HashTbl as development replacement for HashTable · 55a89e9d
      Mark Olesen authored
      - rename to HashTable later when it is considered stable
      55a89e9d
    • henry's avatar
    • henry's avatar
    • henry's avatar
      Minor clean-up. · f5aa2779
      henry authored
      f5aa2779
    • Andrew Heather's avatar
      0054d8d2
  8. Oct 29, 2009
  9. Oct 28, 2009