Skip to content
Snippets Groups Projects
  1. Sep 22, 2017
    • Will Bainbridge's avatar
      tetrahedron: triangle: Improved barycentric handling on tets and tris · 34d43585
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      Updated the tetrahedron and triangle classes to use the barycentric
      primitives. Removed duplicate code for generating random positions in
      tets and tris, and fixed bug in tri random position.
      34d43585
    • Will Bainbridge's avatar
      primitiveShapes: Generalised tetrahedron and triangle cutting. Cuts are · 0e2bc0be
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      now possible with level-sets as well as planes. Removed tetPoints class
      as this wasn't really used anywhere except for the old tet-cutting
      routines. Restored tetPointRef.H to be consistent with other primitive
      shapes. Re-wrote tet-overlap mapping in terms of the new cutting.
      0e2bc0be
    • Will Bainbridge's avatar
      Lagrangian: Rewrite of the particle tracking algorithm to function in · b7d08241
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      terms of the local barycentric coordinates of the current tetrahedron,
      rather than the global coordinate system.
      
      Barycentric tracking works on any mesh, irrespective of mesh quality.
      Particles do not get "lost", and tracking does not require ad-hoc
      "corrections" or "rescues" to function robustly, because the calculation
      of particle-face intersections is unambiguous and reproducible, even at
      small angles of incidence.
      
      Each particle position is defined by topology (i.e. the decomposed tet
      cell it is in) and geometry (i.e. where it is in the cell). No search
      operations are needed on restart or reconstruct, unlike when particle
      positions are stored in the global coordinate system.
      
      The particle positions file now contains particles' local coordinates
      and topology, rather than the global coordinates and cell. This change
      to the output format is not backwards compatible. Existing cases with
      Lagrangian data will not restart, but they will still run from time
      zero without any modification. This change was necessary in order to
      guarantee that the loaded particle is valid, and therefore
      fundamentally prevent "loss" and "search-failure" type bugs (e.g.,
      2517, 2442, 2286, 1836, 1461, 1341, 1097).
      
      The tracking functions have also been converted to function in terms
      of displacement, rather than end position. This helps remove floating
      point error issues, particularly towards the end of a tracking step.
      
      Wall bounded streamlines have been removed. The implementation proved
      incompatible with the new tracking algorithm. ParaView has a surface
      LIC plugin which provides equivalent, or better, functionality.
      
      Additionally, bug report <https://bugs.openfoam.org/view.php?id=2517>
      is resolved by this change.
      b7d08241
  2. Sep 18, 2017
  3. Sep 15, 2017
  4. Sep 12, 2017
  5. Sep 11, 2017
    • Mark OLESEN's avatar
      ENH: add input surface scaling (issue #514) · da373d4f
      Mark OLESEN authored
      - surfaceFeatureExtract
        * dictionary "scale" entry
      
      - triSurface
      - triSurfaceLoader
        * optional scaleFactor on reading
      
      - surfaceAdd
      - surfaceBooleanFeatures
      - surfaceClean
      - surfaceCoarsen
        * scale option
      
      - surfaceTransformPoints, transformPoints
        * scale option as scalar or vector quantity
      da373d4f
  6. Sep 08, 2017
  7. Sep 07, 2017
  8. Sep 06, 2017
  9. Aug 31, 2017
  10. Aug 28, 2017
  11. Aug 18, 2017
  12. Aug 14, 2017
  13. Aug 10, 2017
  14. Aug 09, 2017
  15. Aug 07, 2017
  16. Aug 03, 2017
    • Mark OLESEN's avatar
      STYLE: manage dictionary inputMode directly within entry class · 2de7aeef
      Mark OLESEN authored
      - The logic for switching input-mode was previously completely
        encapsulated within the #inputMode directive, but without any
        programming equivalent. Furthermore, the encapsulation in inputMode
        made the logic less clear in other places.
      
        Exposing the inputMode as an enum with direct access from entry
        simplifies things a fair bit.
      
      - eliminate one level of else/if nesting in entryIO.C for clearer logic
      
      - for dictionary function entries, simply use
        addNamedToMemberFunctionSelectionTable() and avoid defining a type()
        as a static. For most function entries the information is only used
        to get a name for the selection table lookup anyhow.
      2de7aeef
  17. Aug 02, 2017
  18. Jul 29, 2017
    • Mark OLESEN's avatar
      ENH: additional method for switching error throwing on/off (issue #552) · 837c7486
      Mark OLESEN authored
      - error::throwExceptions(bool) returning the previous state makes it
        easier to set and restore states.
      
      - throwing() method to query the current handling (if required).
      
      - the normal error::throwExceptions() and error::dontThrowExceptions()
        also return the previous state, to make it easier to restore later.
      837c7486
  19. Jul 26, 2017
  20. Jul 22, 2017
  21. Jul 21, 2017
  22. Jul 20, 2017
  23. Jul 19, 2017
  24. Jul 18, 2017