Skip to content
Snippets Groups Projects
  1. Feb 18, 2020
    • 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
    • Kutalmış Berçin's avatar
      ENH: improve analytical eigendecompositions · 55e7da67
      Kutalmış Berçin authored and Andrew Heather's avatar Andrew Heather committed
        - `tensor` and `tensor2D` returns complex eigenvalues/vectors
        - `symmTensor` and `symmTensor2D` returns real eigenvalues/vectors
        - adds new test routines for eigendecompositions
        - improves numerical stability by:
          - using new robust algorithms,
          - reordering the conditional branches in root-type selection
      55e7da67
    • Kutalmış Berçin's avatar
      ENH: improve funcs and opers in Tensor types · 66b02ca5
      Kutalmış Berçin authored and Andrew Heather's avatar Andrew Heather committed
        - ensures each Tensor-container operates for the following base types:
          - floatScalar
          - doubleScalar
          - complex
      
        - adds/improves test applications for each container and base type:
          - constructors
          - member functions
          - global functions
          - global operators
      
        - misc:
          - silently removes `invariantIII()` for `tensor2D` and `symmTensor2D`
            since the 3rd invariant does not exist for 2x2 matrices
          - fixes `invariantII()` algorithm for `tensor2D` and `symmTensor2D`
          - adds `Cmpt` multiplication to `Vector2D` and `Vector`
          - adds missing access funcs for symmetric containers
          - improves func/header documentations
      66b02ca5
    • Kutalmış Berçin's avatar
      ENH: improve stability in polynomialEqns · 8ca724ff
      Kutalmış Berçin authored and Andrew Heather's avatar Andrew Heather committed
        - replaces floating-point equal comparisons in
          `linearEqn`, `quadraticEqn`, and `cubicEqn`,
        - ensures `quadraticEqn` and `cubicEqn` can return `complex` roots,
        - reorders if-branches in `quadraticEqn` and `cubicEqn` to avoid
          zero-equal comparison,
        - adds Kahan's cancellation-avoiding algorithm into `quadraticEqn` and
          `cubicEqn` for the numerically-sensitive discriminant computation,
      
        - adds/improves `polynomialEqns` tests:
          * adds Test-linearEqn.C
          * adds Test-quadraticEqn.C
          * improves Test-cubicEqn.C
      8ca724ff
    • Mark OLESEN's avatar
      ENH: overhaul ensight handling (#1579) · a9762812
      Mark OLESEN authored and Andrew Heather's avatar Andrew Heather committed
      - includes restructuring and simplification of low-level ensight part
        handling and refactor of backends to improve code reuse.
      
      foamToEnsight
      -------------
      
        * new cellZone support.
          This was previously only possible via a separate foamToEnsightParts
          utility that was not parallelized.
      
        * support for point fields.
      
        * `-nearCellValue` option (as per foamToVTK)
      
        * data indexing now uses values from the time index.
          This is consistent with the ensightWrite function object and
          can help with restarts.
      
        * existing ensight directories are removed, unless the -no-overwrite
          option is supplied
      
      foamToEnsightParts
      ------------------
        * now redundant and removed.
      
      ensightOutputSurface (new class)
      --------------------------------
        * a lightweight wrapper for point/face references that is tailored
          for the ensightSurfaceWriter. It uses compact face/point information
          and is serial only, since this is the format requirements from the
          surfaceWriter class.
      
      ensightMesh (revised class)
      ---------------------------
        * now only holds a polyMesh reference, which removes its dependency
          on finiteVolume and allows it to be relocated under fileFormats
          instead of conversion.
      
      Removed classes: ensightParts, ensighPartFaces, ensightPartCells
      
      - these were used by foamToEnsightParts, but not needed anymore.
      a9762812
  2. Feb 12, 2020
  3. Feb 06, 2020
  4. Jan 31, 2020
    • Mark OLESEN's avatar
    • Mark OLESEN's avatar
      ENH: added IndirectSubList · 822d052e
      Mark OLESEN authored
      - provides an indirect access to a sub-section of a list that is
        somewhat less efficient than a Foam::SubList, but supports the
        following:
          * adjustment of its addressing range after construction
          * recovery of the original, underlying list at any time
      
        This can be more convenient for some coding cases.
        For example,
      
            template<class Addr>
            void renumberFaces(IndirectListBase<face, Addr>& faces, ...);
      
        which can be called for
      
            * Specific faces:
              UIndirectList<face>(mesh.faces(), facesToChange)
      
            * A sub-range of faces:
              IndirectSubList<face>(mesh.faces(), pp.range())
      
            * All faces:
              IndirectSubList<face>(mesh.faces())
      
      CONFIG: added IndirectListsFwd.H with some common forwarding
      822d052e
  5. Jan 29, 2020
  6. Jan 28, 2020
  7. Jan 23, 2020
  8. Jan 21, 2020
  9. Jan 16, 2020
    • Mark OLESEN's avatar
      ENH: provide defaultName() static method for patches, zones · f0be8679
      Mark OLESEN authored
      - consistent way of writing "patch" + Foam::name(id) etc.
      f0be8679
    • Mark OLESEN's avatar
      ENH: consistency improvements for surface patch handling (fixes #483) · 2a98c4e6
      Mark OLESEN authored
      - remove (unused) Istream constructors, prune some unused methods,
        rationalize write() vs writeDict().
        Deprecate inconsistent construction order.
      
      - handle empty names for ".ftr" surface patches (for plain triSurface
        format) with double-quoted strings for more reliable streaming.
        Written on a single line.
      
        This is _backward_ compatible, but if users have been parsing these
        files manually, they will need to adjust their code.
      
      Previously:
      ```
        (
        frt-fairing:001%1
        empty
      
        windshield:002%2
        empty
        ...
        )
      ```
      
      Updated (with example handling of empty name):
      ```
        (
        frt-fairing:001%1 empty
      
        windshield:002%2 ""
        ...
        )
      ```
      2a98c4e6
  10. Jan 22, 2020
  11. Jan 16, 2020
  12. Jan 06, 2020
  13. Jan 03, 2020
  14. Dec 23, 2019
  15. Dec 19, 2019
  16. Dec 18, 2019
  17. Dec 17, 2019
    • sergio's avatar
      INT: org integration · 6e8f0dbe
      sergio authored and Andrew Heather's avatar Andrew Heather committed
      1) rPolynomial Eq of State
      2) externalForce and softWall in rigidBodyDynamics
      
      INT: Several minor bug fixes plus
      6e8f0dbe
    • Mark OLESEN's avatar
      ENH: use exprString expansions for #eval · 1cf795a4
      Mark OLESEN authored
      - follows the principle of least surprise if the expansion behaviour
        for #eval and expressions (eg, exprFixedValue) are the same.  This
        is possible now that we harness the regular stringOps::expand()
        within exprString::expand()
      1cf795a4
  18. Dec 16, 2019
    • Mark OLESEN's avatar
      ENH: PDRsetFields utility (#1216) · a60fe9c7
      Mark OLESEN authored
      - the PDRsetFields utility processes a set of geometrical obstructions
        to determine the equivalent blockage effects.
      
        These fields are necessary inputs for PDRFoam calculations.
      
        After setting up the geometries, the -dry-run option can be used to
        generate a VTK file for diagnosis and post-processing purposes.
      
      - this is an initial release, with improvements slated for the future.
      
      NOTE
        - the field results may be less than fully reliable when run in
          single-precision. This howver does not represent a realistic
          restriction since the prepared fields target a combustion
          application which will invariably be double-precision.
      a60fe9c7
    • Mark OLESEN's avatar
      COMP: compilation of Test-QRMatrix (clang, int64) · 1a16207e
      Mark OLESEN authored
      - remove unused local functions from volumeExprDriver
      1a16207e
  19. Dec 14, 2019
  20. Dec 13, 2019
    • Mark OLESEN's avatar
      ENH: improve expression string expansions · 33e0c4ba
      Mark OLESEN authored
      - reuse more of stringOps expansions to reduce code and improve the
        syntax flexiblity.
      
        We can now embed "pre-calculated" values into an expression.
        For example,
      
             angle       35;
             valueExpr   "vector(${{cos(degToRad($angle))}}, 2, 3)";
      
        and the ${{..}} will be evaluated with the regular string evaluation
        and used to build the entire expression for boundary condition
        evaluation.
      
        Could also use for fairly wild indirect referencing:
      
             axis1   (1 0 0);
             axis2   (0 1 0);
             axis3   (0 0 1);
             index   100;
             expr   "$[(vector) axis${{ ($index % 3) +1 }}] / ${{max(1,$index)}}";
      33e0c4ba
    • Mark OLESEN's avatar
      STYLE: header format · 7aa2bf83
      Mark OLESEN authored
      7aa2bf83
    • Mark OLESEN's avatar
      ENH: stringOps::findTrim helper · 17d9969a
      Mark OLESEN authored
      - finds beg/end indices of string trimmed of leading/trailing whitespace
      17d9969a
    • Mark OLESEN's avatar
      string trim · 677e3142
      Mark OLESEN authored
      677e3142