trixi-framework / trixi-framework/Trixi.jl
Add tests using other real types
- Dominant language
- Julia
- Stars
- 731
- Forks
- 166
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 25
Description
We should check whether everything works using
- `Float32`
- `Float64` (current default)
- Types from [MultiFloats.jl](https://github.com/dzhang314/MultiFloats.jl) or [Quadmath.jl](https://github.com/JuliaMath/Quadmath.jl)
It would also be nice to see the impact on performance.
## Tasks
- [ ] Convert `0.5 * ` or `1/2 * ` to `0.5f0 * `
- [ ] Use `oftype` and `convert` in initial conditions, source terms etc.
- [x] Implement `ln_mean` and other math.jl functions for `Float32` (https://github.com/trixi-framework/Trixi.jl/pull/2048)
- [ ] Make mesh types flexible enough (for `solve`)
- [ ] Fix `TreeMesh`, hardocded to `Float64` https://github.com/trixi-framework/Trixi.jl/blob/345f53acf3b2c1d80431b2a330d16fdca7638728/src/meshes/tree_mesh.jl#L102-L104
- [x] `StructuredMesh`
- [x] `UnstructuredMesh2D`
- [x] `P4estMesh`
- [ ] Fix `T8codeMesh`, hardcoded to `Float64` https://github.com/trixi-framework/Trixi.jl/blob/345f53acf3b2c1d80431b2a330d16fdca7638728/src/meshes/t8code_mesh.jl#L34
- [ ] Fix `DGMulti`, hardcoded in several places https://github.com/trixi-framework/Trixi.jl/blob/345f53acf3b2c1d80431b2a330d16fdca7638728/src/solvers/dgmulti/shock_capturing.jl#L32
- [ ] Check/fix initialization of mesh types
- [x] Volume terms
- [x] weak form
- [x] flux differencing
- [x] shock capturing ([typically uses EC fluxes with `ln_mean`](https://github.com/trixi-framework/Trixi.jl/pull/2048))
- [x] strong form
- [x] upwind FDSBP
- [ ] Callbacks
- [x] `StepsizeCallback`
- [ ] `AnalysisCallback`
- [x] `SaveSolutionCallback`
- [ ] ...
- [ ] Add unit tests for numerical fluxes
- [ ] Add new tests for full elixirs
- Be aware of trigonometric functions! See https://github.com/trixi-framework/Trixi.jl/pull/2048
Contributor guide
Assessment
This issue has not been assessed yet.