Commit Graph

230 Commits

Author SHA1 Message Date
601f2831ec Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2009-08-11 23:08:34 +01:00
638c52120e test app for passiveParticle 2009-08-11 22:53:47 +01:00
c832d635b1 ISstream::read improvements
- following Andy's idea to return values as label whenever possible
      eg, 1.2e6 -> 1200000
  but left it commented out

- avoid buffer overflow in ISstream::read(word&).
  Is the 'if (fail())' check itself actually in the correct place??

- other minor cosmetic changes
2009-08-11 11:55:46 +02:00
8a884892bc version tokenize scalar that stops reading on invalid input 2009-08-10 15:30:48 +02:00
7d30766d18 consistency update BiIndirectList, IndirectList
- allow construct with Xfer container for the addressing

- Replaced non-const addressing() method in BiIndirectList with
  resetAddressing() method as per IndirectList
2009-08-10 11:08:35 +02:00
df90d1abf8 Merge commit 'OpenCFD/master' into olesenm 2009-08-07 15:09:02 +02:00
85f11fa7cc added sortedToc() 2009-08-06 17:43:39 +01:00
5872f2a7e6 added test/ensightFoamReader with udr_checker.c from ensight80
- it looks okay to include: same copyrights as the other ensight headers
2009-08-06 15:34:55 +02:00
1e6e335f5b Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-08-04 10:13:06 +01:00
268574393a Removed orphaned files. 2009-08-04 10:12:25 +01:00
b8c4e1f49e added proof-of-concept test/fvSolutionCombine
- could also move to utilities/miscellaneous

- the dictionary compare contents might be useful enough to move
  into dictionary code.

- usage example (w/o -rewrite):

      for i in $(find -name fvSolution)
      do
          fvSolutionCombine -case "${i%/system/fvSolution}"
      done
2009-08-01 13:03:49 +02:00
655608678e Merge commit 'OpenCFD/master' into olesenm 2009-07-27 08:31:06 +02:00
35986a3972 implement fileName::clean() method
* remove repeated slashes
      /abc////def        -->   /abc/def

* remove '/./'
      /abc/def/./ghi/.   -->   /abc/def/./ghi
      abc/def/./         -->   abc/def

* remove '/../'
      /abc/def/../ghi/jkl/nmo/..   -->   /abc/ghi/jkl
      abc/../def/ghi/../jkl        -->   abc/../def/jkl

* remove trailing '/'
2009-07-25 20:40:52 +02:00
f8d87e2ab4 first implementation of filename clean method
- test as independent application first
2009-07-25 20:32:29 +02:00
816f6b3488 Updated the headers. 2009-07-24 17:01:31 +01:00
2ec8908377 bugfix PackedList for non-optimized compilation
- use shift-right instead of shift-left formulation to avoid wrong behaviour
  with non-optimized compilation when the packed items fit exactly in the
  available number of bits.
2009-07-23 22:46:52 +02:00
ceaaabab56 bugfix PackedList for non-optimized compilation
- use shift-right instead of shift-left formulation to avoid wrong behaviour
  with non-optimized compilation when the packed items fit exactly in the
  available number of bits.
2009-07-23 22:46:52 +02:00
6c9f2520e1 added another PackedListTest 2009-07-23 15:36:46 +02:00
0b7832e37c qualify exported FOAM_CASE
- avoid ambiguities caused by relative paths
2009-07-23 09:43:05 +02:00
4f6f570d6d versatility improvement: #includeIfPresent dictionary directive
- similar to the #include directive, but does not generate an error if the
  file does not exist.

Note: opted for an explicit naming #includeIfPresent rather than #cinclude
2009-07-21 08:44:25 +02:00
8ff026095d added mvBak() to POSIX
- Rename to a corresponding backup file
  If the backup file already exists, attempt with "01" .. "99" suffix.

- git ignore indexed backup files too
2009-07-20 11:04:48 +02:00
94b8290593 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-06-23 20:44:29 +01:00
fc608c0594 Better speed test with indirect addressing. 2009-06-23 20:44:27 +01:00
7dd1530497 testapp for DynamicField 2009-06-22 10:29:10 +01:00
6a9dfcdc82 merge of thermo branch into master 2009-06-19 13:21:55 +01:00
72ac1c7328 ptrList test app replaced by PtrList test app 2009-06-19 12:02:10 +01:00
9af9f9c478 merging master into local branch 2009-06-11 17:29:19 +01:00
c3c36e6b16 updated name change of combustion->reaction lib 2009-06-10 19:37:52 +01:00
6cd9e92d45 new test app 2009-06-08 17:59:02 +01:00
fd17f2bdb7 test application for extended stencils 2009-06-04 17:30:57 +01:00
724b034cc7 argList enhancement: added convenience methods for accessing options
Oriented somewhat on dictionary methods.

Return the argument string associated with the named option:
    Info<< "-foo: " << args.option("foo") << nl;

Return true if the named option is found
    if (args.optionFound("foo")) ...

Return an IStringStream to the named option
    old:      value = readScalar(IStringStream(args.options()["foo"])());
    newer:    value = readScalar(args.optionLookup("foo")());
    also:     List<scalar> lst(args.optionLookup("foo")());

Read a value from the named option
    newest:   value = args.optionRead<scalar>("foo");

