1. 25 Jul, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: fvMeshSubset improvements (issue #951) · 9b662e70
      Mark OLESEN authored
      - what was previously termed 'setLargeCellSubset()' is now simply
        'setCellSubset()' and supports memory efficient interfaces.
        The new parameter ordering avoids ambiguities caused by default
        Old parameter order:
                const labelList& region,
                const label currentRegion,
                const label patchID = -1,
                const bool syncCouples = true
        New parameter order:
                const label regioni,
                const labelUList& regions,
                const label patchID = -1,
                const bool syncCouples = true
         And without ambiguity:
                const labelUList& selectedCells,
                const label patchID = -1,
                const bool syncCouples = true
      - support bitSet directly for specifying the selectedCells for
        memory efficiency and ease of use.
      - Additional constructors to perform setCellSubset() immediately,
        which simplifies coding.
        For example,
                new fvMeshSubset(mesh, selectedCells)
        Or even
            return autoPtr<fvMeshSubset>::New(mesh, selectedCells);
  2. 24 Jul, 2018 1 commit
  3. 20 Jul, 2018 1 commit
  4. 27 Jun, 2018 1 commit
  5. 26 Jun, 2018 3 commits
  6. 25 Jun, 2018 2 commits
  7. 24 Jun, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: overhaul of channel handling. Various bug fixes. (issue #6) · 015c05b4
      Mark OLESEN authored
      - removed fvMesh sub-channels if favour of selector flags.
        To enable/disable portions of the geometry:
            internal    true/false
            boundary    true/false
        This replaces the previous method of sub-channels in which restrictions
        were propagated from the pipeline through.
            Function Object:
                    fields    (U p);
                input = coprocessor.CreateProducer(datadescription, 'input/patches')
            Function Object:
                    internal  false;
                    fields    (U p);
                input = coprocessor.CreateProducer(datadescription, 'input')
  8. 23 Jun, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: improve direct use of cmake (issue #5) · 9687533b
      Mark OLESEN authored
      - allows cmake override of the default output library directory,
        which is normally $FOAM_LIBBIN
      ENH: additional debug verbosity
      - extra information (in parallel) when debug level > 1, which can help
        when isolating problems.
  9. 21 Jun, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: disable SIGFPE handling in catalyst loop · 2f033c58
      Mark OLESEN authored
      - if sigFpe is enabled within OpenFOAM, any errors in the Catalyst
        pipeline will potentially kill the entire simulation.
      - use the new sigFpe::ignore helper class to manage a local disabling
        of SIGFPE handling.
  10. 14 Jun, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: prune cloud fields by names only once · 9e58351c
      Mark OLESEN authored
      - can remove directly from the temporary objectRegistry prior to
        converting by field type. Cannot, however, do the same for volFields
        or areaFields since these reside on their respective mesh objects.
  11. 16 May, 2018 1 commit
  12. 15 May, 2018 1 commit
  13. 14 May, 2018 1 commit
  14. 11 May, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: unified catalyst function object (closes #3) · 04daa405
      Mark OLESEN authored
      - previously had separate function objects for each category of source
        (finite volume, finite area, lagrangian). This lead to isolation of
        the individual input sources, which highly restricted the flexibility.
      - now have a single catalyst function object with an arbitrary number
        of inputs (sources). The catalyst channel name is that of the
        corresponds dictionary name. For volume mesh sources, it is possible
        to address "mesh" and "patches" sub-channels.
            mesh = coprocessor.CreateProducer(datadescription, 'myregion/mesh')
        This restructuring also aims at integration of other OpenFOAM content
        (eg, surfMesh, sampled probes, sampled surfaces) as a future
      - the output directory (by default "<case>/insitu") is passed onto
        catalyst as its working directory, using the upstream patches that
        now close issue #4
  15. 08 May, 2018 1 commit
  16. 02 May, 2018 1 commit
  17. 16 Apr, 2018 1 commit
  18. 10 Apr, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: provide extra log feedback when catalyst function objects end. · eb5a9821
      Mark OLESEN authored
      - Note that stopping the catalyst function object via a `timeEnd` value
        does not actually call the corresponding end() method.
        See: Development/OpenFOAM-plus#791
      ENH: support mkdir as dictionary keyword
      - this is a convenient means of creating an output directory from within
        the function object without corresponding python or shell script.
        Some pipelines (image generation) balk if the output directory does
        not exist. Others (vtm writer etc) will create their own.
  19. 03 Apr, 2018 1 commit
  20. 07 Jan, 2020 1 commit
  21. 23 Jun, 2018 1 commit
  22. 15 Jun, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: adjustments to runTimePostProcessing · 3c96e8db
      Mark OLESEN authored
      - support VTP input in functionObjectCloud scene element
      - additional fallback lookup of cloud information from state properties
        instead of cloud OutputProperties
  23. 30 May, 2018 1 commit
  24. 17 May, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: avoid memory leaks for HashPtrTable, PtrMap insertion (issue #749) · 2c5cdebe
      Mark OLESEN authored
      - disallow insert() of raw pointers, since a failed insertion
        (ie, entry already existed) results in an unmanaged pointer.
        Either insert using an autoPtr, or set() with raw pointers or autoPtr.
      - IOobjectList::add() now takes an autoPtr instead of an object reference
      - IOobjectList::remove() now returns an autoPtr instead of a raw pointer
  25. 24 Apr, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: improve handling of ThirdParty packages · c794fa0d
      Mark OLESEN authored
      - generalize some of the library extensions (.so vs .dylib).
        Provide as wmake 'sysFunctions'
      - added note about unsupported/incomplete system support
      - centralize detection of ThirdParty packages into wmake/ subdirectory
        by providing a series of scripts in the spirit of GNU autoconfig.
        For example,
            have_boost, have_readline, have_scotch, ...
        Each of the `have_<package>` scripts will generally provide the
        following type of functions:
            have_<package>          # detection
            no_<package>            # reset
            echo_<package>          # echoing
        and the following type of variables:
            HAVE_<package>          # unset or 'true'
            <package>_ARCH_PATH     # root for <package>
            <package>_INC_DIR       # include directory for <package>
            <package>_LIB_DIR       # library directory for <package>
        This simplifies the calling scripts:
            if have_metis
                wmake metisDecomp
        As well as reducing clutter in the corresponding Make/options:
            EXE_INC = \
                -I$(METIS_INC_DIR) \
            LIB_LIBS = \
                -L$(METIS_LIB_DIR) -lmetis
        Any additional modifications (platform-specific or for an external build
        system) can now be made centrally.
  26. 18 Apr, 2018 1 commit
  27. 12 Apr, 2018 2 commits
  28. 11 Apr, 2018 1 commit
  29. 03 Apr, 2018 1 commit
  30. 26 Mar, 2018 1 commit
    • Mark OLESEN's avatar
      STYLE: consistent lookupOrDefault template parameters · f2a7200c
      Mark OLESEN authored
      - in many cases can just use lookupOrDefault("key", bool) instead of
        lookupOrDefault<bool> or lookupOrDefault<Switch> since reading a
        bool from an Istream uses the Switch(Istream&) anyhow
      STYLE: relocated Switch string names into file-local scope
  31. 21 Mar, 2018 1 commit
  32. 27 Feb, 2018 1 commit
  33. 31 Jan, 2018 1 commit
  34. 06 Dec, 2017 1 commit
  35. 13 Sep, 2017 1 commit
    • Andrew Heather's avatar
      ENH: Lagrangian - provided backwards compatibility for cases using the · 984f8f00
      Andrew Heather authored
      old "positions" file form
      The change to barycentric-based tracking changed the contents of the
      cloud "positions" file to a new format comprising the barycentric
      co-ordinates and other cell position-based info.  This broke
      backwards compatibility, providing no option to restart old cases
      (v1706 and earlier), and caused difficulties for dependent code, e.g.
      for post-processing utilities that could only infer the contents only
      after reading.
      The barycentric position info is now written to a file called
      "coordinates" with provision to restart old cases for which only the
      "positions" file is available. Related utilities, e.g. for parallel
      running and data conversion have been updated to be able to support both
      file types.
      To write the "positions" file by default, use set the following option
      in the InfoSwitches section of the controlDict:
          writeLagrangianPositions 1;
  36. 06 Sep, 2017 1 commit