1. 22 Nov, 2016 5 commits
  2. 21 Nov, 2016 5 commits
  3. 20 Nov, 2016 2 commits
  4. 17 Nov, 2016 5 commits
  5. 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
  6. 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
  7. 13 Nov, 2016 1 commit
  8. 12 Nov, 2016 1 commit
  9. 13 Nov, 2016 2 commits
  10. 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
  11. 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
  12. 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
  13. 09 Nov, 2016 2 commits
    • mattijs's avatar
      0026347c
    • Mark Olesen's avatar
      ENH: robuster handling of system or central installation (issue #290) · b048cacc
      Mark Olesen authored
      - Follow similar pattern as per boost/CGAL with the '*-none' to disable,
        and '*-system' for system installations.
      
        Also support central non-ThirdParty installations by specifying the
        version as "*-system", but also providing the fully qualified
        *_ARCH_PATH too.
      
      --
      ENH: Verify label and scalar sizes used in the metis header.
      
      - ensure they match with expected values, which can be obtained via
        the OpenFOAM definitions for WM_LABEL_SIZE and WM_PRECISION_OPTION
      b048cacc
  14. 08 Nov, 2016 3 commits
  15. 07 Nov, 2016 2 commits
  16. 04 Nov, 2016 1 commit
    • Mark Olesen's avatar
      STYLE: inconsistency in scotch, metis library locations (issue #290) · 1f2ba251
      Mark Olesen authored
      - Only reference the FOAM_EXT_LIBBIN locations when linking.
        The respective SCOTCH_ARCH_PATH/lib, METIS_ARCH_PATH/lib locations
        either do not exist, or are possibly inconsistent and won't be
        seen at run-time anyhow.
      
      - Incorporate decompose/metisDecomp/Allwmake into the top-level
        decompose/Allwmake
      1f2ba251