Read a value from the named option if present.
    old:  if (args.options().found("foo"))
          {
              value = readScalar(IStringStream(args.options()["foo"])());
          }
    new:  args.optionReadIfPresent("foo", value);

Read a List of values from the named option
    patches = args.optionReadList<word>("patches");

Didn't bother adding optionReadListIfPresent<T>(const word&), since it
probably wouldn't be common anyhow.
2009-05-19 18:19:49 +02:00
a0a9cd3366 introduce readList<T> function
- Read a bracket-delimited list, or handle a single value as list of size 1.
  Mostly useful for handling command-line arguments.
  eg,
      if (args.options().found("patches"))
      {
          patches = readList<word>(IStringStream(args.options()["patches"])());
      }
  can handle both of these:
      -patches  patch0
      -patches \( patch1 patch2 patch3 \)
2009-05-18 12:05:52 +02:00
20c1a673e7 'rebrand' OSspecific Unix -> POSIX
- change name of environment variable from $WM_OS -> $WM_OSTYPE
  as a better description
2009-05-18 10:26:11 +02:00
19d951ce86 minor cleanup of turbulence models
- added constructor dictionary(const dictionary*) that also handles NULL
  pointers and makes it convenient to construct from a possibly nonexistent
  sub-dictionary:
  eg,
      dictionary dict2(dict1.subDictPtr("someDict"));

- make some of the turbulence Coeffs sub-dictionary optional.
  Their contents are all 'lookupOrAddDefault' anyhow.

- in turbulentMixingLength BCs, skip namespace qualifier in template
  (eg, <RASModel> vs. <compressible::RASModel>)

- change comments from 'turbulenceProperties' to RASProperties/LESProperties

- consistency between compressible/incompressible - no separate file for
  'New' selector etc

- consistency in accessing the model coefficients.
  Use method coeffDict() for const access.
  Use protected data member coeffDict_ for read/write access.

- document model coefficients in etc/constant/RASProperties.
  Need the same for LESProperties before we can prune these from the
  tutorials.
2009-05-08 17:27:42 +02:00
6e10b0defd adjusted dictionary #inputMode directive
- #inputMode error
  now issues a FatalError on duplicate entries

- #inputMode warn
  issues a warning on duplicate entries, corresponds to the
  old behaviour of 'error'

- #inputMode protect
  prevents overwriting existing entries

The 'protect' mode provides a simple mechanism for supplying default values.
eg,
    in file1:
        #inputMode  protect
        intensity       0.1;
        mixingLength    0.005;
        #inputMode  merge

        inlet
        {
            type        turbulentIntensityKineticEnergyInlet;
            intensity   $intensity;
        }

    which is included from file2:

        intensity   0.05;
        #include    "file1"
2009-05-05 13:18:29 +02:00
48247a3d62 consistency update
- DynamicList gets append methods as per List
- misc cosmetic changes
2009-04-27 10:08:29 +02:00
6ce8e7d0c0 added List::append() methods 2009-04-22 16:11:52 +02:00
81cce6950a Merge commit 'OpenCFD/master' into olesenm 2009-03-18 14:49:37 +01:00
f6a7d95124 interpolation mesh objects 2009-03-16 10:45:27 +00:00
e45dc31892 UIndirectList output operator
- TODO: binary output is still a bit silly
2009-03-16 11:14:31 +01:00
fb1e155eed Merge commit 'OpenCFD/master' into olesenm 2009-03-16 08:28:08 +01:00
0128b2be68 UIndirectList 2009-03-12 19:25:21 +00:00
6c387489d7 subset constructor 2009-03-12 15:59:27 +00:00
b968e62ef9 objectRegistry fixes
- objectRegistry gets a rename() that also adjusts the dbDir
- cloud reworked to use static variables subInstance and defaultName.
  This avoids writing "lagrangian" everywhere

string fixes
- avoid masking of std::string::replace in string.H
- avoid old strstream in PV3FoamReader
2009-03-06 15:18:00 +01:00
9ce984d1dc added edge/triFace to the hashing tests 2009-03-05 12:39:22 +01:00
7544164d53 regIOobject, Hasher, IOobject tweak
- regIOobject: don't re-register an unregister object on rename/assignment
- Hasher: split-off HasherInt with uint32_t specializations
- IOobject: writeBanner/writeDivider return Stream for easier chaining.

... also dropped some namespace bracketing while I was at it.
2009-03-05 12:06:57 +01:00
17548296be Switched from old hashing functions to use Bob Jenkins' hash routine
- If the underlying type is contiguous, FixedList hashes its storage directly.
- Drop labelPairHash (non-commutative) from fvMeshDistribute since
  FixedList::Hash does the right thing anyhow.
- Hash<edge> specialization is commutative, without multiplication.
- Hash<triFace> specialization kept multiplication (but now uLabel).
  There's not much point optimizing it, since it's not used much anyhow.

Misc. changes

- added StaticAssert to NamedEnum.H
- label.H / uLabel.H : define FOAM_LABEL_MAX, FOAM_ULABEL_MAX with the
  values finally used for the storage.  These can be useful for pre-processor
  checks elsewhere (although I stopped needing them in the meantime).
2009-03-04 10:50:14 +01:00
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