Skip to content
Snippets Groups Projects
  1. Apr 16, 2024
    • Mark OLESEN's avatar
    • Mark OLESEN's avatar
      ENH: separate registry and revised file locations for finite-area · 3228e423
      Mark OLESEN authored
      - The internal storage location of finite-area changes from being
        piggybacked on the polyMesh registry to a having its own dedicated
        registry:
      
        * allows a clearer separation of field types without name clashes.
        * prerequisite for supporting multiple finite-area regions (future)
      
      Old Locations:
      ```
         0/Us
         constant/faMesh
         system/faMeshDefinition
         system/faSchemes
         system/faSolution
      ```
      
      New Locations:
      ```
         0/finite-area/Us
         constant/finite-area/faMesh
         system/finite-area/faMeshDefinition  (or system/faMeshDefinition)
         system/finite-area/faSchemes
         system/finite-area/faSolution
      ```
      
      NOTES:
          The new locations represent a hard change (breaking change) that
          is normally to be avoided, but seamless compatibility handling
          within the code was found to be unworkable.
      
          The `foamUpgradeFiniteArea` script provides assistance with migration.
      
          As a convenience, the system/faMeshDefinition location continues
          to be supported (may be deprecated in the future).
      3228e423
    • 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 spurio...
      92c329a8
  2. Apr 15, 2024
  3. Apr 11, 2024
  4. Apr 10, 2024
  5. Apr 08, 2024
  6. 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
  7. Apr 03, 2024
  8. Mar 30, 2024
  9. Mar 28, 2024
  10. Mar 27, 2024
  11. Mar 21, 2024
  12. Mar 20, 2024
  13. Mar 19, 2024
  14. Mar 18, 2024