Skip to content
Snippets Groups Projects
  1. Dec 07, 2021
    • Mark OLESEN's avatar
      CONFIG: adjust paraview libs, intelmpi handling · b25e1486
      Mark OLESEN authored
      - fix overly aggressive match in the API value
      
      - allow `INTELMPI*` generic value, this can be used to specify something
        like INTELMPI_custom and populate the corresponding wmake rule
        manually
      
      STYLE: mention FOAM_BUILDROOT in wmake -help-full output
      
      STYLE: adjust openfoam shell session welcome information
      
      - adjust internal variable names to reduce collision potential
      
      - improve handling of openfoam -etc=...
      b25e1486
  2. Nov 25, 2021
  3. Nov 04, 2021
    • Mark OLESEN's avatar
      BUG: foamPackRelease detects wrong build information · 742a2c8a
      Mark OLESEN authored
      - was taking from the current head instead from specified commit-ish
      
      ENH: add -debian=NUM convenience option to foamPackRelease
      
      STYLE: relocate compile begin/end messages
      
      COMP: suppress more clang warnings (needed for boost)
      742a2c8a
  4. Nov 02, 2021
  5. Oct 29, 2021
    • Mark OLESEN's avatar
      CONFIG: improve flexibility of MPI specification · 435be2e5
      Mark OLESEN authored
      - it is now possible to include the selected mpi version in the
        top-level bashrc or prefs.sh file. For example,
      
            WM_MPLIB=OPENMPI-4.1.1  or  WM_MPLIB=openmpi-4.1.1
      
        after evaluation of the config.sh/mpi, this will define
      
            WM_MPLIB=OPENMPI-4.1.1  and  FOAM_MPI=openmpi-4.1.1
      
        During the wmake, the mpi-rules will first load the MPI 'family'
        rules (OPENMPI in this example) before trying to load
        version-specific rules if they exist.
      
        NOTE: the regular user-defined prefs system is unaffected by this
        change. This means it is still possible to use a file such as
        'prefs.openmpi' to define the preferred version instead or as well.
        However, it does mean inconsistent naming can be specified.
        For example, specify WM_MPLIB=OPENMPI-4.1.1 at the top-level but
        actually have FOAM_MPI=openmpi-4.0.6 in the prefs.openmpi file.
        This will make the value of WM_MPLIB misleading.
      
      CONFIG: foamConfigurePaths support for sys-openmpi major version
      
      CONFIG: cleanup any shadow env variables
      435be2e5
  6. Oct 21, 2021
    • Mark OLESEN's avatar
      CONFIG: update c++ standard, some compiler rules (partially addresses #2209) · c2697f46
      Mark OLESEN authored
      - migrate to c++14 for most compilers *except* gcc.
        There are still many systems in use with gcc-4.8.5, which does not
        support c++14.
      
      - initial rules for nvidia compilers (pgi is will soon be defunct).
        Not fully tested...
      
      CONFIG: provide fallback value for the user directory name
      
      - in containers may have an unset USER env variable.
        Default to 'user' to prevent ugly looking directory names.
      c2697f46
  7. Oct 18, 2021
  8. Oct 07, 2021
  9. Oct 04, 2021
  10. Sep 22, 2021
  11. Jul 28, 2021
  12. Jun 18, 2021
    • Mark OLESEN's avatar
      CONFIG: inline _foamEval within <etc/config.sh/setup> · e2148b58
      Mark OLESEN authored
      - previously a function (unlike the csh version) but since bashrc and
        setup have been split -> replace with inline definition
      
      STYLE: formatting/wording for openfoam starters
      
      TUT: simplify controlDict modification, add default substitution
      
      ENH: accept '/' for end-of-options terminator (etc/openfoam)
      
      - makes the application or service more apparent.
        * eg.  /usr/bin/openfoam / blockMesh
        * vs.  /usr/bin/openfoam -- blockMesh
      
        Accept lone '-' as the end-of-options terminator, as per bash
      
      - Adjust handling of openfoam '-c' option to flag that a command-string
        will appear, but continue with option parsing.
        Consistent with bash definition.
      e2148b58
    • Mark OLESEN's avatar
      ENH: add auto-detect 0/ to foamCleanTutorials · 7d2a9fad
      Mark OLESEN authored
      - in the 'auto' mode (now the default), it will use cleanCase and also
        remove the 0/ directory if a 0.orig/ directory also exists.
      
        This corresponds to a frequent idiom and can be used quite safely
        for most cases.
      
      ENH: add -serial / -parallel preference for foamRunTutorials
      7d2a9fad
  13. Jun 10, 2021
    • Mark OLESEN's avatar
      ENH: replace tutorials/AutoTest with bin/foamTestTutorial · 85301030
      Mark OLESEN authored
      - additional -serial/-parallel option:
        prefer Allrun-serial or Allrun-parallel if available
      
      - optional -output=DIR to preserve output
      
      ENH: report missing tutorials/ directory in RunFunctions
      85301030
    • Mark OLESEN's avatar
      ENH: robustness, consistency for wmake -show-api, -version · c7bde70e
      Mark OLESEN authored
      - add to wmakeFunctions to ensure it works even without 'make' being
        installed. Exit immediately after -show-api for consistency with
        -version.
      
      foamEtcFile:
        - drop warnings for some old (pre-v1812) defunct options
          and simply flag as unknown options.
        - handle -version, --version as equivalent to -show-api
      c7bde70e
  14. May 27, 2021
  15. May 06, 2021
  16. Feb 16, 2021
  17. Feb 15, 2021
  18. Feb 10, 2021
  19. Jan 26, 2021
  20. Nov 26, 2020
    • Mark OLESEN's avatar
      ENH: add hook for bear frontend to create json output (#1936) · a50047bb
      Mark OLESEN authored
      Example usage,
      
         wmake -with-bear src/OpenFOAM
         src/Allwmake -with-bear -s -j
      
      - bin/tools/vscode-settings
      
        Emit some json content suitable for setting up Visual Studio Code
        for use with OpenFOAM.
      
        For example,
            bin/tools/vscode-settings > .vscode/settings.json
      
      Ideas from Volker Weissman
      a50047bb
  21. Nov 25, 2020
    • Mark OLESEN's avatar
      ENH: installation helpers · 9fe09ad2
      Mark OLESEN authored
      ----
      install-dirs: a general directory installer
      
        Copy installs non-binary (platform) directories.
        Eg,
      
            install-dirs -prefix=... -devel
            install-dirs -prefix=... -default -no-app
      
      ----
      install-platform: a platform (binary) installer
      
        This is primarily driven by the need to install into system mpi
        directories. The problem noted in issue #1893 is caused by the
        rpm-mpi-hooks (fedora and redhat-8).
      
        For the additional mpi library qualifier (openmpi-x86_64) to be
        added to the requirements, the mpi-specific libraries (eg,
        libPstream.so) need to be installed in the mpi system directory
        (eg, /usr/lib64/openmpi).
      
        However, then need symlinks from the system locations back to our
        local directories to ensure that the libraries are correctly found
        via our LD_LIBRARY_PATH and we don't get dummy libraries.
      
      ----
      update-mpi-links: a post-install update hook
      
        Expected paths are registered as persistent information into the
        hook during packaging. Triggering ...
      9fe09ad2
  22. Nov 11, 2020
    • Mark OLESEN's avatar
      CONFIG: rationalize mpi config tuning (#1910) · c91fc6f4
      Mark OLESEN authored
      - prefix FOAM_MPI and library directories with 'sys-' for system
        versions for uniform identication.
      
        WM_MPLIB      | libdir (FOAM_MPI)  | old naming |
        SYSTEMMPI     | sys-mpi            | mpi        |
        SYSTEMOPENMPI | sys-openmpi        | openmpi-system |
      
      - prefix preferences with 'prefs.' to make them more easily
        identifiable, and update bin/tools/create-mpi-config accordingly
      
            Old name: config.{csh,sh}/openmpi
            New name: config.{csh,sh}/prefs.openmpi
      
      - additional mpi preferences now available:
          * prefs.intelmpi
          * prefs.mpich
          ...
      
      CONFIG: added hook for EASYBUILDMPI (eb-mpi), somewhat like USERMPI
      
      - EasyBuild uses mpicc when compiling, so no explicit wmake rules are
        used
      
      ENH: support different major versions for system openmpi
      
      - for example, with
      
           WM_MPLIB=SYSTEMOPENMPI2
      
        defines FOAM_MPI=sys-openmpi2 and thus creates lib/sys-openmpi2
      
      ENH: centralize handling of mpi as 'mpi-rules'
      
          Before:
              sinclude $(G...
      c91fc6f4
  23. Nov 04, 2020
    • Mark OLESEN's avatar
      ENH: handle wmake -debug option via FOAM_EXTRA_CXX_FLAGS · 1d544540
      Mark OLESEN authored
      - ensures that subsequent Allwmake scripts know about it.
      
      ENH: add bin/tools/query-detect wrapper for wmake have_* scripts
      
      CONFIG: use project/ThirdParty without additional sanity checks
      
      - no need to test for Allwmake or platforms/ if ThirdParty is located
        within the project directory itself.
      
      COMP: add simple mpi test to 00-dummy
      
      - for testing library linkage, etc.
      1d544540
  24. Oct 28, 2020
    • Mark OLESEN's avatar
      ENH: generate local orientation vectors for blockMesh VTK output (#1903) · f959c8eb
      Mark OLESEN authored
      - can help when designing/debugging blockMesh layouts
      
      - propagate low-level cellModel methods face() and edge() to cellShape
      
      STYLE: relocate blockMesh OBJ output to application only
      
      - remove blockTopology files in cleanCase function
      
      - improve code consistency in top-level blockMesh, PDRblockMesh
        generation.
      f959c8eb
  25. Oct 20, 2020
  26. Oct 07, 2020
  27. Sep 09, 2020
  28. Sep 03, 2020
  29. Aug 11, 2020
    • Mark OLESEN's avatar
      ENH: add bin/tools/createMingwRuntime helper · 18c68e6b
      Mark OLESEN authored
        Script to copy/create mingw run-time installation from the Linux
        cross-compilation. Packs everything into a tar or a zip file.
      
        To accommodate Windows, all .dll files are also placed in the
        platforms bin/ directory where they are easily found via the PATH.
      
        Futhermore, ThirdParty dll files (including those from mingw itself)
        are also placed in the same directory.
      
      ---
      Steps
        - bundles common files and directories (bin, etc, META-INFO, ...)
      
        - copies .exe files from FOAM_APPBIN and .dll files from FOAM_LIBBIN
          to the new target platforms/win64MingwDPInt32Opt/bin.
      
        - copies mingw sys-root .dll files to the new target
          platforms/win64MingwDPInt32Opt/bin
      
        - copies other ThirdParty dll files (scotch, fftw, etc) to
          platforms/win64MingwDPInt32Opt/bin
      
        - copies tutorials (can be deactivated)
      
      ---
      Note
          Can only be called when the linux64Mingw environment is active.
      18c68e6b
    • Mark OLESEN's avatar
      ENH: improvements for FOAM_CONFIG_ETC · a6e86caa
      Mark OLESEN authored
      - handle relative directory names for FOAM_CONFIG_ETC
      a6e86caa
  30. Jun 23, 2020
    • Mark OLESEN's avatar
      CONFIG: support openfoam -init=FILE · cbcc8754
      Mark OLESEN authored
      - useful for supporting a variety of different predefined
        configuration files. Bypasses the regular etc/bashrc entirely.
      
      - minor refactoring in foamCreateModuleInclude
      cbcc8754
  31. Jun 19, 2020
  32. Jun 08, 2020
  33. Jun 03, 2020
  34. May 29, 2020
  35. May 28, 2020