Commit Graph

714 Commits

Author SHA1 Message Date
44a86232af Added Jenkin's hash functions in C++ form
- not much speed difference between SuperFastHash and Jenkin's lookup3 but
  both are 5-10% faster than what is currently implemented in Foam::string,
  albeit inlining probably helps there.

- TODO: integration with existing infrastructure
2009-03-02 19:57:17 +01:00
106d417de0 StaticAssert added
- catch people using silly template sizes for FixedList, PackedList
2009-02-27 16:41:51 +01:00
dbc9b7427a PackedList iterator bugfix
- compare iteratorBase == iteratorBase by value, not position
  thus this works
      list[a] == list[b] ...

- compare iterator == iteratorBase and const_iterator == iteratorBase
  by position, not value. The inheritance rules means that this works:
      iter == list.end() ...
  this will compare positions:
      iter == list[5];
  Of course, this will still compare values:
      *iter == list[5];
2009-02-27 13:43:43 +01:00
a46c85f5a4 HashTable changes
- make table power-of-two, but since it seems to give 1-2% performance
  improvement, maybe forget it too.

- remove two-argument form of hashing classes and do the modulus direclty
  within HashTable instead. This simplifies things a fair bit.

- migrate Hash<void*> from db/dlLibrary to primitives/hashes/Hash
2009-02-26 17:49:47 +01:00
2aeee852e8 PackedList bugfix, HashTable tweak
- it was possible to create a PackedList::iterator from a
  PackedList::const_iterator and violate const-ness

- added HashTable::printInfo for emitting some information

- changed default table sizes from 100 -> 128 in preparation for future
  2^n table sizes
2009-02-26 15:32:47 +01:00
e562aecb73 HashTable performance: find(), found() check nElmts_ instead of tableSize_
- much better performance on empty tables (4-6x speedup), neutral
  performance change on filled tables. Since tableSize_ is non-zero when
  nElmts_ is, there is no modulus zero problem.
