Commit Graph

547 Commits

Author SHA1 Message Date
30964be5c2 Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2009-01-13 12:14:43 +00:00
b8c8c685bc -latestTime fix 2009-01-12 16:39:39 +00:00
d7f99e3db6 cosmetics 2009-01-12 08:47:25 +01:00
9d9aea380a Merge commit 'OpenCFD/master' into olesenm 2009-01-12 08:45:15 +01:00
95dcb6ded7 Simplify checking of container (List/HashTable, strings) sizes
- can use 'XX.empty()' instead of 'XX.size() == 0', 'XX.size() < 1' or
  'XX.size() <= 0' or for simpler coding.
  It also has the same number of characters as '!XX.size()' and /might/ be
  more readable

- many size checking had 'XX.size() > 0', 'XX.size() != 0', or 'XX.size() >= 1'
  when a simple 'XX.size()' suffices
2009-01-10 20:28:06 +01:00
b85c9a7487 avoided some unneeded conversions of string::npos, minor cleanup of className
- string doesn't use any debug info, remove it
- restructured the macros to add in NoDebug macro versions to className,
  typeInfo.  Might be helpful with tackling the globals bootstrapping issue.
- HashTableName + StaticHashTableName - avoid lookup of debug switch when
  FULLDEBUG is not defined
2009-01-09 15:15:21 +01:00
f0341171ff renamed 'empty' class to 'nil', added missing empty() member to some containers 2009-01-09 13:10:10 +01:00
89a261ac0c resolve merge conflict in header file descriptions 2009-01-09 11:25:40 +00:00
990a9e7f57 added HashTable::erase(const HashTable&) method 2009-01-09 09:35:53 +01:00
0061e9ed03 added Foam::FOAMbuild to Foam::FOAMversion
- avoids problems with finding files based on FOAMversion
  (reported by Mattijs)
2009-01-09 09:11:50 +01:00
f0f7ea9539 Merge commit 'OpenCFD/master' into olesenm 2009-01-09 08:21:48 +01:00
3c2e85bac9 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-01-08 20:19:11 +00:00
fcdcf55610 Added support for "pFinal". 2009-01-08 20:05:46 +00:00
ef42bea66f added region 2009-01-08 18:13:04 +00:00
7ae9a0d0d9 added tiny applications/test/foamVersion/foamVersionString.C 2009-01-08 14:48:48 +01:00
eb2e37b296 SiCortex port 2009-01-06 21:41:20 +00:00
b1ca8f48e4 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-01-05 22:18:33 +00:00
04d26c8e38 Corrected dimensions of kappa. 2009-01-05 22:17:20 +00:00
c5b38a7232 update copyrights for 2009 2008-12-31 19:01:56 +01:00
cdd2266467 Merge commit 'OpenCFD/master' into olesenm
Conflicts:

	src/OpenFOAM/db/IOstreams/Pstreams/IPstream.C
	src/OpenFOAM/db/IOstreams/Pstreams/OPstream.C
2009-01-07 09:39:17 +01:00
3c5852ebfc reworked regExp + wordRe a bit, minor change to keyType
regExp:
- added optional ignoreCase for constructor.
- the compile() methods is now exposed as set(...) method with an optional
  ignoreCase argument.  Not currently much use for the other regex compile
  flags though. The set() method can be used directly instead of the
  operator=() assignment.

keyType + wordRe:
- it's not clear that any particular characters are valid/invalid (compared
  to string or word), so just drop the valid(char) method for now

wordRe:
- a bool doesn't suffice, added enum compOption (compile-option)
- most constructors now have a compOption. In *all* cases it defaults to
  LITERAL - ie, the same behaviour for std::string and Foam::string
- added set(...) methods that do much the same as operator=(...), but the
  compOption can be specified.  In all cases, it defaults to DETECT.

 In Summary
    By default the constructors will generally preserve the argument as
    string literal and the assignment operators will use the wordRe::DETECT
    compOption to scan the string for regular expression meta characters
    and/or invalid word characters and react accordingly.

    The exceptions are when constructing/assigning from another
    Foam::wordRe (preserve the same type) or from a Foam::word (always
    literal).
2009-01-05 17:02:58 +01:00
19503c93e1 rename xfer<T> class to Xfer<T>
- The capitalization is consistent with most other template classes, but
  more importantly frees up xfer() for use as method name without needing
  special treatment to avoid ambiguities.

  It seems reasonable to have different names for transfer(...) and xfer()
  methods, since the transfer is occuring in different directions.
  The xfer() method can thus replace the recently introduced zero-parameter
  transfer() methods.
  Other name candidates (eg, yield, release, etc.) were deemed too abstract.
2009-01-05 12:30:19 +01:00
461ac4b4cc regExp - separate full match from partial match, add find()
- match() only does a full match
  - find() and search() do partial matches
    search() is similar to the name coming into C++ TR1
2009-01-05 09:37:52 +01:00
2717aa5c7d new wordRe class - a word that holds a regExp
- a possible future replacement for keyType, but the immediate use is the
    wordReList for grepping through other lists.
  - note that the argList treatment of '(' ... ')' yields quoted strings,
    which we can use for building a wordReList

minor cleanup of regExp class

  - constructor from std::string, match std::string and
    operator=(std::string&)
    rely on automatic conversion to Foam::string
  - ditch partialMatch with sub-groups, it doesn't make much sense
2009-01-04 00:33:27 +01:00
1d866d7fe8 reworked IOstreams
- Istream and Ostream now retain backslashes when reading/writing strings.
  The previous implementation simply discarded them, except when used to
  escape a double-quote or a newline. It is now vitally important to retain
  them, eg for quoting regular expression meta-characters.

  The backslash continues to be used as an escape character for double-quote
  and newline, but otherwise get passed through "as-is" without any other
  special meaning (ie, they are *NOT* C-style strings). This helps avoid
  'backslash hell'!
  For example,
     string:   "match real dots \.+, question mark \? or any char .*"
     C-style:  "match real dots \\.+, question mark \\? or any char .*"

