trixi-framework / trixi-framework/Trixi.jl

Add tests using other real types

Open
#591 17 comments 1 reaction 0 assignees View on GitHub
good first issue performance testing
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.