1. 29 Jun, 2020 1 commit
  2. 17 Jun, 2020 2 commits
  3. 11 Jun, 2020 1 commit
  4. 10 Jun, 2020 1 commit
  5. 09 Jun, 2020 1 commit
    • Henning Scheufler's avatar
      CONT: Addition of compressibleIsoInterFOam and PLIC · 44a84d47
      Henning Scheufler authored
         1) Implementation of the compressibleIsoInterFOam solver
         2) Implementation of a new PLIC interpolation scheme.
         3) New tutorials associated with the solvers
      
      This implementation was carried out by Henning Scheufler (DLR) and Johan
      Roenby (DHI), following :
      
      \verbatim
      
      Henning Scheufler, Johan Roenby,
      Accurate and efficient surface reconstruction from volume fraction data
      on general meshes, Journal of Computational Physics, 2019, doi
      10.1016/j.jcp.2019.01.009
      
      \endverbatim
      
      The integration of the code was carried out by Andy Heather and Sergio
      Ferraris from OpenCFD Ltd.
      44a84d47
  6. 05 Jun, 2020 3 commits
  7. 04 Jun, 2020 2 commits
    • Mark Olesen's avatar
      ENH: boolVector for specialized bundling of boolean values · ea4c8f4b
      Mark Olesen authored
      - bundled of boolean values as a vector of 3 components with
        element access using x(), y() and z() member functions.
        It also has some methods similar to bitSet.
      
      - Not derived from Vector or VectorSpace since it does not share very
        many vector-like characteristics.
      ea4c8f4b
    • Mark Olesen's avatar
      ENH: additional polynomial constructors, improved I/O · bc9e97cf
      Mark Olesen authored
      - support construct from initializer_list, which can help simplify
        code with constant coefficients.
      
      - add default constructor for polynomialFunction and Istream reading
        to support resizable lists of polynomialFunction.
      
        A default constructed polynomialFunction is simply equivalent to
        a constant zero.
      
      - no special IO handling for Polynomial required,
        it is the same as VectorSpace anyhow.
      bc9e97cf
  8. 02 Jun, 2020 3 commits
    • Mark Olesen's avatar
      ENH: unify use of dictionary method names · 3e43edf0
      Mark Olesen authored
      - previously introduced `getOrDefault` as a dictionary _get_ method,
        now complete the transition and use it everywhere instead of
        `lookupOrDefault`. This avoids mixed usage of the two methods that
        are identical in behaviour, makes for shorter names, and promotes
        the distinction between "lookup" access (ie, return a token stream,
        locate and return an entry) and "get" access (ie, the above with
        conversion to concrete types such as scalar, label etc).
      3e43edf0
    • Mark Olesen's avatar
    • Mark Olesen's avatar
      ENH: support predicate checks for argList (similar to dictionary methods) · 31b17221
      Mark Olesen authored
      - Favour use of argList methods that are more similar to dictionary
        method names with the aim of reducing the cognitive load.
      
        * Silently deprecate two-parameter get() method in favour of the
          more familiar getOrDefault.
        * Silently deprecate opt() method in favour of get()
      
        These may be verbosely deprecated in future versions.
      31b17221
  9. 29 May, 2020 4 commits
    • Mark Olesen's avatar
      STYLE: include scalar.H instead of floatScalar.H/doubleScalar.H separately · 727ea48e
      Mark Olesen authored
      STYLE: adjust code comments
      727ea48e
    • Mark Olesen's avatar
      ENH: add swallow assignment to nullObject · 1d2391e0
      Mark Olesen authored
      - similar to the behaviour of std::ignore and consistent with the
        no input / no output nature of nullObject. Similarly accept a
        const reference for its Istream operator.
      
      - make most nullObject methods constexpr
      1d2391e0
    • Mark Olesen's avatar
      ENH: inline and extend clockValue, clockTime · e3367dbd
      Mark Olesen authored
      - mostly wraps std::chrono so can inline much of it, which is potentially
        helpful when used for inner timings.
      
      - add elapsedTime() method for direct cast to double and for
        naming similarity with wall-clock method.
      
      Potential breaking change (minor):
      
      - clockValue construct with a bool parameter is now simply tagged
        dispatch (value is ignored) and always queries the current clock
        value. This avoids needless branching.
        Since this constructor form has primarily been used internally (eg,
        clockTime), breakages in user code are not expected.
      e3367dbd
    • Mark Olesen's avatar
      ENH: reduce dependencies for foamVersion.H · 5eebe505
      Mark Olesen authored
      - have printBuildInfo output to std::ostream
      - removed extraneous include "stdFoam.H"
      
      ENH: revert to pre-processor defines for hard-coded paths (#1712)
      
      - redundant information, but more robust at run-time without relying
        on initialization order
      5eebe505
  10. 23 May, 2020 2 commits
  11. 11 May, 2020 2 commits
  12. 04 May, 2020 1 commit
  13. 30 Apr, 2020 1 commit
    • Mark Olesen's avatar
      STYLE: update PrimitivePatch (#1648) · 8a5d108f
      Mark Olesen authored
      - simplified templating, which cleans up code and does not appear to
        break any normal user coding.
      
      ENH: unique_ptr instead of homegrown demand-driven handling.
      8a5d108f
  14. 28 Apr, 2020 2 commits
    • Mark Olesen's avatar
      ENH: add string replaceAny() method · 14e2dbfb
      Mark Olesen authored
      - takes a search string and a replacement character.
        The replacement character can also be a nul char ('\0'), which
        simply removes the characters.
      
        Possible uses:
      
        * Replace reserved characters
            str.replaceAny("<>:", '_');
      
        * Remove shell meta-characters or reserved filesystem characters
            str.replaceAny("*?<>{}[]:", '\0');
      14e2dbfb
    • Mark Olesen's avatar
      STYLE: use writeEntry(), beginBlock(), endBlock() methods · 79048eb6
      Mark Olesen authored
      - use dictionary::get<..> instead of lookup in a few more places
      79048eb6
  15. 03 Apr, 2020 1 commit
    • Mark Olesen's avatar
      ENH: support independent specification of surface read/write format (#1600) · 560c053b
      Mark Olesen authored
      - adjustments to internal handling to improve run-time addition of
        other formats (eg, with additional user library)
      
        For example, to write a binary STL with a '.stl' extension:
      
          $ surfaceMeshConvert input.obj  -write-format stlb  output.stl
      
        Or in a sampler,
        to specify the input type without ambiguity:
      
        surf
        {
            type        meshedSurface;
            surface     sampling.inp;
      
            fileType    starcd;
            scale       0.001;
            ...
        }
      
      STYLE: regularize naming for input/output scaling
      
        * -read-scale   (compat: -scaleIn)
        * -write-scale  (compat: -scaleOut)
      
      CONFIG: change edge/surface selection name for STARCD format
      
      - now select as "starcd" instead of "inp" to avoid naming ambiguity
        with abaqus
      560c053b
  16. 02 Apr, 2020 1 commit
    • Mark Olesen's avatar
      STYLE: additional surface-related typedefs · 7f32509a
      Mark Olesen authored
      - face_type, point_type (similar to STL value_type, etc).
        The naming avoids potential confusion with template parameters.
      
      - rename private typedef from ParentType to MeshReference for more
        consistency with polySurface etc.
      7f32509a
  17. 01 Apr, 2020 1 commit
    • Mark Olesen's avatar
      ENH: add a Pstream::shutdown() method (#1660) · 01f65054
      Mark Olesen authored
      - previously used a Pstream::exit() invoked from the argList
        destructor to handle all MPI shutdown, but this has the unfortunate
        side-effect of using a fixed return value for the program exit.
      
        Instead use the Pstream::shutdown() method in the destructor and allow
        the normal program exit codes as usual. This means that the
        following code now works as expected.
      
        ```
        argList args(...);
      
        if (...)
        {
            InfoErr<< "some error\n";
            return 1;
        }
        ```
      01f65054
  18. 19 Mar, 2020 1 commit
  19. 11 Mar, 2020 2 commits
  20. 28 Feb, 2020 1 commit
  21. 24 Feb, 2020 1 commit
  22. 19 Feb, 2020 3 commits
  23. 18 Feb, 2020 3 commits
    • Mark Olesen's avatar
      ENH: improvements to IOstreamOption · 33f9ae50
      Mark Olesen authored
      * Support default values for format/compress enum lookups.
      
        - Avoids situations where the preferred default format is not ASCII.
          For example, with dictionary input:
      
              format binar;
      
          The typing mistake would previously have caused formatEnum to
          default to ASCII. We can now properly control its behaviour.
      
              IOstream::formatEnum
              (
                  dict.get<word>("format"), IOstream::BINARY
              );
      
          Allowing us to switch ascii/binary, using BINARY by default even in
          the case of spelling mistakes. The mistakes are flagged, but the
          return value can be non-ASCII.
      
      * The format/compression lookup behave as pass-through if the lookup
        string is empty.
      
        - Allows the following to work without complaint
      
            IOstream::formatEnum
            (
                dict.getOrDefault("format", word::null), IOstream::BINARY
            );
      
        - Or use constructor-like failsafe method
      
            IOstream::formatEnum("format", dict, IOstream::BINARY);
      
        - Apply the same behaviour with setting stream format/compression
          from a word.
      
             is.format("binar");
      
          will emit a warning, but leave the stream format UNCHANGED
      
      * Rationalize versionNumber construction
      
        - constexpr constructors where possible.
          Default construct is the "currentVersion"
      
        - Construct from token to shift the burden to versionNumber.
          Support token as argument to version().
      
          Now:
      
              is.version(headerDict.get<token>("version"));
      
          or failsafe constructor method
      
              is.version
              (
                  IOstreamOption::versionNumber("version", headerDict)
              );
      
          Before (controlled input):
      
              is.version
              (
                  IOstreamOption::versionNumber
                  (
                      headerDict.get<float>("version")
                  )
              );
      
          Old, uncontrolled input - has been removed:
      
              is.version(headerDict.lookup("version"));
      
      * improve consistency, default behaviour for IOstreamOption construct
      
        - constexpr constructors where possible
      
        - add copy construct with change of format.
      
        - construct IOstreamOption from streamFormat is now non-explicit.
          This is a commonly expected result with no ill-effects
      33f9ae50
    • Mark Olesen's avatar
      4e1bc2d2
    • Mark Olesen's avatar
      STYLE: adjust names, locations for fileFormats · 4307e171
      Mark Olesen authored
      - renamed 'core/' -> 'base/' to avoid gitignore masking when re-adding
        files
      
      - rename 'nas/' to 'nastran/' for more clarity
      
      - relocated OBJstream from surfMesh to fileFormats
      
      STYLE: remove unused parseNASCoord. Was deprecated 2017-09
      4307e171