Skip to content
Snippets Groups Projects
  1. Apr 29, 2024
    • Mark OLESEN's avatar
      STYLE: communication name "buffered" instead of "blocking" · 7f355ba3
      Mark OLESEN authored
      - "buffered" corresponds to MPI_Bsend (buffered send),
        whereas the old name "blocking" is misleading since the
        regular MPI_Send also blocks until completion
        (ie, buffer can be reused).
      
      ENH: IPstream::read() returns std::streamsize instead of label (#3152)
      
      - previously returned a 'label' but std::streamsize is consistent with
        the input parameter and will help with later adjustments.
      
      - use <label> instead of <int> for internal accounting of the message
        size, for consistency with the underyling List<char> buffers used.
      
      - improve handling for corner case of IPstream receive with
        non-blocking, although this combination is not used anywhere
      7f355ba3
  2. Apr 25, 2024
  3. Apr 24, 2024
    • mattijs's avatar
      690d02f9
    • Mattijs Janssens's avatar
      Merge branch 'update-fvsPatchFields-mappers' into 'develop' · 31b74cd6
      Mattijs Janssens authored
      Fix fvsPatchFields reading/writing the "value" entry
      
      See merge request Development/openfoam!679
      31b74cd6
    • Mark OLESEN's avatar
      ENH: improve code consistency for {cell,face,point}Mapper (#3147) · f04ccef5
      Mark OLESEN authored
      - robuster and more reliable determination of inserted objects
        (previous code could produce false positives).
      
        Now also determine the number of inserted objects within the
        constructor (instead of simply storing a bool). This allows reuse
        in the address calculations to reduce overheads there.
      
      BUG: dodgy short-circuit logic for insertedObjectLabels()
      
      - as a quick short-circuit it previously created as demand-driven
        pointer with a zero elements. However, this meant that if this code
        was called first (before any other addressing), subsequent calls to
        the addressing would fail.
      
      BUG: bad logic and lookup for faAreaMapper (#3147)
      
      - was using labelHashSet but returning a bool and set using the
        addressing using the unfiltered objects!
        This is a latent bug since interpolated/inserted faces not
        currently supported anyhow.
      
      ENH: use std::unique_ptr for demand-driven data
      f04ccef5
    • Mark OLESEN's avatar
      BUG: fvsPatchFields reading/writing the "value" entry (fixes #3144) · 8a8b5db9
      Mark OLESEN authored
      - manual revert for 44d0fbd5.
      
        Unless required for post-processing the "value" entry should not
        written if it is not mandatory for reading.
      
        This is especially crucial with an 'empty' patch field where the
        field (size 0) has a different size from the patch.
      
      - the changes made align fvsPatchField behaviour with fvPatchField
      8a8b5db9
  4. Apr 23, 2024
  5. Apr 22, 2024
  6. Apr 19, 2024
  7. Apr 18, 2024
  8. Apr 16, 2024
    • Mark OLESEN's avatar
      ENH: prefer objectRegistry sorted to lookupClass · 31aadc5c
      Mark OLESEN authored
      - lower memory overhead, consistent access pattern
      31aadc5c
    • Mark OLESEN's avatar
      ENH: use typedef for MeshObject within derived classes · a803516b
      Mark OLESEN authored
      - use an internal 'typedef MeshObject<...> MeshObject_type' within
        derived classes. Reduces clutter and eases any updates.
      a803516b
    • Mark OLESEN's avatar
      ENH: add MeshObject Release() static method · 1b212789
      Mark OLESEN authored
      - Delete() will perform a 'checkOut()' which does the following:
        * remove the object from the registry
        * delete the pointer (if owned by the registry)
      
      - Release() does the following:
        * transfer ownership of the pointer (if owned by the registry)
      
      - Store() does the following:
        * transfer ownership of the pointer to the registry
      
      ENH: use UPtrList of sorted objects for MeshObject updates
      
      - few allocations and lower overhead than using a HashTable,
        ensures the same walk order over the objects (in parallel)
      
      STYLE: adjust meshObject debug statements
      1b212789
    • Mark OLESEN's avatar
      ENH: add separate handling for clearing mesh phi · 688fd5f3
      Mark OLESEN authored
      STYLE: update code style for phi modification (engine motion)
      
      ENH: pass isMeshUpdate param in fvMesh/polyMesh clearOut() methods
      
      - top-level use of isMeshUpdate parameter to clearOut and
        clearAddressing was being inadvertently filtered out
      688fd5f3
    • Mark OLESEN's avatar
      REGRESSION: distributedTriSurfaceMesh:::findLocalInstance failure (#3135) · 75e19c31
      Mark OLESEN authored
      - after the modification of d578d48a, the parent was now actually
        searched. However, should be returning "constant" and not trigger a
        FatalError if the file/directory is not found.
      75e19c31
    • Mark OLESEN's avatar
      ENH: reduce reliance on stringListOps functions · 16dd92b3
      Mark OLESEN authored
      - findStrings, findMatchingStrings now mostly covered by matching
        intrinsics in wordRe and wordRes.
      
        Add static wordRes match() and matching() variants
      
      COMP: remove stringListOps include from objectRegistry.H
      
      - was already noted for removal (NOV-2018)
      16dd92b3
    • Mark OLESEN's avatar
      ENH: add const_cast variants for isA<> and refCast<> · 92c329a8
      Mark OLESEN authored
      - an example of the new, more succinct refConstCast version:
      
            auto& abc = refConstCast<adjointVectorBoundaryCondition>(Uab);
      
        older:
            adjointVectorBoundaryCondition& abc =
                refCast<adjointVectorBoundaryCondition>
                (
                    const_cast<fvPatchVectorField&>(Uab)
                );
        or:
            adjointVectorBoundaryCondition& abc =
                const_cast<adjointVectorBoundaryCondition&>
                (
                    refCast<const adjointVectorBoundaryCondition>(Uab)
                );
      
      - an example of the new, more succinct isA_constCast version:
      
            auto* acapPtr = isA_constCast<fieldType>(abf[patchi]);
      
            if (acapPtr)
            {
                auto& acap = *acapPtr;
                ...
            }
      
        older:
            if (isA<fieldType>(abf[patchi]))
            {
                fieldType& acap =
                    const_cast<fieldType&>
                    (
                        refCast<const fieldType>(abf[patchi])
                    );
                ...
            }
      
      STYLE: remove spurious 'const' qualifier from isA<> use
      92c329a8
  9. Apr 15, 2024
  10. Apr 11, 2024
  11. Apr 10, 2024
  12. Apr 08, 2024
  13. Apr 05, 2024
    • Mark OLESEN's avatar
      BUG: cached ensight type not a word (fixes #3133) · 0ef981ad
      Mark OLESEN authored
      - the type/name for field caching were saved as word, but ensight has
        things like "tensor symm" etc, which do not parse very well as
        'word'. Now save as 'string' type.
      
        Backwards compatibility is OK since a word token will also be
        readable as string etc.
      0ef981ad
    • Mark OLESEN's avatar
      ENH: accept reading unquoted string (ie, word) · 2d611276
      Mark OLESEN authored
      - makes string reading consistent with fileName reading.
      
        Related to #3133 to also allow compatibility when reading existing
        dictionaries written with unquoted string contents.
      2d611276
  14. Apr 03, 2024