1. 13 Oct, 2016 1 commit
    • Henry Weller's avatar
      blockMesh: New experimental support for projecting block face point to geometric surfaces · 6849670f
      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.
      6849670f
  2. 09 Oct, 2016 1 commit
  3. 08 Oct, 2016 1 commit
  4. 22 Nov, 2016 1 commit
  5. 08 Nov, 2016 1 commit
  6. 05 Oct, 2016 1 commit
  7. 30 Sep, 2016 1 commit
  8. 23 Sep, 2016 2 commits
  9. 07 Oct, 2016 1 commit
  10. 04 Oct, 2016 1 commit
  11. 20 Sep, 2016 1 commit
  12. 24 Aug, 2016 1 commit
    • Henry Weller's avatar
      foamToVTK, PVFoamReader: Resolve problems converting VTK_WEDGE · b7e13883
      Henry Weller authored
        - There will be triangles rendered inside the mesh (when
          surface-rendering), because one of the cell's triangles is defined
          as a quadrangle in VTK_WEDGE.
      
        - Therefore, this VTK_WEDGE representation is only used when
          decomposing the mesh, otherwise the correct representation is done
          by VTK_POLYHEDRON.
      
        - Furthermore, using VTK_PYRAMID gave worse result, because it renders
          2 triangles inside the mesh for the collapsed quadrangle, likely due
          to mismatch with the adjacent cell's face.
      
        - Using VTK_HEXAHEDRON was not tested in this iteration, given that it
          should give even worse results, when compared to using VTK_PYRAMID.
      
      Patch contributed by Bruno Santos
      Resolves bug-report http://bugs.openfoam.org/view.php?id=2099
      b7e13883
  13. 16 Aug, 2016 1 commit
  14. 05 Aug, 2016 1 commit
  15. 24 Jun, 2016 1 commit
  16. 18 May, 2016 1 commit
  17. 30 Apr, 2016 2 commits
    • Henry Weller's avatar
      Updated headers · 30bc7515
      Henry Weller authored
      30bc7515
    • Henry Weller's avatar
      GeometricField: Renamed internalField() -> primitiveField() and... · 866fe210
      Henry Weller authored
      GeometricField: Renamed internalField() -> primitiveField() and dimensionedInternalField() -> internalField()
      
      These new names are more consistent and logical because:
      
      primitiveField():
      primitiveFieldRef():
          Provides low-level access to the Field<Type> (primitive field)
          without dimension or mesh-consistency checking.  This should only be
          used in the low-level functions where dimensional consistency is
          ensured by careful programming and computational efficiency is
          paramount.
      
      internalField():
      internalFieldRef():
          Provides access to the DimensionedField<Type, GeoMesh> of values on
          the internal mesh-type for which the GeometricField is defined and
          supports dimension and checking and mesh-consistency checking.
      866fe210
  18. 26 Apr, 2016 1 commit
  19. 25 Apr, 2016 1 commit
  20. 24 Apr, 2016 1 commit
  21. 07 Sep, 2016 1 commit
  22. 06 Sep, 2016 1 commit
  23. 22 Jul, 2016 1 commit
  24. 12 Jul, 2016 1 commit
  25. 20 Jun, 2016 1 commit
  26. 17 Jun, 2016 1 commit
  27. 16 Jun, 2016 1 commit
  28. 22 Jun, 2016 1 commit
  29. 10 Jun, 2016 2 commits
  30. 26 Apr, 2016 1 commit
  31. 22 Apr, 2016 1 commit
  32. 21 Apr, 2016 1 commit
  33. 25 Apr, 2016 1 commit
  34. 16 Apr, 2016 1 commit
  35. 04 Apr, 2016 1 commit
  36. 15 Feb, 2016 1 commit
  37. 10 Feb, 2016 1 commit