1. 17 Oct, 2018 3 commits
    • Mark Olesen's avatar
      ENH: simplify objectRegistry access names (issue #322) · 8fabc325
      Mark Olesen authored
        New name:  findObject(), cfindObject()
        Old name:  lookupObjectPtr()
      
            Return a const pointer or nullptr on failure.
      
        New name:  findObject()
        Old name:  --
      
            Return a non-const pointer or nullptr on failure.
      
        New name:  getObjectPtr()
        Old name:  lookupObjectRefPtr()
      
            Return a non-const pointer or nullptr on failure.
            Can be called on a const object and it will perform a
            const_cast.
      
      - use these updated names and functionality in more places
      
      NB: The older methods names are deprecated, but continue to be defined.
      8fabc325
    • Mark Olesen's avatar
      ENH: add compareOp for three-way comparison · e0255cff
      Mark Olesen authored
      - similar to the \c <=> operator in C++20.
        Primarily for use when defining cascaded sort function objects.
      e0255cff
    • Mark Olesen's avatar
      STYLE: logical ops return bool (issue #1043) · 8b569b16
      Mark Olesen authored
      - these currently only with bool parameters, but the return value should
        nonetheless always be a bool value:
      
            andOp(), orOp(), lessOp(), lessEqOp(), greaterOp(), greaterEqOp()
      
      - renamed the unused eqEqOp() to equalOp() for naming consistency with
        the equal() global function.
      
      ENH: equalOp() specialization for scalars
      
      - function object version of the equal() function.
        The default constructor uses the same tolerance (VSMALL),
        but can also supply an alternative tolerance on construction.
      8b569b16
  2. 16 Oct, 2018 1 commit
  3. 17 Oct, 2018 3 commits
  4. 15 Oct, 2018 2 commits
  5. 16 Oct, 2018 5 commits
    • Andrew Heather's avatar
      ENH: Added new fieldExtents function object · 1eba7093
      Andrew Heather authored
      Description
          Calculates the spatial minimum and maximum extents of a field
      
          The extents are derived from the bound box limits after identifying
          the locations where field values exceed the user-supplied threshold
          value.
      
      Usage
          Example of function object specification:
      
          fieldExtents1
          {
              type        fieldExtents;
              libs        ("libfieldFunctionObjects.so");
              ...
              writeToFile yes;
              log         yes;
              fields      (alpha);
              threshold   0.5;
              patches     ();
          }
      
          Where the entries comprise:
      
              Property      | Description              | Required   | Default
              type          | type name: fieldExtents  | yes        |
              writeToFile   | write extents data to file | no       | yes
              log           | write extents data to standard output | no | yes
              internalField | Process the internal field | no       | yes
              threshold     | Field value to identify extents boundary | yes |
              referencePosition | Reference position   | no         | (0 0 0)
              fields        | list of fields to process | yes       |
              patches       | list of patches to process | no       | <all>
      
          Output data is written to the file \<timeDir\>/fieldExtents.dat
      
      Note
          For non-scalar fields, the magnitude of the field is employed and
          compared to the threshold value.
      1eba7093
    • Mark Olesen's avatar
      STYLE: use range-for in dictionary internals · 5d7b2329
      Mark Olesen authored
      5d7b2329
    • Mark Olesen's avatar
      ENH: support token stream checking to entry (issue #762) · 77017e58
      Mark Olesen authored
      - Eg,
          scalar val(-GREAT);
      
          const entry* eptr = dict.findEntry(k);
      
          if (eptr)
          {
              val = eptr.get<scalar>();
      
              // Or
              eptr.readEntry(val);
          }
      77017e58
    • Mark Olesen's avatar
      STYLE: mark compatibility change in motionSolver keyword · 8a923518
      Mark Olesen authored
      - was "solver" in 1612 and "motionSolver" for later versions
      8a923518
    • Mark Olesen's avatar
      STYLE: use explicit dictionary access for dictionaryEntry · 873b2f0a
      Mark Olesen authored
      - clarifies the meanings of get<T> etc, avoids later ambiguities.
      
      ENH: simplify phaseProperties construction, add input checks
      873b2f0a
  6. 15 Oct, 2018 5 commits
    • Mark Olesen's avatar
      ENH: make cwd() behaviour user-adjustable (issue #1007) · 7864672c
      Mark Olesen authored
      - with the 'cwd' optimization switch it is possible to select the
        preferred behaviour for the cwd() function.
      
        A value of 0 causes cwd() to return the physical directory,
        which is what getcwd() and `pwd -P` return.
        Until now, this was always the standard behaviour.
      
        With a value of 1, cwd() instead returns the logical directory,
        which what $PWD contains and `pwd -L` returns.
        If any of the sanity checks fail (eg, PWD points to something other
        than ".", etc), a warning is emitted and the physical cwd() is
        returned instead.
      
        Apart from the optical difference in the output, this additional
        control helps workaround file systems with whitespace or other
        characters in the directory that normally cause OpenFOAM to balk.
        Using a cleaner symlink elsewhere should skirt this issue.
      
        Eg,
            cd $HOME
            ln -s "/mounted volume/user/workdir"  workdir
            cd workdir
            # start working with OpenFOAM
      7864672c
    • Mark Olesen's avatar
      CONFIG: improve shell env handling of paths with spaces (#1007, #1008) · 50852b33
      Mark Olesen authored
      - foamCleanPath now only splits the environment variable on ':', which
        allows other directories with spaces or '(..)' etc to pass through
        without major issue.
      
      - The filter arguments are split on whitespace, colons or semi-colons.
      50852b33
    • Mark Olesen's avatar
    • Mark Olesen's avatar
      ENH: rationalize dictionary access methods · c6520033
      Mark Olesen authored
      - use keyType::option enum to consolidate searching options.
        These enumeration names should be more intuitive to use
        and improve code readability.
      
          Eg,   lookupEntry(key, keyType::REGEX);
          vs    lookupEntry(key, false, true);
      
        or
      
          Eg,   lookupEntry(key, keyType::LITERAL_RECURSIVE);
          vs    lookupEntry(key, true, false);
      
      - new findEntry(), findDict(), findScoped() methods with consolidated
        search options for shorter naming and access names more closely
        aligned with other components. Behave simliarly to the
        methods lookupEntryPtr(), subDictPtr(), lookupScopedEntryPtr(),
        respectively. Default search parameters consistent with lookupEntry().
      
          Eg, const entry* e = dict.findEntry(key);
          vs  const entry* e = dict.lookupEntryPtr(key, false, true);
      
      - added '*' and '->' dereference operators to dictionary searchers.
      c6520033
    • Andrew Heather's avatar
      4f9e45fb
  7. 12 Oct, 2018 5 commits
  8. 11 Oct, 2018 6 commits
  9. 10 Oct, 2018 4 commits
  10. 09 Oct, 2018 4 commits
  11. 08 Oct, 2018 2 commits