- combined subfiles in db/IOstreams, some had more copyright info than code
- OPstreamI.H contained only private methods, moved into OPstream.C

Are these really correct?
   IOstreams/Istream.H:#   include "HashTable.C"
   token/token.H:#define NoHashTableC
2009-01-03 12:52:27 +01:00
cf488912bb added xfer<...> transfer() method to various containers
- this should provide a slightly more naturally means to using transfer
  constructors, for example
          labelList list2(list1.transfer());
      vs. labelList list2(xferMove(list1));

- returns a plain list where appropriate (eg, DynamicList, SortableList)
  for example
          labelList list2(dynList1.transfer());
      vs. labelList list2(xferMoveTo<labelList>(dynList1));
2009-01-02 15:54:51 +01:00
5e90a0ddc9 dictionary gets xfer constructor and transfer() method(s) 2009-01-02 15:50:32 +01:00
a010121427 HashTable / StaticHashTable changes
StaticHashTable:
- erase(iterator&) now actually alters the iterator and iterator++() handles
  it properly
- clear() also sets count to zero
- operator=(const StaticHashTable&) doesn't crash after a previous transfer
- operator(), operator==() and operator!=() added

HashTable:
- operator=(const HashTable&) gets tableSize if required, eg, after a
  previous transfer)

HashSet / Map
- add xfer<...> constructor for underlying HashTable
2009-01-02 13:24:30 +01:00
973b9ea0ce boundBox, octree cleanup
- added boundBox(const tmp<pointField>&) constructor for use with
    coordinate systems
  - moved some methods from treeBoundBox to boundBox and use VectorSpace ops
2009-01-01 17:03:19 +01:00
28b200bcd9 update copyrights for 2009 2008-12-31 19:01:56 +01:00
48af574040 new management for sampledSurface(s)
//- Does the surface need an update?
        virtual bool needsUpdate() const = 0;

        //- Mark the surface as needing an update.
        //  May also free up unneeded data.
        //  Return false if surface was already marked as expired.
        virtual bool expire() = 0;

        //- Update the surface as required.
        //  Do nothing (and return false) if no update was required
        virtual bool update() = 0;

    The constructors for the derived classes should generally start in a
    'expired' condition (ie, needsUpdate() == true) and rely on a subsequent
    call to the update() method to complete the initialization. Delaying the
    final construction as late as possible allows the construction of
    surfaces that may depend on intermediate calculation results (eg,
    iso-surfaces) and also avoids the unnecessary reconstruction of surfaces
    between sampling intervals.

    It is the responsibility of the caller to ensure that the surface
    update() is called before the surface is used.  The update() method
    implementation should do nothing when the surface is already up-to-date.
2008-12-31 18:53:57 +01:00
dcc82bf77b boundingBox has mag() and span() methods - use them 2008-12-31 17:58:23 +01:00
d611b85924 Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2008-12-31 08:47:57 +00:00
09463aaa9f Further correction for commit bf92e86. 2008-12-30 23:02:05 +00:00
1d450fbe11 Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2008-12-30 22:00:52 +00:00
22393b4262 new bc 2008-12-30 22:00:17 +00:00
bf92e869a9 Changed the IOOutputFilter constructor to accept a "name" argument. For details see the changes proposed by Vincent Tang:
http://openfoam.cfd-online.com/cgi-bin/forum/show.cgi?126/10405
2008-12-30 21:18:04 +00:00
468668d0be muf -> muEff for consistency 2008-12-19 14:48:54 +00:00
c5c622e1ab adding pFinal 2008-12-19 14:45:28 +00:00
9596677119 labelled muf - grad(muf) used, so can now manipulate in fvSolution etc 2008-12-19 14:03:49 +00:00
393e4d232e added explicit call to UEqn.relax() 2008-12-19 14:01:00 +00:00
dbe5e08213 minor mods:
- added pdFinal option
    - labelled muf - grad(muf) used, so can now manipulate in fvSolution etc
    - added absolute/relative around the calculation of divU
2008-12-19 13:59:05 +00:00
79e9a90c0e reworked functionObjectList to use PtrList
- This was originally plan 'B', but it is actually probably more efficient
  than using PtrDictionary anyhow.
- straightened out the return value logic, but it wasn't being used anywhere
  anyhow.
- new 'updated_' data member avoids inadvertent execution in the read()
  method when execution is turned off.
2008-12-19 09:29:58 +01:00
61187dfedb updated DictionaryTest to test transfer() and remove()
- PtrDictionary and remove(const word&) does not seem to work
2008-12-18 16:54:35 +01:00
94a6462058 update/remove some tests from applications/test 2008-12-18 10:00:03 +01:00
a43b7a916e handle NULL pointer in regExp 2008-12-18 09:30:06 +01:00
239c31f30f DictionaryBase gets transfer() method 2008-12-17 12:36:55 +01:00
e0c749cfe8 Merge commit 'OpenCFD/master' into olesenm 2008-12-17 08:26:10 +01:00
bf057f99c0 small change to CMakeLists.txt for cmake-2.6.2 2008-12-15 22:06:44 +01:00
0571f5393e rename Foam::dotFoam() -> Foam::findEtcFile() with an optional 'mandatory' argument
- if mandatory is true, findEtcFile() will abort with a message (via cerr).
  This allows a non-existent file to be caught at the lowest level and avoid
  error handling in IFstream, which might not be initialized at that stage.
2008-12-12 19:16:32 +01:00