1. 03 Jun, 2019 1 commit
  2. 31 May, 2019 1 commit
  3. 11 Mar, 2019 1 commit
  4. 13 Feb, 2019 1 commit
    • Mark Olesen's avatar
      ENH: extended runTimePostProcessing (#1206) · ee4c3cb7
      Mark Olesen authored
      - Extended runTimePostProcessing to include access to "live"
        simulation objects such a geometry patches and sampled surfaces
        stored on the "functionObjectObjects" registry.
      
      - Add 'live' runTimePostProcessing of cloud data.
        Extracts position and fields from the cloud via its objectRegistry writer
      
      - For the "live" simulation objects, there are two new volume filters
        that work directly with the OpenFOAM volume fields:
            * iso-surface
            * cutting planes
        Both use the VTK algorithms directly and support multiple values.
        Eg, can make multiple iso-levels or multiple planes parallel to each
        other.
      
      - When VTK has been compiled with MPI-support, parallel rendering will
        be used.
      
      - Additional title text properties (shadow, italic etc)
      
      - Simplified handling of scalar-bar and visibility switches
      
      - Support multiple text positions. Eg, for adding watermark text.
      ee4c3cb7
  5. 06 Feb, 2019 1 commit
  6. 03 Feb, 2019 1 commit
  7. 31 Jan, 2019 1 commit
  8. 23 Jan, 2019 1 commit
  9. 07 Jan, 2019 3 commits
  10. 30 May, 2019 1 commit
  11. 16 Dec, 2018 2 commits
  12. 15 Dec, 2018 1 commit
  13. 14 Dec, 2018 1 commit
    • Mark Olesen's avatar
      ENH: make "file" property in functionObjects a relative path (issue #1125) · 3fd38fce
      Mark Olesen authored
      - partial solution for issue #1091
      
        This generates file properties that are case-relative,
        Eg,
      
            plane0
            {
                p
                {
                    file "<case>/postProcessing/plane0/1/p_plane0.vtk";
                }
                U
                {
                    file "<case>/postProcessing/plane0/1/U_plane0.vtk";
                }
            }
      
         This allows the case to be moved elsewhere and still find its files.
      
         This functionality was previously added for vtkCloud, but now also
         applies to streamLine, sampledSets and sampledSurfaces
      3fd38fce
  14. 11 Dec, 2018 1 commit
    • Mark Olesen's avatar
      ENH: use Zero when zero-initializing types · 3d4e4a21
      Mark Olesen authored
      - makes the intent clearer and avoids the need for additional
        constructor casting. Eg,
      
            labelList(10, Zero)    vs.  labelList(10, 0)
            scalarField(10, Zero)  vs.  scalarField(10, scalar(0))
            vectorField(10, Zero)  vs.  vectorField(10, vector::zero)
      3d4e4a21
  15. 05 Dec, 2018 2 commits
  16. 29 Nov, 2018 1 commit
    • Mark Olesen's avatar
      ENH: improve setup for paraview · f88b74a0
      Mark Olesen authored
      - removed reliance on ParaView_INCLUDE_DIR variable for conveying the
        major.minor version information when compiling. This can be somewhat
        fragile and also adds variable that is an unnecessary when running
        (only used when compiling).
      
        Instead use `have_pvplugin_support` function in paraviewFunctions
        wmake script to determine the maj.min from the PV_PLUGIN_PATH
        since we have already defined the output path there with paraview
        maj.min numbering.
      
        Can now build with paraview from the operating system,
        provided that it has develop headers available.
      
            ParaView_VERSION=system
      
        In the etc/config.sh/paraview setup, the maj.min is taken from
        the corresponding `paraview --version` output and used when
        defining the PV_PLUGIN_PATH.
      
        During the build, the include path taken from `paraview-config`
        for a system installation, from the guess installation root
        of the paraview binary, or ParaView_DIR otherwise.
      
      NB: using a system ParaView for building runTimePostProcessing is unsupported.
      
      - these types of builds appear to have various library resolution issues
        (eg, libexpat not being loaded). Additionally, the build logic does
        not yet cover this type of use case.
      
      CONFIG: add so version to libcatalystFoam
      
      STYLE: add OpenFOAM/include directory in CMakeLists
      
      - eg for foamVersion.H
      f88b74a0
  17. 20 Nov, 2018 1 commit
  18. 08 Nov, 2018 1 commit
  19. 19 Oct, 2018 1 commit
    • Mark Olesen's avatar
      STYLE: use range-for when looping dictionary entries. · 5527b00b
      Mark Olesen authored
      - as part of the cleanup of dictionary access methods (c6520033c9c4)
        made the dictionary class single inheritance from IDLList<entry>.
      
        This eliminates any ambiguities for iterators and allows
        for simple use of range-for looping.
      
        Eg,
            for (const entry& e : topDict))
            {
                Info<< "entry:" << e.keyword() << " is dict:" << e.isDict() << nl;
            }
      
         vs
      
            forAllConstIter(dictionary, topDict, iter))
            {
                Info<< "entry:" << iter().keyword()
                    << " is dict:" << iter().isDict() << nl;
            }
      5527b00b
  20. 18 Oct, 2018 1 commit
    • Mark Olesen's avatar
      ENH: cleanup of Enum class · 73116c4f
      Mark Olesen authored
      - more dictionary-like methods, enforce keyType::LITERAL for all
        lookups to avoid any spurious keyword matching.
      
      - new readEntry, readIfPresent methods
      
      - The get() method replaces the now deprecate lookup() method.
      
      - Deprecate lookupOrFailsafe()
        Failsafe behaviour is now an optional parameter for lookupOrDefault,
        which makes it easier to tailor behaviour at runtime.
      
      - output of the names is now always flatted without line-breaks.
        Thus,
      
           os << flatOutput(someEnumNames.names()) << nl;
           os << someEnumNames << nl;
      
        both generate the same output.
      
      - Constructor now uses C-string (const char*) directly instead of
        Foam::word in its initializer_list.
      
      - Remove special enum + initializer_list constructor form since
        it can create unbounded lookup indices.
      
      - Removd old hasEnum, hasName forms that were provided during initial
        transition from NamedEnum.
      
      - Added static_assert on Enum contents to restrict to enum or
        integral values.  Should not likely be using this class to enumerate
        other things since it internally uses an 'int' for its values.
      
        Changed volumeType accordingly to enumerate on its type (enum),
        not the class itself.
      73116c4f
  21. 05 Oct, 2018 1 commit
  22. 19 Sep, 2018 1 commit
  23. 03 Aug, 2018 1 commit
  24. 30 Jul, 2018 2 commits
  25. 26 Jul, 2018 1 commit
  26. 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
        parameters.
      
        Old parameter order:
      
            setLargeCellSubset
            (
                const labelList& region,
                const label currentRegion,
                const label patchID = -1,
                const bool syncCouples = true
            );
      
        New parameter order:
      
            setCellSubset
            (
                const label regioni,
                const labelUList& regions,
                const label patchID = -1,
                const bool syncCouples = true
            );
      
         And without ambiguity:
      
            setCellSubset
            (
                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,
      
            meshParts.set
            (
                zonei,
                new fvMeshSubset(mesh, selectedCells)
            );
      
        Or even
      
            return autoPtr<fvMeshSubset>::New(mesh, selectedCells);
      9b662e70
  27. 24 Jul, 2018 1 commit
  28. 20 Jul, 2018 1 commit
  29. 27 Jun, 2018 1 commit
  30. 26 Jun, 2018 3 commits
  31. 25 Jun, 2018 2 commits
  32. 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.
      
        Before
        ======
            Function Object:
      
                input
                {
                    fields    (U p);
                }
      
            Pipeline:
                input = coprocessor.CreateProducer(datadescription, 'input/patches')
      
        Now
        ===
            Function Object:
      
                input
                {
                    internal  false;
                    fields    (U p);
                }
      
            Pipeline:
                input = coprocessor.CreateProducer(datadescription, 'input')
      015c05b4