2009-02-25 18:58:48 +01:00
507ad1e643 Merge commit 'OpenCFD/master' into olesenm 2009-02-25 10:50:26 +01:00
c49b302aa3 added solutionD and geometricD 2009-02-24 19:20:55 +00:00
af8a42067c collapse cell detection 2009-02-24 12:05:35 +00:00
a1525f016a extrapolate to any non-constraint patch 2009-02-20 16:47:09 +00:00
b1fe3cc51a processorFvPatchField now holds opposite value; not interpolate 2009-02-19 11:15:32 +00:00
4b60453cf1 use while (runTime.loop() { .. } where possible in solvers
- change system/controlDict to use functions {..} instead of functions (..);
  * This is internally more efficient
- fixed formatting of system/controlDict functions entry

- pedantic change: use 'return 0' instead of 'return(0)' in the applications,
  since return is a C/C++ keyword, not a function.
2009-02-18 08:57:10 +01:00
aa6710901e Added Time::loop() to allow the
while(runTime.loop())
{
...
}

idiom.

Demonstrated in the shallowWaterFoam solver.
2009-02-17 22:00:59 +00:00
fcd4e88e0e Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-02-17 17:07:16 +00:00
17b2e50e9c Added shallowWaterFoam solver and tutorial case. 2009-02-17 17:07:09 +00:00
19aa23d707 Merge commit 'OpenCFD/master' into olesenm 2009-02-17 16:35:00 +01:00
c799fb0014 renamed to be consistent with new solver naming convention 2009-02-17 12:27:38 +00:00
a5ab4126d8 renamed to be consistent with new solver naming convention 2009-02-17 12:09:27 +00:00
c2256e51f3 change solvers, utilities, etc. to use while (..) time-looping idiom
- this (now deprecated) idiom:
      for (runTime++; !runTime.end(); runTime++) { ... }
  has a few problems:
    * stop-on-next-write will be off-by-one (ie, doesn't work)
    * function objects are not executed on exit with runTime.end()
  Fixing these problems is not really possible.

- this idiom
      while (runTime.run())
      {
          runTime++;
          ...
      }
  works without the above problems.
2009-02-17 08:47:42 +01:00
68f1ba6a6d extraneous files 2009-02-13 15:33:04 +00:00
5e7339fe15 Merge commit 'OpenCFD/master' into olesenm 2009-02-13 16:05:16 +01:00
2d8ec16d6c update 2009-02-12 10:11:57 +00:00
b5a1f09321 functionObjectList with SHA1Digest tracking 2009-02-12 10:51:30 +01:00
dfe1df4c61 new solver 2009-02-11 19:49:38 +00:00
a7f68e85ef restructuring 2009-02-11 18:49:54 +00:00
d12bf72ddc output min/max T as scalar 2009-02-11 18:39:34 +00:00
ac084b840b Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-02-11 12:45:17 +00:00
3d126aca51 Merge commit 'OpenCFD/master' into olesenm 2009-02-11 10:37:22 +01:00
28872c4432 moved SHA1::Digest class to SHA1Digest to allow forward declarations 2009-02-11 10:34:45 +01:00
adfd825441 SHA1, dictionary improvements
- added class OSHA1stream for a stream-based calculation method
- dictionary gets digest() method
- dictionaryEntry tweak: avoid trailing space after dictionary keyword
2009-02-11 00:46:01 +01:00
7bc85824aa typos 2009-02-10 16:49:03 +00:00
e96264ad9e typo 2009-02-10 14:33:56 +00:00
8e3b458231 added SHA1 class 2009-02-10 13:58:00 +01:00
03f950341f added output of geometric boundary type 2009-02-10 11:37:40 +00:00
6a908364c2 added cylinderToCell and sphereToCell options 2009-02-09 11:59:31 +00:00
844211a940 Merge commit 'OpenCFD/master' into olesenm 2009-02-06 21:19:42 +01:00
69918f23c5 consistency update
- OSspecific: chmod() -> chMod(), even although it's not used anywhere

- ListOps get subset() and inplaceSubset() templated on BoolListType

- added UList<bool>::operator[](..) const specialization.
  Returns false (actually pTraits<bool>::zero) for out-of-range elements.
  This lets us use List<bool> with lazy evaluation and no noticeable
  change in performance.

- use rcIndex() and fcIndex() wherever possible.
  Could check if branching or modulus is faster for fcIndex().

- UList and FixedList get 'const T* cdata() const' and 'T* data()' members.
  Similar to the STL front() and std::string::data() methods, they return a
  pointer to the first element without needing to write '&myList[0]', recast
  begin() or violate const-ness.
2009-02-06 20:43:09 +01:00
9b0bebec00 making overwrite work 2009-02-06 15:12:24 +00:00
d3ec38f0aa Merge commit 'OpenCFD/master' into olesenm 2009-02-06 10:40:19 +01:00
ffd9bb08a8 OSspecific: altered file tests
- removed the previously added fileName type(), isDir(), isFile() methods.

- added optional bool parameter to isFile() function to explicitly
  enable/disable the check for gzip files.

- fixed minor bugginess where the default usage of isFile() would result in
  false positive matches.

- be slightly more stringent and use isDir() and isFile() instead of
  exists() function when we actually know the expected type.
2009-02-06 10:25:41 +01:00
fb29e08539 Merge commit 'bundle/home' into olesenm 2009-02-06 08:34:43 +01:00
22f6b4dc06 surfMesh gets surfPointFields, surfaceFormats write() for surf mesh components
- add placeholder BoundaryMesh to surfMesh allows us to drop the
  SurfGeoMesh class and just reuse the GeoMesh class.
  Do the same for triSurface.
2009-02-05 22:41:22 +01:00
07ed75e8e3 Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2009-02-05 15:37:32 +00:00
f903801502 forgot to commit new files 2009-02-05 15:36:56 +00:00
11176914d4 memory leak 2009-02-05 15:28:32 +00:00
3aba0e28ff surfMesh, surfaceRegistry re-working 2009-02-05 16:12:35 +01:00
a4d0094e48 added surfaceMeshImport, surfaceMeshExport 2009-02-05 00:08:24 +01:00
a43df3bddd added surfMesh, reworked MeshedSurface
- renamed surface regions (formerly patches or groups) to surfZone.

- added surfMesh, but without any of the patch information needed to make it
  useful for finiteArea.

- promoted coordinateSystem transformation to surfaceMeshConvert and moved
  old to surfaceMeshConvertTesting.
2009-02-04 16:17:14 +01:00
6d1466465b consistency update 2009-02-04 11:27:35 +00:00
a83588ec11 using surfaceScalarField constructor to name field 2009-02-04 10:25:31 +00:00