1. 20 Nov, 2016 7 commits
  2. 19 Nov, 2016 2 commits
  3. 17 Nov, 2016 7 commits
  4. 15 Nov, 2016 3 commits
  5. 14 Nov, 2016 1 commit
    • Mark Olesen's avatar
      Merge branch 'surface-declutter' into 'develop' · fff2ee54
      Mark Olesen authored
      Surface declutter - issue #294
      
      Removing various clutter from surfMesh and triSurface
      - unused classes/files (backup copies on non-release repo)
      - relocate some triSurface-related classes to where they make more sense, and where they can be reused.
      - improve handling of various face types in MeshedSurface and UnsortedMeshedSurface (to bridge the gap to triSurface)
      - improve transfer methods for reclaiming/reusing surface allocations
      
      See merge request !77
      fff2ee54
  6. 13 Nov, 2016 2 commits
    • Mark Olesen's avatar
      ENH: provide ModifiableMeshedSurface class · e112eb50
      Mark Olesen authored
      - A special purpose MeshedSurface that exposes the stored values
        for direct modification.
      
      - Its usage should be restricted to special cases where the surface
        needs modifications as an atomic operation.
      e112eb50
    • Mark Olesen's avatar
      ENH: simplify check for metis sizes (issue #290) · 704620ae
      Mark Olesen authored
      - Now that the metisDecomp uses the metis definition for float/double,
        do not need to verify the scalar sizes.
      
      Note:
      - could drop precision qualifier for metis, scotch installation
        (include, lib) as being unneeded, but it is simpler to keep them
        and continue to use the FOAM_EXT_LIBBIN path
        (in case other ThirdParty software is compiled with different
        precisions).
      704620ae
  7. 12 Nov, 2016 1 commit
    • Mark Olesen's avatar
      ENH: provide xfer methods for the meshed surface components. · 52b6c49b
      Mark Olesen authored
      - the surfMesh classes where originally designed with limited
        (protected) access to the underlying components. This is to
        avoid unintentional direct changes, since these can quickly
        lead to inconsistencies with the topology addressing etc.
      
        However, if we wish to efficiently adjust surfaces, it is useful
        to modify the components directly.
        The compromise is to provide 'xfer' methods:
          - xferFaces()
          - xferPoints()
          - xferZones()
        These transfer the contents to an Xfer container for reuse, while
        also resetting the topology addressing.  To apply the changes,
        the reset() method is used.
      52b6c49b
  8. 13 Nov, 2016 1 commit
  9. 12 Nov, 2016 1 commit
  10. 13 Nov, 2016 2 commits
  11. 12 Nov, 2016 4 commits
    • Mark Olesen's avatar
      ENH: better handling of various face types in MeshedSurface (issue #294) · 88876e46
      Mark Olesen authored
      - ensure that MeshedSurface and UnsortedMeshedSurface can also work
        with labelledTri faces.
      
      - nTriangles() convenience method for meshed surfaces
      
      - MeshedSurface::addZonesToFaces() method to copy zone information
        into the labelledTri per-face region storage.
        The goal is to replace the triSurface reading routines with
        run-time selectable ones from surfMesh.
      88876e46
    • Mark Olesen's avatar
      ENH: ensure face, triFace and labelledTri all work consistently (issue #294) · a32eff4e
      Mark Olesen authored
      - triFace() now initialized with '-1', which makes it behave
        equivalently to face(label).
      
      - supply default region=0 for some labelledTri constructors.
        This allows labelledTri to work more like a triFace and makes it
        easier to use in templated methods and eases conversion from
        triFace to a labelledTri.
      
      - labelledTri(const labelUList&) can now be used when converting
        from a face. It can have 3 values (use default region)
        or 4 values (with region).
      
      - face, triFace, labelledTri now all support construction with
        initializer lists. This can be useful for certain types of code.
        Eg,
            triFace     f1{a, b, c};
            face        f2{a, b, c};
            labelledTri f3{a, b, c};
      
        Work without ambiguity.
        Also useful for templated methods:
      
            FaceType f{remap[a], remap[b], remap[c]};
      a32eff4e
    • Mark Olesen's avatar
      STYLE: rename MeshedSurfaceProxyCore -> MeshedSurfaceProxys for consistency · 4fbb59de
      Mark Olesen authored
      - it doesn't actually contain 'core' code, but rather various
        instances of MeshedSurfaceProxy.
      4fbb59de
    • Henry Weller's avatar
      metisDecomp: Use real_t for processor weights · 0b4ff455
      Henry Weller authored
      Based on patch contributed by Alexey Matveichev
      Resolves feature-request http://bugs.openfoam.org/view.php?id=2330
      0b4ff455
  12. 13 Nov, 2016 2 commits
    • Mark Olesen's avatar
      BUG: Field construct from Xfer<Field> fails (issued #298) · 28c75d8d
      Mark Olesen authored
      - Cannot pass through to underlying list constructor directly.
      
      - As this constructor was broken, there seem to be a number of
        workarounds scattered in the code. Could revisit them in the future
        as part of code-style:
      
            edgeMesh(const Xfer<pointField>&, const Xfer<edgeList>&);
            CompactIOField(const IOobject&, const Xfer<Field<T>>&);
            GlobalIOField(const IOobject&, const Xfer<Field<Type>>&);
            IOField(const IOobject&, const Xfer<Field<Type>>&);
      28c75d8d
    • Mark Olesen's avatar
      BUG: unallocated list in triSurface vtk reader (issue #297) · c09c8e36
      Mark Olesen authored
      - Condition is there to catch cases where the vtkSurfaceFormat returns
        no zones (which should never be the case), but assigns a fallback
        value without first resizing.
      c09c8e36
  13. 12 Nov, 2016 2 commits
    • Mark Olesen's avatar
    • Mark Olesen's avatar
      DEFEATURE: remove broken OFS surfaceFormat (issue #296, #294) · bd9626f9
      Mark Olesen authored
      - This format is fortunately little-used (or never used) since its
        inception.
      
        Using raw stream operators to write zones, points and faces in a
        single file was not well thought out - the output content varies
        with the Face template type (face, triFace, labelledFace), which
        makes it not very robust at all.
      
        The static read in OFSsurfaceFormat also has a bug - keeping
        transcribed faces from being passed through.
      
        Conclusion: removing it makes more sense that repairing and still
        not having something good.
      
        Do retain stream operators for MeshedSurface and UnsortedMeshedSurface,
        since they are useful for passing around data
        (eg, between processors), but they shouldn't be used for files.
      bd9626f9
  14. 11 Nov, 2016 4 commits
  15. 10 Nov, 2016 1 commit
    • Mark Olesen's avatar
      Merge branch 'feature-convert' into 'develop' · a3fd21b3
      Mark Olesen authored
      Improvements to the conversion utilities
      
      Various changes associated with issue #204.
      
      * Reduced code duplication for handling prostar conversion and IO
      * Simple conversion to/from AVL/FIRE geometries
      * New library basis for conversion to/from CCM geometries - handles multiple regions, conformal interfaces etc. No support for film or 2d shell geometries
      * Improved infrastructure for writing VTK content. Will propagate usage through other parts of the code in the future.
      
      See merge request !76
      a3fd21b3