Commit Graph

10204 Commits

Author SHA1 Message Date
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
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
ad669ae3d8 Merge branch 'master' into cvm
Conflicts:
	doc/codingStyleGuide.org
2009-11-30 14:55:39 +00:00
4db98cd236 Adding a simple surface smoothing function. Needs functionality added to properly collapse small boundary normal faces.
Also adding a function to determine if a Delaunay edge corresponds to
a boundary dual face.
2009-11-30 14:38:39 +00: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
af311aad0e Rearrangement to be stable when lowerAreaFraction = 0. 2009-11-25 17:35:00 +00: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
3a985883eb Moving creation of faces, owner, neighbour and patches to separate
function.
2009-11-24 16:49:10 +00:00
a3cb1246d2 typo 2009-11-24 16:12:04 +00:00
407d047f07 Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-11-24 14:45:05 +00:00
75bb4275ac minor coding tweaks 2009-11-24 14:39:17 +00:00
428327f3e6 added comments 2009-11-24 14:36:20 +00:00
e126099dc1 removed redundant logic 2009-11-24 14:29:41 +00:00
c3d4f8990a Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-11-24 11:00:58 +00:00
15bc2dd10b Added printCoeffs as requested. Note that the coeffs will now be printed twice by
models derived from Smagorinsky.
2009-11-24 11:00:52 +00:00
55c04d307e finally commited pending (cosmetic) code cleanup for blockMesh/curvedEdges
- slightly better code isolation, dropped unneed variables, changed
  vector -> point in the appropriate places

- the spline stuff is still horribly broken.
  Needs a complete rewrite or needs to get chucked.
2009-11-24 00:34:37 +01:00
81891675ea Commit Paraview enhancements - quit working on sets/zones frills
- Include Sets/Zones now scans immediately to refresh the list of available
  mesh parts. Unfortunately, this also causes the object panel to be
  modified, even although the selection doesn't acutally need to change.
  This seems to be due to how the pqNamedWidgets are getting the information
  from the proxy properties. I can't figure if it's possible to acheive what
  I want, but we can probably live with the current implementation.

  After IncludeZones, simply us 'Reset' to undo the spurious GUI changes.
  Works fine - just looks a bit silly.

- Added 'Refresh' button to rescan for new times/fields.  Good for
  post-processing ongoing calculations without exiting the reader.

- Added 'Skip Zero Time' checkbox: many (some) calculations have
  data missing at time=0 (eg, rho, lagrangian, etc). This provides
  a convenient way to skip over this time.

- Future?:
  We could probably pick up favourite default values for these switches from
  ~OpenFOAM/controlDict, from a case system/paraview, or simply by making
  the casename.OpenFOAM also be an OpenFOAM dictionary with the settings.
2009-11-24 00:09:07 +01:00