1. 19 Feb, 2018 1 commit
  2. 22 Dec, 2017 1 commit
  3. 19 Dec, 2017 1 commit
  4. 28 Sep, 2017 1 commit
  5. 12 Sep, 2017 1 commit
    • Will Bainbridge's avatar
      lagrangian: Optimised reduced-dimension constraints · d7ff97f4
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      The 4.x tracking enforces reduced dimensionality on the parcels by
      moving them to the centre of the mesh at the start of each track,
      without considering the topology. This can leave the parcel outside it's
      associated tetrahedron.
      
      The barycentric algorithm isn't tolerant to incorrect topology, so
      instead of changing position, it was written to track to the mesh
      centre. This worked, but effectively doubled the number of tracking
      calls. This additional cost has now been removed by absorbing the
      constraint displacement into the existing motion track, so that the same
      number of tracking steps are performed as before.
      
      Partially resolves bug report https://bugs.openfoam.org/view.php?id=2688
      d7ff97f4
  6. 14 Sep, 2017 1 commit
  7. 13 Sep, 2017 1 commit
    • Andrew Heather's avatar
      ENH: Lagrangian - provided backwards compatibility for cases using the · 2defba00
      Andrew Heather authored
      old "positions" file form
      
      The change to barycentric-based tracking changed the contents of the
      cloud "positions" file to a new format comprising the barycentric
      co-ordinates and other cell position-based info.  This broke
      backwards compatibility, providing no option to restart old cases
      (v1706 and earlier), and caused difficulties for dependent code, e.g.
      for post-processing utilities that could only infer the contents only
      after reading.
      
      The barycentric position info is now written to a file called
      "coordinates" with provision to restart old cases for which only the
      "positions" file is available. Related utilities, e.g. for parallel
      running and data conversion have been updated to be able to support both
      file types.
      
      To write the "positions" file by default, use set the following option
      in the InfoSwitches section of the controlDict:
      
          writeLagrangianPositions 1;
      2defba00
  8. 24 Aug, 2017 1 commit
  9. 22 Aug, 2017 1 commit
  10. 06 Sep, 2017 1 commit
  11. 11 Aug, 2017 2 commits
  12. 09 Aug, 2017 1 commit
    • Will Bainbridge's avatar
      Lagrangian: Enabled tracking through ACMI patches and minor code improvements · 9b57ef06
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      Particle collisions with ACMI patches are now handled. The hit detects
      whether the location is within the overlap or the coupled region and
      recurses, calling the hit routine appropriate for the region.
      
      The low level tracking methods are now more consistently named. There is
      now a distinction between tracking to a face and hitting it. Function
      object side effects have been moved out of the base layer and into the
      parcels on which they are meaningful.
      9b57ef06
  13. 18 Jul, 2017 1 commit
    • Will Bainbridge's avatar
      lagrangian: Fixed infinite loops · a4762ea6
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      Tracking through an inverted region of the mesh happens in a reversed
      direction relative to a non-inverted region. Usually, this allows the
      tracking to propagate normally, regardless of the sign of the space.
      However, in rare cases, it is possible for a straight trajectory to form
      a closed loop through both positive and negative regions. This causes
      the tracking to loop indefinitely.
      
      To fix this, the displacement through inverted regions has been
      artifically increased by a small amount (1% at the moment). This has the
      effect that the change in track fraction over the negative part of the
      loop no longer exactly cancels the change over the positive part, and
      the track therefore terminates.
      a4762ea6
  14. 13 Jul, 2017 1 commit
    • Will Bainbridge's avatar
      lagrangian: Corrected patch data · e274e08b
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      The KinematicCloud::patchData method has been made consistent on moving
      meshes and/or when the time-step is being sub-cycled.
      
      It has also been altered to calculate the normal component of a moving
      patch's velocity directly from the point motions. This prevents an
      infinite loop occuring due to inconsistency between the velocity used to
      calculate a rebound and that used when tracking.
      
      Some minor style improvements to the particle class have also been made.
      e274e08b
  15. 01 Jun, 2017 1 commit
  16. 28 Apr, 2017 2 commits
    • Henry Weller's avatar
      particle: Avoid warning about uninitialized edge · d75eb944
      Henry Weller authored and Andrew Heather's avatar Andrew Heather committed
      d75eb944
    • Will Bainbridge's avatar
      Lagrangian: Rewrite of the particle tracking algorithm to function in · 743dea87
      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.
      743dea87
  17. 16 Aug, 2016 1 commit
  18. 25 Apr, 2016 2 commits
  19. 20 Jan, 2016 1 commit
  20. 27 Aug, 2013 1 commit
  21. 14 Aug, 2011 1 commit
  22. 07 Apr, 2011 1 commit
  23. 17 Mar, 2011 1 commit
  24. 07 Mar, 2011 1 commit
  25. 24 Feb, 2011 1 commit