Commit Graph

2566 Commits

Author SHA1 Message Date
ebf94bfc74 cleanup text wrapping code in argList 2009-12-04 10:09:32 +01:00
6e3ed58ae5 Merge commit 'OpenCFD/master' into olesenm 2009-12-03 16:40:37 +01:00
3e2425b72b Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-12-02 22:42:27 +00:00
c8f03c3bef Corrected and simplified solver selection for implicit MULES. 2009-12-02 22:42:10 +00:00
1665a86206 more Icc11.1 changes 2009-12-02 18:32:03 +00:00
23e5930d83 Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2009-12-02 16:44:12 +00:00
2db271b969 Allow copy construction because crappy compilers need them. 2009-12-02 16:38:38 +00:00
e31f1c3aeb changed comment 2009-12-02 16:38:34 +00:00
192c0e56a1 Cosmetic changes. 2009-12-02 16:37:44 +00:00
063d8edea1 PackedBoolList specializaton for operator=
- now that I re-examined the code, the note in commit 51fd6327a6
  can be mostly ignored

  PackedList isMaster(nPoints, 1u);
  is not really inefficient at all, since the '1u' is packed into
  32/64-bits before the subsequent assignment and doesn't involve
  shifts/masking for each index

  The same misinformation applies to the PackedList(size, 0u) form.
  It isn't much slower at all.

  Nonetheless, add bool specialization so that it is a simple assign.
2009-12-03 16:33:58 +01:00
587401643c add text wrapping to the argList::printUsage output 2009-12-03 16:16:56 +01:00
58b7e64185 Use argList::addOption, argList::addBoolOption (almost) everywhere
- ensure that the standard options (eg, from timeSelector) also have
  some usage information
2009-12-03 13:32:12 +01:00
ca7acea5f4 argList fixes/enhancements
- bugfix: noParallel() didn't remove 'parallel' from validParOptions
  allowing it to sneak through to the Pstream layer.
  noParallel() now clears the entire validParOptions as well

- new convenience methods
  * addOption()
  * removeOption()
  * addBoolOption() - as per addOption(), but for bool options (no param)

- printUsage() output format
  * options sorted alphabetically
  * options listed on separate lines for better readability

- new optionUsage static member for short usage information about
  an option
  * corresponding addUsage() method or provide usage information
    in addOption() / addBoolOption()
2009-12-03 09:32:30 +01:00
bd8ff13669 Cosmetic changes. 2009-12-02 16:37:44 +00:00
51fd6327a6 use PackedBoolList typedef instead of PackedList<1>
Note:

PackedList constructor initializes to zero, faster not to do it
ourselves.
ie,
    PackedList foo(nPoints);
vs.
    PackedList foo(nPoints, 0);

saves an extra nPoints operations with shifts/masks etc.

If speed is important, change this type of code

    PackedList isMaster(nPoints, 1u);
    for (loop)
    {
        if (condition)
        {
            isMaster.set(i, 0u);   // unset bit
        }
    }
    return isMaster;

into this:

    PackedList notMaster(nPoints);
    for (loop)
    {
        if (!condition)
        {
            notMaster.set(i, 1u);
        }
    }
    notMaster.flip();
    return notMaster;

or this:

    PackedList isMaster(nPoints);
    isMaster.flip();

    for (loop)
    {
        if (condition)
        {
            isMaster.set(i, 0u);
        }
    }
    return isMaster;
2009-12-02 17:04:31 +01:00
99b293ffb3 cellMatcher - can use ListOps for identity instead of its own method 2009-12-02 16:43:42 +01:00
00985638d8 remove fvCFD.H usage from remaining library source
- exception calcType.H since it'll most likely be used for building
  applications anyhow

- use quailified names in more of the lagrangian code

- killed some tab indents in various places.
2009-12-02 15:34:52 +01:00
2f8c7782f4 removed dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C.save
- was not touched for a very long time, seems to be left over from
  the pre-git era
2009-12-02 14:02:07 +01:00
c3457b5152 argList - specializations for optionRead<string> etc.
- new optionLookupOrDefault and additional form of optionReadIfPresent
  with a default value
2009-12-02 13:45:11 +01:00
8b36e8cdc9 Merge commit 'OpenCFD/master' into olesenm 2009-12-01 18:55:31 +01:00
5b628ebb31 HashSet - use AnyType, AnyHash templates as per HashTable
- this probably should have been in commit c7c9a6e0 (2009-11-04)
  but got overseen in the HashTbl -> HashTable switch
2009-12-01 18:53:15 +01:00
745d8e47d1 probes - use new HashSet::insert() method 2009-12-01 18:32:30 +01:00
a4f4a904f4 HashSet enhancement
- allow insert() and set() from a UList of Key
  This complements the existing erase(const UList<Key>&) method
