warisa-r / ShockwaveDetection.jl

This repository provides tools and data for detecting shockwaves from solutions obtained via an Euler equation solver. Shockwaves are significant discontinuities in the flow field parameters, and their detection is crucial for various applications in fluid dynamics and aerospace engineering.
MIT License
1 stars 0 forks source link

ShockwaveDetection

Build Status

Brief description

This package aims at processing the data from Euler's equation's solver Euler2D.jl and utilizing ShockwaveProperties.jl and detect where the shock is. Currently, it can

This package also has an incomplete documentation (far from complete or acceptable)

Goals: Technical

  1. [x] Develop 'better' methods to detect the shock
    1. [x] Make threshold a customizable fraction to be multiplied with a max gradient instead of just an unquantified number
  2. [x] Bug detected! In heatmap of velocity_field of 2D!!! Fix this!!!
  3. [x] Develop visualization of shock position in the axis against time. Making velocity field a heat map? -> check GLMakie
  4. [x] Process 2D data
  5. [x] Change the output format of shock positions to an x y coordinate the way DBSCAN can take. Take a good look at NearestNeighbor.jl
  6. [x] DBSCAN test
  7. [x] LsqFit seems to be a better choice due to more flexibility and more maintenance.
  8. [x] Adapt visualization with pipeline data structure of 2D case
  9. [x] Plot the fits in heatmaps
  10. [x] Normal vector as partial derivatives of other fits: Warisa
    1. [x] Implement normal vector of each fits as a function?
    2. [x] Clean up the angle_estimated stuff
  11. [x] Pipeline 1D case: Ina
  12. [ ] Better parameter initialization for the fits: Elena Either user customize this or some geometry magic to find the most optimal starting point.
    1. [x] parabola model (using interpolation)): Warisa
    2. [ ] line model
    3. [ ] hline model
    4. [ ] vline model
    5. [ ] circle model
  13. [ ] Test 2D case accuracy with noise: Ina
  14. [x] Thread everything that we can

Goals: Organizational

  1. [ ] Update the documentation
    1. [ ] 1D: Ina
  2. [ ] Review unnecessary functions in visualize.jl