1. 29 Apr, 2017 1 commit
    • Mark Olesen's avatar
      ENH: improve HashSet construction and assignment · 6a5ea9a2
      Mark Olesen authored
      - make construct from UList explicit and provide corresponding
        assignment operator.
      
      - add construct,insert,set,assignment from FixedList.
        This is convenient when dealing with things like edges or triFaces.
      6a5ea9a2
  2. 28 Apr, 2017 1 commit
  3. 27 Apr, 2017 3 commits
  4. 24 Apr, 2017 1 commit
  5. 10 Apr, 2017 2 commits
  6. 15 Mar, 2017 1 commit
  7. 01 Mar, 2017 1 commit
  8. 27 Feb, 2017 1 commit
  9. 20 Feb, 2017 1 commit
  10. 15 Feb, 2017 1 commit
  11. 25 Jan, 2017 1 commit
    • Mark Olesen's avatar
      ENH: additional methods/operators for boundBox (related to #196) · 722d23f5
      Mark Olesen authored
      - Constructor for bounding box of a single point.
      
      - add(boundBox), add(point) ...
        -> Extend box to enclose the second box or point(s).
      
        Eg,
            bb.add(pt);
        vs.
            bb.min() = Foam::min(bb.min(), pt);
            bb.max() = Foam::max(bb.max(), pt);
      
      Also works with other bounding boxes.
        Eg,
            bb.add(bb2);
            // OR
            bb += bb2;
        vs.
            bb.min() = Foam::min(bb.min(), bb2.min());
            bb.max() = Foam::max(bb.max(), bb2.max());
      
      '+=' operator allows the reduction to be used in parallel
      gather/scatter operations.
      
      A global '+' operator is not currently needed.
      
      Note: may be useful in the future to have a 'clear()' method
      that resets to a zero-sized (inverted) box.
      
      STYLE: make many bounding box constructors explicit
      722d23f5
  12. 14 Dec, 2016 1 commit
  13. 29 Nov, 2016 1 commit
  14. 28 Nov, 2016 1 commit
  15. 25 Nov, 2016 1 commit
    • Henry Weller's avatar
      topoSet: cellZoneSet, pointZoneSet extensions · 81de1dc9
      Henry Weller authored
      cellZones and pointZones can now be created in one action without the
      need to first create a cellSet or pointSet and converting that to the
      corresponding zone, e.g.
      
      actions
      (
          // Example: create cellZone from a box region
          {
              name    c0;
              type    cellZoneSet;
              action  new;
              source  boxToCell;
              sourceInfo
              {
                  box   (0.04 0 0)(0.06 100 100);
              }
          }
      );
      81de1dc9
  16. 24 Nov, 2016 1 commit
  17. 22 Nov, 2016 1 commit
  18. 16 Nov, 2016 1 commit
  19. 18 Oct, 2016 1 commit
    • Henry Weller's avatar
      blockMesh: Added projected vertices and edges · 3773db53
      Henry Weller authored
      Patch contributed by Mattijs Janssens
      
          - Added projected vertices
          - Added projected edges
          - Change of blockEdges API (operate on list lambdas)
          - Change of blockFaces API (pass in blockDescriptor and blockFacei)
          - Added sphere7ProjectedEdges tutorial to demonstrate vertex and edge projection
      3773db53
  20. 17 Oct, 2016 1 commit
  21. 13 Oct, 2016 1 commit
    • Henry Weller's avatar
      blockMesh: New experimental support for projecting block face point to geometric surfaces · 00920318
      Henry Weller authored
      For example, to mesh a sphere with a single block the geometry is defined in the
      blockMeshDict as a searchableSurface:
      
          geometry
          {
              sphere
              {
                  type searchableSphere;
                  centre (0 0 0);
                  radius 1;
              }
          }
      
      The vertices, block topology and curved edges are defined in the usual
      way, for example
      
          v 0.5773502;
          mv -0.5773502;
      
          a 0.7071067;
          ma -0.7071067;
      
          vertices
          (
              ($mv $mv $mv)
              ( $v $mv $mv)
              ( $v  $v $mv)
              ($mv  $v $mv)
              ($mv $mv  $v)
              ( $v $mv  $v)
              ( $v  $v  $v)
              ($mv  $v  $v)
          );
      
          blocks
          (
              hex (0 1 2 3 4 5 6 7) (10 10 10) simpleGrading (1 1 1)
          );
      
          edges
          (
              arc 0 1 (0 $ma $ma)
              arc 2 3 (0 $a $ma)
              arc 6 7 (0 $a $a)
              arc 4 5 (0 $ma $a)
      
              arc 0 3 ($ma 0 $ma)
              arc 1 2 ($a 0 $ma)
              arc 5 6 ($a 0 $a)
              arc 4 7 ($ma 0 $a)
      
              arc 0 4 ($ma $ma 0)
              arc 1 5 ($a $ma 0)
              arc 2 6 ($a $a 0)
              arc 3 7 ($ma $a 0)
          );
      
      which will produce a mesh in which the block edges conform to the sphere
      but the faces of the block lie somewhere between the original cube and
      the spherical surface which is a consequence of the edge-based
      transfinite interpolation.
      
      Now the projection of the block faces to the geometry specified above
      can also be specified:
      
          faces
          (
              project (0 4 7 3) sphere
              project (2 6 5 1) sphere
              project (1 5 4 0) sphere
              project (3 7 6 2) sphere
              project (0 3 2 1) sphere
              project (4 5 6 7) sphere
          );
      
      which produces a mesh that actually conforms to the sphere.
      
      See OpenFOAM-dev/tutorials/mesh/blockMesh/sphere
      
      This functionality is experimental and will undergo further development
      and generalization in the future to support more complex surfaces,
      feature edge specification and extraction etc.  Please get involved if
      you would like to see blockMesh become a more flexible block-structured
      mesher.
      
      Henry G. Weller, CFD Direct.
      00920318
  22. 23 Sep, 2016 1 commit
  23. 03 Sep, 2016 1 commit
  24. 16 Aug, 2016 1 commit
  25. 11 Aug, 2016 2 commits
  26. 10 Aug, 2016 1 commit
  27. 05 Aug, 2016 1 commit
  28. 22 Jul, 2016 1 commit
  29. 06 Jul, 2016 1 commit
  30. 20 Jun, 2016 1 commit
  31. 17 Jun, 2016 3 commits
  32. 16 Jun, 2016 1 commit
  33. 13 Jun, 2016 1 commit
    • mattijs's avatar
      BUG: cyclicACMI: partial reverted updateCoeffs structure · 136c0000
      mattijs authored
      - cyclicACMIFvPatchField::updateCoeffs() now again redirects to
      fvPatchField::updateCoeffs(const scalarField& weights);
      - which redirects to fvPatchField::updateCoeffs();
      - except on wall functions where the weights are used to switch off
        turbulence generation
      - renamed the updateCoeffs on the fixedFluxPressure bc to updateSnGrad.
      136c0000
  34. 12 Jun, 2016 1 commit