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. Dec 03, 2021
    • Mark OLESEN's avatar
      ENH: support alternative build-root location (#2286) · 8624d65c
      Mark OLESEN authored
      - specify any of these
      
          ./Allwmake -build-root=...
          wmake -build-root=...
          FOAM_BUILDROOT=... wmake
      
        these specify an alternative root where build artifacts are to land.
        Currently only used as an alternative for the 'build/' hierarchy
        since the 'platforms/' target normally includes inputs as well.
      
        Possible use:
        ```
        (
            export WM_MPLIB="%{foam_mplib}"
            export FOAM_MPI="%{foam_mpi}"
            export MPI_ARCH_PATH="%{mpi_prefix}"
      
            export FOAM_BUILDROOT=/tmp/mpibuild
            export FOAM_MPI_LIBBIN="$FOAM_BUILDROOT/platforms/$WM_OPTIONS/lib/$FOAM_MPI"
      
            src/Pstream/Allwmake-mpi
         )
         ```
      8624d65c
    • Mark OLESEN's avatar
      CONFIG: set API level to 2109 · 8ed6a611
      Mark OLESEN authored
      - Function1, sampledSets, expressions, runTime selection tables
      8ed6a611
  3. Nov 09, 2021
  4. 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
  5. Nov 02, 2021
    • Mark OLESEN's avatar
      ENH: extend use of WM_COMPILER_CONTROL to manage compiler versions · 2698cab0
      Mark OLESEN authored
      - for compilers such as gcc and clang, may have several different
        variants installed on the computer. Use WM_COMPILER_CONTROL to
        specify the preferred variant.
      
        Eg,
            WM_COMPILER=Gcc
            WM_COMPILER_CONTROL="version=8"
      
            will compile with "gcc-8" and "g++-8"
      
        Good practice would be to tag output directory names with the
        version too. Eg
      
            WM_COMPILER=Clang110
            WM_COMPILER_CONTROL="version=11.0"
      
      STYLE: modify message for change of gcc -> clang (darwin)
      2698cab0
  6. Oct 29, 2021
    • Mark OLESEN's avatar
      CONFIG: increment API level to 2108 · 08e66a64
      Mark OLESEN authored
      - reflects updates for List, globalIndex handling etc
      08e66a64
    • 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
  7. 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
  8. Sep 07, 2021
    • Mark OLESEN's avatar
      ENH: use PrecisionAdaptor to support scotch with label widening · bf1ed94e
      Mark OLESEN authored
      - allows reuse of an int64_t scotch library with label-size 32
        and/or label-size 64.
      
      COMP: prefer scotch/metis/kahip libraries with label-size qualifiers
      
      - as noted in #2200, mpirun may insert mpi libraries higher in the
        library loader which can cause masking of our ThirdParty libraries
        of the same name. With scotch (for example), the operating system
        may have an int32 version installed but we have an int64 version
        compiled under ThirdParty. Runing in serial is fine, but in parallel
        we resolve to the (incorrect) system version due to the adjustments
        in mpirun.
      
      - adjust the ThirdParty make scripts to also create corresponding
        links (eg, 'ln -s libscotch.so libscotch-int64.so') and prefer
        linkage with these qualified libraries.
      
          Eg,  -L$(SCOTCH_LIB_DIR) -lscotch$(SCOTCH_LIBNAME_SUFFIX)
      
        this prevent accidental runtime linkage with the system versions.
      
      STYLE: simplify scotch interface code by using local functions
      bf1ed94e
  9. Jul 28, 2021
  10. Jun 10, 2021
    • 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
  11. May 31, 2021
  12. May 19, 2021
  13. Apr 27, 2021
  14. Apr 23, 2021
  15. Mar 29, 2021
  16. Mar 09, 2021
  17. Mar 05, 2021
  18. Feb 16, 2021
  19. Dec 21, 2020
  20. Dec 17, 2020
  21. Dec 15, 2020
  22. Dec 11, 2020
  23. Dec 08, 2020
  24. Nov 30, 2020
  25. Nov 26, 2020
  26. Nov 25, 2020
  27. Nov 17, 2020
  28. 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
  29. Nov 09, 2020
  30. Nov 07, 2020
  31. Nov 04, 2020
    • Mark OLESEN's avatar
      CONFIG: ptscotch header not found on RedHat/Fedora (fixes #1904) · 5e660c36
      Mark OLESEN authored
      - no limit to the number of ways of filing ptscotch libraries.
        RedHat/Fedora/CentOS should look for these directories:
      
            ptscotch include=/usr/include/openmpi-x86_64
            ptscotch library=/usr/lib64/openmpi/lib
      
        when MPI_ARCH_PATH=/usr/lib64/openmpi
        and mpicc --showme:compile yields -I/usr/include/openmpi-x86_64
      5e660c36
    • 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
  32. Oct 12, 2020
    • Mark OLESEN's avatar
      CONFIG: bump API to 2010 · a475a19d
      Mark OLESEN authored
      - mostly reflects minor additions to Pstream methods and blockMesh
        improvements.
      a475a19d
    • Mark OLESEN's avatar
      CONFIG: ptscotch header not found on ArchLinux (fixes #1877) · bea65632
      Mark OLESEN authored
      - on ArchLinux, everything is installed under /usr/include/scotch.
      
        The detection script uses SCOTCH_ARCH_PATH as an initial guess for
        ptscotch as well. However, on the second pass, it has an absolute
        value ("/usr") instead of a logical one ("scotch-system").
        This resulted in the logic for handling scotch+ptscotch subdirs
        being bypassed.
      bea65632
  33. Sep 23, 2020