Trixi.jl icon indicating copy to clipboard operation
Trixi.jl copied to clipboard

Todo list for DGMulti solvers

Open jlchan opened this issue 3 years ago • 4 comments

This is intended to track additional tasks for solvers on simplicial (and more general) meshes

  • [x] consider the use of matmul! from Octavian.jl - are we OK with adding this as an additional dependency?
  • [x] Add Plots to test/Project.toml and enable all tests once upstream issues are fixed
  • [x] switch to dispatch instead of using UniformScaling interpolation/projection matrices for nodal SBP methods https://github.com/trixi-framework/Trixi.jl/pull/647#discussion_r661498313
  • [x] Add solver for tetrahedral meshes (now supported in StartUpDG!)
  • [x] add flux differencing for modal and SBP triangular DG
  • [x] add flux differencing for modal tetrahedral DG
  • [x] add sparsity-optimized flux differencing for tensor product DG (see https://github.com/trixi-framework/Trixi.jl/pull/757)
  • [x] add visualization for DGMulti (see https://github.com/trixi-framework/Trixi.jl/pull/755)

Solvers:

  • [x] specialize volume integral on non-affine/curved meshes (do not use split forms by default)
  • [x] add GSBP solver type for Gauss nodes (#781, https://github.com/trixi-framework/Trixi.jl/pull/927)
  • [x] optimize GSBP solver using sparse mul! (see https://github.com/trixi-framework/Trixi.jl/pull/927#issuecomment-954308546) or tensor product operations for face interpolation
  • [x] decide whether we want to implement generalized SBP solvers on simplices (no for now, it is probably not much more efficient than Polynomial() solvers)
  • [x] use WADG (generalized mass lumping) for invert_jacobian on appropriate meshes.
  • [ ] Add 3D tetrahedral SBP operators (needs upstream changes in StartUpDG)

Analysis

  • [x] normalize L2 errors in analysis (https://github.com/trixi-framework/Trixi.jl/issues/862)

Meshes:

  • [ ] convert between UnstructuredQuadMesh and AbstractMeshData types for use with quad/hex solvers.
  • [ ] Convert between CurvedMesh and AbstractMeshData for uniform meshes
  • [x] #961
  • [x] MarkVertexMappedMesh for deprecation, replace with something more descriptive (e.g., MeshDataMesh or DGMultiMesh)

Nonconservative terms:

  • [x] Added for approximation_type = Polynomial()
  • [x] Added for approximation_type = SBP()
  • [x] Add new capabilities to the overview in the docs

Feature requests/suggestions welcome!

jlchan avatar Jun 27 '21 20:06 jlchan

Octavian.jl - are we OK with adding this as an additional dependency?

Yes - it's already an indirect dependency via StrideArrays.jl

ranocha avatar Jun 28 '21 03:06 ranocha

I added

Add StartUpDG.jl as direct dependency instead of using it via Requires.jl?

to the list above

ranocha avatar Jul 11 '21 08:07 ranocha

Added

specialize Semidiscretization to allow DGSEM to work with VertexMappedMeshes

jlchan avatar Jul 26 '21 06:07 jlchan

Adding

add visualization for DGMulti

jlchan avatar Jul 29 '21 22:07 jlchan