- Nov 29, 2009
-
-
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)
-
Mark Olesen authored
- makes it easier to copy Doxyfile for local Doxygen generation ie, for debugging and writing without processing everything
-
- Nov 23, 2009
-
-
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.
-
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.
-
- Nov 04, 2009
-
-
Mark Olesen authored
-
Mark Olesen authored
- previous draft version was HashTbl - accidentally still had canonicalSize in templated code
-
Mark Olesen authored
-
Mark Olesen authored
Conflicts: src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.C src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.H tutorials/incompressible/simpleFoam/airFoil2D/Allclean tutorials/multiphase/settlingFoam/ras/tank3D/Allclean
-
- Nov 03, 2009
-
-
Mark Olesen authored
-
-
henry authored
-
Mark Olesen authored
-
Mark Olesen authored
-
Mark Olesen authored
- don't let automatic resize into integer overflow - avoid possible overflow in increment() StaticHashTable - fix erase()/++ as per HashTbl - might still be worth dropping it, but at least it'll be in better condition when it gets chucked!
-
Mark Olesen authored
- the end iterators and canonicalSize are independent of the templated parameters, so move them to HashTblCore - this avoid allocating separate end iterator at all. end(), cend() return a iteratorEnd. iterator == iteratorEnd just checks for non-NULL pointer on iterator. The compiler should optimize most of it away.
-
- Nov 02, 2009
- Oct 31, 2009
-
-
Mark Olesen authored
-
Mark Olesen authored
-
- Oct 30, 2009
-
-
Mark Olesen authored
- fix off by one error in erase/increment code
-
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.
-
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
-
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 ...
-
Mark Olesen authored
- rename to HashTable later when it is considered stable
-
-
henry authored
-
henry authored
-
Andrew Heather authored
-
- Oct 29, 2009
-
-
-
Andrew Heather authored
-
graham authored
Now 0.org.
-
Andrew Heather authored
-
Andrew Heather authored
-
Andrew Heather authored
-
- Oct 28, 2009
-
-
Andrew Heather authored
-
Andrew Heather authored
-
-