Skip to content
Snippets Groups Projects
  1. May 06, 2019
  2. May 02, 2019
  3. May 01, 2019
    • Mark OLESEN's avatar
      ENH: ensure that content changes in coded objects are noticed (#1293) · a85c55bb
      Mark OLESEN authored
      - for codedFunctionObject and CodedSource the main code snippets
        were not included in the SHA1 calculation, which meant that many
        changes would not be noticed and no new library would be compiled.
      
        As a workaround, a dummy 'code' entry could be used solely for the
        purposes of generating a SHA1, but this is easily forgotten.
      
        We now allow tracking of the dynamicCodeContext for the coded
        objects and append to the SHA1 hasher with specific entries.
        This should solve the previous misbehaviour.
      
        We additionally add information about the ordering of the code
        sections. Suppose we have a coded function object (all code
        segments are optional) with the following:
      
            codeExecute "";
            codeWrite   #{ Info<< "Called\n"; #};
      
        which we subsequently change to this:
      
            codeExecute #{ Info<< "Called\n"; #};
            codeWrite   "";
      
        If the code strings are simply concatenated together, the SHA1 hashes
        will be identical....
      a85c55bb
  4. Apr 28, 2019
  5. Apr 16, 2019
    • Mark OLESEN's avatar
      STYLE: formatting in makefiles, config files · 2d7c266d
      Mark OLESEN authored
      - fix typo in makefiles/info that affected wmake -show-compile-c
      
      - additional safeguard in src/OpenFOAM/Make/options against self-linking.
        This is not normally required unless PROJECT_LIBS has been added into
        the link stage.
      2d7c266d
  6. Apr 15, 2019
  7. Apr 12, 2019
    • Mark OLESEN's avatar
      CONFIG: adjust settings for solaris and darwin · 09cf9d99
      Mark OLESEN authored
      solaris:
        - rename WM_ARCH from SunOS to solaris64 for consistency with wmake/rules
        - drop non-64 solaris from wmake/rules
        - remove automatic selection of FJMPI. This should be done in the bashrc
          or prefs.sh file instead.
        - remove old (likely inaccurate) exported flags, rely on wmake -show-xyz
          or user config instead
      
      darwin:
        - remove '-Ddarwin' from the exported WM_CFLAGS, WM_CXXFLAGS.
          Not used elsewhere (ThirdParty)
      09cf9d99
  8. Apr 03, 2019
  9. Apr 01, 2019
    • Mark OLESEN's avatar
      ENH: allow space char in fileName is now configurable (#1008) · 89245fa7
      Mark OLESEN authored
      - having whitespace in fileName can be somewhat fragile since it means
        that the fileName components do not necessarily correspond to a
        'Foam::word'. But in many cases it will work provided that spaces
        are not present in the final portion of the simulation directory
        itself.
      
          InfoSwitches
          {
              // Allow space character in fileName (use with caution)
              allowSpaceInFileName    0;
          }
      
      - now use doClean=true as default for fileName::validate(). Was false.
      
        Unlike fileName::clean() this requires no internal string rewrite
        since the characters are being copied.  Also handle any path
        separator transformations (ie, backslash => forward slash) at the
        same time. This makes it resemble the std::filesystem a bit more.
      89245fa7
  10. Mar 15, 2019
  11. Mar 11, 2019
  12. Mar 26, 2019
  13. Feb 23, 2019
    • Mark OLESEN's avatar
      ENH: new PDRblockMesh mesh generation utility (issue #1216) · 84270ed6
      Mark OLESEN authored
      - While a rectilinear mesh can be created with blockMesh, not every mesh
        created with blockMesh will satisfy the requirements for being a
        rectilinear mesh.
      
        This alternative to blockMesh uses a single block that is aligned
        with the xy-z directions and specifications of the control points,
        mesh divisions and expansion ratios. For example,
      
          x
          {
              points  ( -13.28 -0.10 6.0 19.19 );
              nCells  (  10  12 10 );
              ratios  ( 0.2   1  5 );
          }
      
          y { ... }
          z { ... }
      
        With only one block, the boundary patch definition is simple and the
        canonical face number is used directly. For example,
      
          inlet
          {
              type    patch;
              faces   ( 0 );
          }
          outlet
          {
              type    patch;
              faces   ( 1 );
          }
      
          sides
          {
              type    patch;
              faces   ( 2 3 );
          }
      
          ...
      
      - After a mesh is defined, it is trivial to retrieve mesh-related
        information such as cell-volume, cell-centres for any i-j-k location
        without an actual polyMesh.
      
      STYLE: remove -noFunctionObjects from blockMesh
      
      - no time loop, so function objects cannot be triggered anyhow.
      84270ed6
    • Mark OLESEN's avatar
      33edea3e
  14. Mar 22, 2019
  15. Feb 15, 2019
  16. Feb 13, 2019
    • Mark OLESEN's avatar
      ENH: extended runTimePostProcessing (#1206) · 42fbf6d3
      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.
      42fbf6d3
  17. Jan 28, 2019
    • Mark OLESEN's avatar
      ENH: enable MPI library variants (#1153) · 473e000b
      Mark OLESEN authored
      - in addition to managing different vendors and versions, it may also
        be necessary or desirable to have a particular variant
        (eg, profiling, release, etc).
      
        Devise a new meaningful name for the variant and create a
        corresponding wmake rule.
      
        Eg, SYSTEMOPENMPI-profiling with a corresponding
            "wmake/rules/linux64Gcc/mplibSYSTEMOPENMPI-profiling" file
        that has suitable content for your system.
      
      CONFIG: intel-mpi use intel64/ paths only for config and wmake rules (#1153)
      
      - previously adjusted the config files, but missed the changes
        required for the wmake rules too.
      
        Now simply migrate to using  "intel64/{include,bin,lib}"
        instead of the older naming  "{include,bin,lib}64"
      
        These changes work since at least intel-mpi 2015 (5.x), but possibly
        earlier as well
      473e000b
  18. Jan 17, 2019
  19. Jan 10, 2019
    • Mark OLESEN's avatar
      ENH: make use of FOAM_API for environment as well (issue #1158) · 63d8e7e5
      Mark OLESEN authored
      - was WM_PROJECT_API in the environment and FOAM_API in dictionaries.
      
        Make these both consistently FOAM_API.
        This is a non-breaking change, since the value of WM_PROJECT_API
        (added in 1812) and/or FOAM_API is purely informative.
        For the current correct values, always use
      
          * foamEtcFile -show-api
          * wmakeBuildInfo -show-api
      63d8e7e5
    • Mark OLESEN's avatar
      ENH: provide config setup for mesa with llvm (issue #1164) · bae92919
      Mark OLESEN authored
      - If using a non-clang compiler suite (gcc, intel, etc) the additional
        lbraries required for mesa with llvm pipelines may not be found.
      
        Provide a mesa_llvm configuration with in the 'vtk' config file.
        Can use the usual types of settings
      
           * mesa_llvm=llvm-4.0.1
           * mesa_llvm=none
           * mesa_llvm=system
      bae92919
  20. Jan 07, 2019
  21. Feb 14, 2019
  22. Feb 06, 2019
  23. Feb 04, 2019
  24. Jan 31, 2019
  25. Jan 29, 2019
  26. Jan 26, 2019
    • Mark OLESEN's avatar
      STYLE: centralize example dictionaries under etc/ (issue #1074) · 3b911600
      Mark OLESEN authored
      - as well as being more convenient to find, this is necessary when the
        OpenFOAM installation is without sources or tutorials
      3b911600
    • Mark OLESEN's avatar
      STYLE: reorganize some legacy and less frequently used components · b0fafd18
      Mark OLESEN authored
      - older emacs tools into legacy
      - old process tools
      
      * Less frequently used scripts into bin/tools/
      
        - findEmptyMake
        - foamAllHC
        - foamUpdateCaseFileHeader
      
      * Infrastructure file (only used by foamNewApp)
      
        - wmake/wmakeFilesAndOptions -> wmake/scripts/wmakeFilesAndOptions
      
      * Merge wmakeRoot convenience as 'wmake -pwd'
      * Remove obsolete wmakePrintBuild (superseded by wmakeBuildInfo)
      * Remove unused mergeHistory file
      b0fafd18
  27. Jan 25, 2019
    • Mark OLESEN's avatar
      CONFIG: combine wmake rules for KNL architecture as a compile option · ef6c2ef5
      Mark OLESEN authored
      - instead of
      
            WM_COMPILER=GccKNL WM_COMPILE_OPTION=Opt
      
            -> linux64GccKNLDPInt32Opt
      
        now specify
      
            WM_COMPILER=Gcc  WM_COMPILE_OPTION=OptKNL
      
            -> linux64GccDPInt32OptKNL
      
      This makes it easier (and more obvious) for adding different tweaks
      without needing to generate too many files.
      Eg,
      
          cd wmake/rules/linux64Gcc
      
          cp cOpt   cOptBdw
          cp c++Opt c++OptBdw
      
          edit these two files and then use WM_COMPILE_OPTION=OptBdw
      
      CONFIG: provide some default c/c++ flags in General compiler rules
      
      - can make is easier when deriving new compile options, and ensures
        that '-02' is enabled as an initial default.
      ef6c2ef5
  28. Jan 24, 2019
  29. Jan 23, 2019
    • Mark OLESEN's avatar
      DEFEATURE: remove wmakeScheduler (issue #1178) · 65e94fde
      Mark OLESEN authored
      - was for parallel compilation across multiple hosts, but less useful
        with modern CPUs with higher number of cores and/or hyperthreading.
      
        Fragile use and dependent on a 'lockfile' utility that is not often
        installed.
      65e94fde
  30. Jan 22, 2019
  31. Jan 21, 2019
  32. Jan 18, 2019
  33. Jan 17, 2019
  34. Jan 10, 2019
    • Mark OLESEN's avatar
      ENH: make use of FOAM_API for environment as well (issue #1158) · bef508de
      Mark OLESEN authored
      - was WM_PROJECT_API in the environment and FOAM_API in dictionaries.
      
        Make these both consistently FOAM_API.
        This is a non-breaking change, since the value of WM_PROJECT_API
        (added in 1812) and/or FOAM_API is purely informative.
        For the current correct values, always use
      
          * foamEtcFile -show-api
          * wmakeBuildInfo -show-api
      bef508de
    • Mark OLESEN's avatar
      ENH: provide config setup for mesa with llvm (issue #1164) · 7e3202f4
      Mark OLESEN authored
      - If using a non-clang compiler suite (gcc, intel, etc) the additional
        lbraries required for mesa with llvm pipelines may not be found.
      
        Provide a mesa_llvm configuration with in the 'vtk' config file.
        Can use the usual types of settings
      
           * mesa_llvm=llvm-4.0.1
           * mesa_llvm=none
           * mesa_llvm=system
      7e3202f4