Skip to content
Snippets Groups Projects
  1. Oct 29, 2018
  2. Oct 19, 2018
  3. Oct 10, 2018
  4. Oct 19, 2018
  5. Oct 18, 2018
    • Mark OLESEN's avatar
      STYLE: use dictionary writeEntry for output · 4ad73873
      Mark OLESEN authored
      4ad73873
    • Mark OLESEN's avatar
    • Mark OLESEN's avatar
      ENH: cleanup of Enum class · 3b745122
      Mark OLESEN authored
      - more dictionary-like methods, enforce keyType::LITERAL for all
        lookups to avoid any spurious keyword matching.
      
      - new readEntry, readIfPresent methods
      
      - The get() method replaces the now deprecate lookup() method.
      
      - Deprecate lookupOrFailsafe()
        Failsafe behaviour is now an optional parameter for lookupOrDefault,
        which makes it easier to tailor behaviour at runtime.
      
      - output of the names is now always flatted without line-breaks.
        Thus,
      
           os << flatOutput(someEnumNames.names()) << nl;
           os << someEnumNames << nl;
      
        both generate the same output.
      
      - Constructor now uses C-string (const char*) directly instead of
        Foam::word in its initializer_list.
      
      - Remove special enum + initializer_list constructor form since
        it can create unbounded lookup indices.
      
      - Removd old hasEnum, hasName forms that were provided during initial
        transition from NamedEnum.
      
      - Added static_assert on Enum contents to restrict to enum or
        integral values.  Should not likely be using this class to enumerate
        other things since it internally uses an 'int' for its values.
      
        Changed volumeType accordingly to enumerate on its type (enum),
        not the class itself.
      3b745122
    • Mark OLESEN's avatar
      CONFIG: default to using logical value for cwd() · f2c78362
      Mark OLESEN authored
      - this helps for many cases outlined in issue #1007, but can also be
        useful when simply using symlinks for shorter or reorganized
        directory structures.
      f2c78362
  6. Oct 17, 2018
    • sergio's avatar
    • sergio's avatar
      ENH: · 5daa38d5
      sergio authored
      Update of overRhoPimpleDyMFoam and overInterDyMFoam solvers.
      Adding corresponding tutorials with best possible settings
      The main effort was put on reducing pressure spikes as the
      stencil change with hole cells on the background mesh.
      5daa38d5
    • Mark OLESEN's avatar
      ENH: simple dataCloud function object (issue #1044) · 14a39405
      Mark OLESEN authored
      - writes positions and a single field (eg, diameter) in plain ASCII files,
        suitable for importing in a spreadsheet or manipulation with
        scripting tools.
      
      - code integrated from
        https://develop.openfoam.com/Community/OpenFOAM-addOns
      14a39405
    • 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
  7. Oct 16, 2018
  8. Oct 17, 2018
  9. Oct 15, 2018
  10. Oct 16, 2018
    • 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
      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
  11. Oct 15, 2018
    • 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
  12. Oct 12, 2018
  13. Oct 11, 2018