trixi-framework / trixi-framework/Trixi.jl
`TimeSeriesCallback` for dimensions other than 2D
- Dominant language
- Julia
- Stars
- 731
- Forks
- 166
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 25
Description
Further extensions of the functionality from #1855 are possible. Adding the ability of having gauge points on, e.g., a 1D `TreeMesh` should be straightforward. For instance, one does not need a Newton iteration as the affine mapping between computational coordinates and physical coordinates is easily inverted exactly.
Instead of using the barycenters, it could be possible to use the available normal directions instead. See this [discussion](https://github.com/trixi-framework/Trixi.jl/pull/1855#discussion_r1521306880) where this idea is partially implemented for the `UnstructuredMesh2D`.
For 3D meshes, like `P4estMesh`, a bit more is involved but it should still be straightforward. The search to locate which element a given `(x,y,z)` points lives is likely easily extended from the strategy in #1855. However, it might become more performance critical, especially if AMR is used. This is because the search would need to be redone after each time the `AMRCallback` is applied. The Newton iteration to compute the reference coordinates could reuse the existing `straight_side_quad_map`, `straight_side_quad_map_metrics`, `transfinite_quad_map`, and `transfinite_quad_map_metrics` functions that are working in 3D. However, an efficient Newton iteration may need implemented that requires inverting a 3x3 matrix.
Contributor guide
Research direction
Start by reading the implementation and discussion linked from #1855, then compare the proposed 1D TreeMesh and 3D P4estMesh paths. Review the existing straight_side_quad_map, straight_side_quad_map_metrics, transfinite_quad_map, and transfinite_quad_map_metrics functions before assessing the element search and 3x3 Newton iteration. Done means TimeSeriesCallback supports the selected non-2D dimensions without excessive AMR-related search cost.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100