ShockwaveDetection
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
- Detect 1D shock by detecting large gradients across properties with a customizable parameter
threshold
- Visualize the change of properties along with shock positions
This package also has an incomplete documentation (far from complete or acceptable)
Goals: Technical
- [x] Develop 'better' methods to detect the shock
- [x] Make threshold a customizable fraction to be multiplied with a max gradient instead of just an unquantified number
- [x] Bug detected! In heatmap of velocity_field of 2D!!! Fix this!!!
- [x] Develop visualization of shock position in the axis against time. Making velocity field a heat map? -> check GLMakie
- [x] Process 2D data
- [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
- [x] DBSCAN test
- [x] LsqFit seems to be a better choice due to more flexibility and more maintenance.
- [x] Adapt visualization with pipeline data structure of 2D case
- [x] Plot the fits in heatmaps
- [x] Normal vector as partial derivatives of other fits: Warisa
- [x] Implement normal vector of each fits as a function?
- [x] Clean up the angle_estimated stuff
- [x] Pipeline 1D case: Ina
- [ ] Better parameter initialization for the fits: Elena Either user customize this or some geometry magic to find the most optimal starting point.
- [x] parabola model (using interpolation)): Warisa
- [ ] line model
- [ ] hline model
- [ ] vline model
- [ ] circle model
- [ ] Test 2D case accuracy with noise: Ina
- [x] Thread everything that we can
Goals: Organizational
- [ ] Update the documentation
- [ ] 1D: Ina
- [ ] Review unnecessary functions in
visualize.jl