Commit Graph

6030 Commits

Author SHA1 Message Date
a0a05c1b77 allow region interfaces on processor patches 2009-12-02 16:37:59 +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
67b79d9206 commit existing sizeof test 2009-12-03 14:40:12 +01:00
c091d856ae pedantic changes: 'forAll (' -> 'forAll(' in applications/
- to match coding guidelines
2009-12-03 14:12:08 +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
6b9534c9ce foamCopySettings - skip sampled directories and Ensight output directories 2009-12-02 10:06:32 +01:00
10798d696f upgrade to openmpi-1.3.4 2009-12-02 09:29:25 +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
49a2c73b2d tecplot360 converter 2009-12-01 16:43:47 +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
80a27fb9da Removed the "#remove" statements which do not appear to work. 2009-12-01 12:04:28 +00:00
09b3c166de Removed the "#remove" statements which do not appear to work. 2009-12-01 12:04:28 +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
be1b1ceefc Merge branch 'master' into splitCyclic
Conflicts:
	applications/utilities/mesh/generation/blockMesh/blockMeshApp.C
	applications/utilities/parallelProcessing/decomposePar/decomposeMesh.C
	etc/bashrc
	etc/cshrc
	src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
	src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C
	src/decompositionMethods/parMetisDecomp/parMetisDecomp.C
	src/dynamicMesh/Make/files
	src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
	src/dynamicMesh/perfectInterface/perfectInterface.C
	src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C
	src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
	src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.H
	src/finiteVolume/Make/files
	src/mesh/blockMesh/blockMesh/blockMesh.C
	src/mesh/blockMesh/blockMesh/blockMeshTopology.C
	src/meshTools/Make/files
	src/meshTools/sets/topoSets/faceSet.C
2009-11-30 15:20:52 +00:00
2bfd449cf3 added bin/tools/org-{batch,html,latex}
- make it easier for non-emacs users to generate some of the
  documentation
2009-11-30 13:33:06 +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
9b92e3c451 use absolute path for header/footer in Doxyfile
- makes it easier to copy Doxyfile for local Doxygen generation
  ie, for debugging and writing without processing everything
2009-11-29 12:08:27 +01:00
6f14809234 Copy some of GUIDELINES -> codingStyleGuide.org
- use ':' to prefix verbatim code instead of #+BEGIN_EXAMPLE / #+END_EXAMPLE
  for a somewhat better feeling for the indentation.
2009-11-27 16:59:28 +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
648e485e7d adapted angle for medial axis determination 2009-11-26 13:06:56 +00:00
51bdcca506 Merge commit 'OpenCFD/master' into olesenm 2009-11-26 13:56:59 +01:00