trixi-framework / trixi-framework/Trixi.jl
Save additional solver information for `DGMulti` to handle non-`Polynomial` approximation types
- Dominant language
- Julia
- Stars
- 731
- Forks
- 167
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 25
Description
In #2259, we have added basic mesh I/O and the ability to save solutions for the `DGMulti` solver. When the corresponding Trixi2Vtk.jl PR https://github.com/trixi-framework/Trixi2Vtk.jl/pull/103 is merged, it will be possible to visualize `DGMulti` solutions using the same toolchain as for `DGSEM`.
Currently, however, the solver information that is written to the mesh and solution files consists solely of the element shape and the polynomial degree. When reading a solution or mesh file, it is then assumed that the solution is stored as nodal values at the default interpolation nodes for a `Polynomial` approximation, and the solver's `basis` field, which is type `StartUpDG.RefElemData`, is "reconstructed" under such assumptions. Further information about the `basis` would be needed to be stored in the mesh/solution files in order to properly load meshes and solutions for non-`Polynomial` approximation types.
**Note:** In the case of triangular prism (i.e. `Wedge`) elements with a `TensorProductWedge` approximation type, a tuple polynomial degree is saved, and it is currently assumed that the solution is stored at a nodal set constructed from the Cartesian product of the default `Polynomial` interpolation nodes on the `Tri` and `Line` elements.
Contributor guide
Research direction
Trace the DGMulti mesh and solution save/load paths, focusing on reconstruction of the solver's StartUpDG.RefElemData basis. Inspect the related Trixi2Vtk.jl PR 103 and the handling of Polynomial and TensorProductWedge approximations. Done means files preserve enough basis information to load and visualize non-Polynomial solutions correctly, including Wedge elements.
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
- Mostly clear
- Newbie friendliness
- 35/100