Commit Graph

10204 Commits

Author SHA1 Message Date
3a0c427c7b HashTbl - preparation for using interatorBase 2009-10-31 21:27:52 +01:00
a61c03a6a4 HashTbl: improve efficiency when deleting many keys and in operator==
- fix off by one error in erase/increment code
2009-10-31 00:03:02 +01:00
946aac500a HashTbl changes
- 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.
2009-10-30 22:37:35 +01:00
1fbcb6e2c0 Added HashTbl::shrink() - but it only be useful in particular situations
- 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
2009-10-30 19:28:39 +01:00
2c73afb6ec HashTbl avoid backward search in erase()
- 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
...
2009-10-30 18:54:51 +01:00
55a89e9db3 added HashTbl as development replacement for HashTable
- rename to HashTable later when it is considered stable
2009-10-30 18:31:28 +01:00
0054d8d294 do not remove tangential component on pure rebound 2009-10-30 10:02:21 +00:00
c9f7267b7f Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-10-29 14:48:39 +00:00
555c1ea30d minor cosmetics 2009-10-29 14:28:57 +00:00
8ed29599dd correction to commit 6ca17d929d 2009-10-29 11:00:26 +00:00
4387f7be17 code structuring 2009-10-29 10:56:48 +00:00
313fa58901 bugfix: removed dh offset for poly copy with name constructor 2009-10-29 10:50:20 +00:00
f299ba1512 minor update 2009-10-28 18:43:58 +00:00
43433af30f limiting min particle temp to constProps.TMin() 2009-10-28 18:35:47 +00:00
d53a2156b3 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-10-28 15:15:58 +00:00
6ca17d929d updates for parallel running 2009-10-28 15:15:53 +00:00
02e73e2530 Merge branch 'master' of /home/hunt2/mattijs/OpenFOAM/OpenFOAM-dev/. 2009-10-27 16:44:41 +00:00
42f82562b6 added weighted average option 2009-10-27 16:02:21 +00:00
7e200aecbf optional no wait on Pstream::exchange 2009-10-27 13:09:08 +00:00
3bc86cd30e Corrected comments to conform to Mark's orthography rules ;-) 2009-10-27 13:00:01 +00:00
d34aee63ed Merge branch 'olesenm' 2009-10-27 11:50:12 +00:00
2f8f9f2782 further updates relating to commit 278e8c5030 2009-10-27 11:09:33 +00:00
ec03076d00 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-10-27 09:53:25 +00:00
7a3212825d curvedEdges - collapse unneed function 2009-10-27 08:57:21 +01:00
19d3e88040 pass by reference got accidentally killed by commit 278e8c5030 2009-10-27 08:40:33 +01:00
c100ffc957 Merge commit 'OpenCFD/master' into olesenm
Conflicts:
	src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.C
	src/OpenFOAM/matrices/simpleMatrix/simpleMatrix.H
	src/mesh/blockMesh/curvedEdges/BSpline.C
	src/mesh/blockMesh/curvedEdges/spline.C
	src/mesh/blockMesh/curvedEdges/spline.H

- Also adjusted chemistrySolver/EulerImplicit/EulerImplicit.C
  to use simpleMatrix with initialized values
2009-10-27 08:29:33 +01:00
278e8c5030 Converted constant reference to primitive arguments to constant primitive arguments. 2009-10-26 22:45:21 +00:00
86c3affb5b Added initialising constructor and use it is the BSpline code. 2009-10-26 21:54:53 +00:00
135f8275ac Cleaned a message. 2009-10-26 19:41:51 +00:00
75bfb292e7 Added a switch to control the caching system. 2009-10-26 19:41:32 +00:00
c9a2f4923e templated uniformInterpolationTable 2009-10-26 19:15:32 +00:00
7e34048c59 cosmetics 2009-10-26 18:54:34 +00:00
cbe5974c26 adding tabulated U wall function BC and utility to generate tables 2009-10-26 18:54:10 +00:00
2352682afb use Pstream::exchange 2009-10-26 17:36:33 +00:00
b7cf30bdb4 simpleMatrix initialize with coefficients with 0.0
- the element of least surprise
2009-10-26 15:40:55 +01:00
e684a87516 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-10-26 14:01:45 +00:00
00cd6ac8b7 Added support for the caching of gradients.
This is controlled by providing a list of the fields to be cached in the "cache"
sub-dictionary of fvSolution.

Debug information about the caching is printed when the solution::debug switch
is on.

There are still a couple of issues to do with the naming of gradients used in
corrected snGrads and limited interpolation schemes that need to be resolved
but these are no different to previously and hence not urgent.
2009-10-26 14:01:39 +00:00
79efd0a546 BSpline code cleanup 2009-10-26 13:59:50 +01:00
514914207a BSpline bugfix: initialize simpleMatrix with 0.0
- why doesn't simpleMatrix always do this?
2009-10-26 13:50:10 +01:00
6a62baae2c Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-10-26 12:18:35 +00:00
9a139812ed Merge branch 'master' of /home/hunt2/mattijs/OpenFOAM/OpenFOAM-dev/. 2009-10-26 09:59:18 +00:00
46f1df810c unallocated Pstream 2009-10-26 09:59:07 +00:00
664deb6a7e Adding sortFaces and addPatches function to handle these tasks. Using
better sorting functions (sortedOrder and inplaceReorder).  Optionally
not creating empty patches.
2009-10-23 18:27:18 +01:00
7bce90d19e re-vamped patch interaction - generalised into reflect, stick and escape 2009-10-23 17:54:15 +01:00
e12acd7010 very minor cosmetics 2009-10-23 17:36:09 +01:00
adcb7646f0 unitConversion - don't pull in the entire constant::mathematical namespace
- also, minor doxygen fixup
2009-10-23 08:31:59 +02:00
9120e00a59 Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2009-10-22 11:59:45 +01:00
fe45863a11 new mapDistribute constructor; various fixes 2009-10-22 11:59:25 +01:00
8d70c5b025 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-10-21 18:16:42 +01:00
49f71dc812 amended note for enthalpy 2009-10-21 18:16:00 +01:00