Skip to content
Snippets Groups Projects
  1. May 12, 2025
  2. May 09, 2025
  3. May 08, 2025
  4. May 06, 2025
    • Kutalmış Berçin's avatar
      ENH: avoid the build-up of the background solver dictionary · ebbeef27
      Kutalmış Berçin authored
      The solverPerformanceDict gets larger due to the addition of a SolverPerformance
      data per field at every outer iteration within the same main iteration/time
      step.
      
      However, the subsequent functionalities seem to use only the first and last
      element of this dictionary per field; therefore, storing the interim values
      was revealed to be redundant.
      
      The change removes the interim values by transforming the `List` container
      into the `Pair` container, and modifying the relevant algorithms.
      ebbeef27
  5. Apr 30, 2025
  6. Apr 29, 2025
    • Mark OLESEN's avatar
      ENH: extend patch/boundary methods: faces(), faceOwner() · 91e7870e
      Mark OLESEN authored
      - similar to polyBoundaryMesh
      91e7870e
    • Mark OLESEN's avatar
      COMP: add <numeric> to stdFoam.H · 1d62b627
      Mark OLESEN authored
      - useful to have std::reduce(), std::transform_reduce() available in
        more places, so treat like <algorithm> and include in "stdFoam.H"
      
      STYLE: add 'stricter' detection markers for cast of SubList to List etc.
      
      STYLE: remove 'const' qualifier from Foam:one/Foam::zero (in Field)
      1d62b627
    • Mark OLESEN's avatar
      ENH: refine handling of DynamicList/DynamicField resizing · 5ee8f19b
      Mark OLESEN authored
      - previously had special resizing treatment for the corner case when
        the addressable size and the new capacity are identical. However,
        that particular approach (to minimize copying) meant that the exact
        deallocation size would likely be incorrect.
        Having the correct deallocation size becomes more important with
        alternative allocators.
      
        Introduce resize_copy() protected function to limit the number
        of elements copied during the resize.
      
      ENH: provide DynamicList/DynamicField constructor with sizing
      
      - allows fine-grained creation of a DynamicList/DynamicField with a
        given size/capacity without an initial value.
      
      COMP: typo in code for DynamicList::push_back() with IndirectList
      5ee8f19b
  7. Apr 25, 2025
  8. Apr 24, 2025
  9. Apr 23, 2025
  10. Apr 10, 2025
  11. Apr 09, 2025
  12. Apr 08, 2025
    • Mark OLESEN's avatar
      ENH: return plain List instead of shrinking the DynamicList · 7f062a8f
      Mark OLESEN authored
        Using 'return List<T>(std::move(dynList))' for transfer of content
        (with implicit shrinking) into a plain List, and leave copy elision
        to do the rest. The implicit transfer (move construct List from
        DynamicList) will normally invoke resize (new/delete and moving
        elements).
      
        With 'return dynList.shrink()', it will first invoke an internal
        resize (new/delete and moving elements), followed by a copy
        construct as a plain list.
      
      STYLE: avoid implicit cast to 'const List&' in constructors
      7f062a8f
  13. Apr 07, 2025
  14. Apr 01, 2025
  15. Mar 31, 2025
    • Mark OLESEN's avatar
      CONFIG: set API level to 2501 · a2df6079
      Mark OLESEN authored
      - Pstream changes (one-sided), local AMI communicators,
        other adjustments
      a2df6079
    • Mark OLESEN's avatar
      ENH: extend sigFpe::fillNan() interfaces · e121db6e
      Mark OLESEN authored
      - provide separate float/double UList interfaces, which improves
        flexibility (eg, with SPDP)
      
      - sigFpe::fillNan_if() interface, for filling in when using alternative
        memory allocators
      e121db6e
    • Mark OLESEN's avatar
      ENH: simplify SubStrings class/handling (remove template parameters) · e720f823
      Mark OLESEN authored
      - previous code used derived string iterators, but these would
        be largely ignored anyhow since the underlying std::sub_match
        str() method would just yields a std::string anyhow.
      
        The SubStrings::str(size_t) method wasn't used in any code, so now
        just use std::string iterators only.
      
        This change simplfies overall handling, since it removes an unneeded
        template dependency.
      e720f823
    • Mark OLESEN's avatar
      CONFIG: add Gcc rules for MacOS (darwin) · bdac68eb
      Mark OLESEN authored
      - /usr/bin/{gcc,g++} normally just symlinks to clang/clang++
        and may have unknown default flags.
        For a gcc toolchain, it would be better to use a homebrew
        installation.
      
        For these cases, the compiler will need to be specified with
        version=.. in WM_COMPILE_CONTROL.
      
        For example, with "version=14", to select gcc-14, g++-14 from the
        homebrew installation.
      
      - needs a slight hack for locating the FlexLexer.h header.
        Added into src/OSspecific/POSIX similar to how it is handled
        in src/OSspecific/MSwindows
      
      CONFIG: add simple config/detection support for libumpire (Linux)
      bdac68eb
    • Mark OLESEN's avatar
      ENH: add foamConfigurePaths support for homebrew · edf9621e
      Mark OLESEN authored
      - new options to set components specified by homebrew.
        Sets version as system, path from brew --prefix
      
          -adios-brew, -adios2-brew, -boost-brew, -cgal-brew,
          -fftw-brew, -kahip-brew, -metis-brew, -scotch-brew,
          -gmp-brew, -mpfr-brew
      
          -with-homebrew
           Shortcut for selecting all the above (except gmp, mpfr)
      
      * additional special treatment for GMP and MPFR.
      
        If using non-system locations and not part of the ThirdParty
        compiler, they can additionally be set in the CGAL config file:
      
          -gmp-brew, -gmp-path
          -mpfr-brew, -mpfr-path
      edf9621e
    • Mark OLESEN's avatar
      ENH: add size_type to Matrix and VectorSpace · a9863d9a
      Mark OLESEN authored
      - easier to create type-specific looping in templated code
      
      STYLE: pass 'direction' and 'label' by value instead of reference
      
      COMP: qualify Foam::min() in dense matrix classes
      a9863d9a
  16. Mar 25, 2025
  17. Mar 24, 2025
  18. Mar 21, 2025
    • Mark OLESEN's avatar
      DEFEATURE: remove POSIX regex interface (#3343) · aaa9af9e
      Mark OLESEN authored
      - compiler versions are now sufficient that only the C++ regex
        interface is now being used. Can remove the old POSIX code
        accordingly.
      
        This change also removes any dependency on the SubStrings class to
        manage the matching results.
      
      ENH: remove OpenFOAM dependencies from MacOS addr2line utility
      aaa9af9e