2009-12-01 18:26:18 +01:00
d0b8aa40f0 trim trailing space in src/sampling 2009-12-01 17:56:35 +01:00
2667382644 probes - handle fields as wordReList
- adjust code to more closely resemble sampledSets / sampledSurfaces
2009-12-01 17:53:18 +01:00
47eb0c5cd2 Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev
Conflicts:
	applications/utilities/postProcessing/dataConversion/foamToTecplot360/Allwmake
2009-12-01 16:47:45 +00:00
2c240854b8 incorrect comment 2009-12-01 16:44:36 +00:00
b752ce5272 sampledSets - handle fields as wordReList
- adjust code to more closely resemble sampledSurfaces
2009-12-01 16:11:18 +01:00
abc8d96198 sampledSurfaces - handle fields as wordReList
- this allows something like this:
      fields( T U "Ua.*" );
  to select normal fields and all the adjoint velocity fields
2009-12-01 14:42:46 +01:00
7889df78a9 fixup #remove functionEntry and revert 09b3c166de
- forgot to use readList in removeEntry, which caused the test failure.

- remaining problem:

it doesn't work as might be expected
This is the problem:

dict
{
   foo xxx;
   bar yyy;
}

dict
{
   baz zzz;
   #remove foo
}

This only removes 'foo' from the current scope (the second dict), since
it occurs before the dictionary merge does.

To remove from the final, merged dictionary, we'd need a new
deleteEntry type that would do the right thing on the merge before
self-destructing (ie, removing itself too).
2009-12-01 13:50:51 +01:00
28345f7e97 fixup #remove functionEntry and revert e15e32fdb7d515b
- forgot to use readList in removeEntry, which caused the test failure.

- remaining problem:

it doesn't work as might be expected
This is the problem:

dict
{
   foo xxx;
   bar yyy;
}

dict
{
   baz zzz;
   #remove foo
}

This only removes 'foo' from the current scope (the second dict), since
it occurs before the dictionary merge does.

To remove from the final, merged dictionary, we'd need a new
deleteEntry type that would do the right thing on the merge before
self-destructing (ie, removing itself too).
2009-12-01 13:50:51 +01:00
1b7460bcae Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-12-01 12:05:24 +00:00
5057fad1af Corrected the building of the sub-dictionary names used for debug messages. 2009-12-01 12:05:20 +00:00
08988734b3 argList.H - split off templates into separate file 2009-12-01 12:48:21 +01:00
d80ce7fc33 objectRegistry - gets sortedNames() methods
- reduce duplicate code by using some HashTable methods directly
2009-12-01 11:54:06 +01:00
a0b3d14523 IOobjectList - gets sortedNames() method
- could also be the default

- reduce duplicate code by using some HashTable methods directly
2009-12-01 11:08:56 +01:00
4d10d06158 IOOutputFilter - can create from IOobject directly
- useful when using alternative dictionary names/locations
2009-12-01 11:10:25 +01:00
68e7c7368b add missing class/typedefs for Tensor2D innerProducts
- missing in 1.6.x as well
2009-12-01 10:41:17 +01:00
909e6b27e4 Apply coding style recommendations:
- space between keyword and bracket in 'for(..)', 'if(..)', 'while(..)'
2009-11-30 08:55:03 +01:00
6bdb7fb7b5 fixup copyright dates on new code 2009-11-30 08:21:44 +01:00
a51f8d3534 Merge commit 'bundle/home' into olesenm 2009-11-30 08:12:04 +01:00
5648be03f0 Added Catmull-Rom splines to blockMesh.
- 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)
2009-11-29 17:00:48 +01:00
fa93ce8cd7 coding style adherence
- markup codingStyleGuide.org examples so they actually indent correctly

- use 'Info<<' as per codingStyleGuide instead of 'Info <<'
2009-11-27 15:39:14 +01:00
b8c7112e7d reset triangle counter to 0 before usage 2009-11-26 18:01:40 +00:00
ceb6f97d44 fix documentation typos 2009-11-26 13:40:09 +01:00
d17d015f88 Use new last() method for List-type classes
- use first() method in some places as well where it helps clarity

- there are a few remaining cases: git grep 'size()-1]'
2009-11-26 13:35:57 +01:00
32c8a7bf31 change duplicate faces into warning 2009-11-25 14:40:50 +00:00
c1d6f266fe prevent outputIndex calculation upon subcycling 2009-11-25 14:40:36 +00:00
b2d7439b86 Lists get first() and last() member functions
- this builds on Mattijs' commit 968f0bbd57 but with a first()
  as well.

- Added both to FixedList, IndirectList, UIndirectList and *PtrList and
  since they can certainly be useful there. Did not add to BiIndirectList,
  since I'm not sure what it should mean there. Did not add to PackedList,
  since it's not clear how useful they'd be yet in these contexts (and I'm
  not sure how it would interact with the iterator proxy implementation).

- Note: STL defines front() and back() for these methods.
2009-11-25 14:47:48 +01:00
9157364a4b Merge commit 'OpenCFD/master' into olesenm 2009-11-25 12:29:31 +01:00