Skip to content
Snippets Groups Projects
  1. May 22, 2025
  2. May 21, 2025
    • Mark OLESEN's avatar
      ENH: DimensionedField, GeometricField enhancements and style changes · 4e513cec
      Mark OLESEN authored
      - constCast() convenience methods.
        This simplies coding in places, especially in solvers
      
      - inline some methods within headers, for better overview/maintenance
      
      - only set DimensionedField default value on construct if not read
      
      - storeOldTimes() does not require const_cast
      4e513cec
    • Mark OLESEN's avatar
      ENH: add fvPatch::offset() as pass-through to polyPatch::offset() · ae3adc10
      Mark OLESEN authored
      - makes fvPatch consistent with faPatch etc and can simplify coding
      
      ENH: handle sizing within extrapolateInternal() patch field methods
      
      - reduces reliance on any sub-components
      
      ENH: extend polyBoundaryMesh patch selectors
      
      - indices_if() method with a predicate, or with a patch-type
        behaves similarly to findPatchIDs(), but returns a sorted
        labelList instead of a labelHashSet
      
      - nFaces_if() method with a predicate return the number of boundary
        faces for patches matching the given predicate.
      ae3adc10
    • Mark OLESEN's avatar
      STYLE: remove old (__cplusplus >= 201703L) checks · a0bba749
      Mark OLESEN authored
      - now using c++17 throughout
      a0bba749
  3. May 12, 2025
  4. May 09, 2025
  5. May 08, 2025
  6. 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
  7. Apr 30, 2025
  8. 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
  9. Apr 25, 2025
  10. Apr 24, 2025
  11. Apr 23, 2025
  12. Apr 10, 2025
  13. Apr 09, 2025
  14. 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
  15. Apr 07, 2025
  16. Apr 01, 2025
  17. Mar 31, 2025