Add Legendre-Gauss basis for DGSEM and implement solver support for 1D/2D TreeMesh#1965
Add Legendre-Gauss basis for DGSEM and implement solver support for 1D/2D TreeMesh#1965DanielDoehring merged 32 commits intomainfrom
TreeMesh#1965Conversation
Review checklistThis checklist is meant to assist creators of PRs (to let them know what reviewers will typically look for) and reviewers (to guide them in a structured review process). Items do not need to be checked explicitly for a PR to be eligible for merging. Purpose and scope
Code quality
Documentation
Testing
Performance
Verification
Created with ❤️ by the Trixi.jl community. |
|
Convergence test results: |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1965 +/- ##
========================================
Coverage 97.13% 97.13%
========================================
Files 595 596 +1
Lines 45802 45943 +141
========================================
+ Hits 44486 44623 +137
- Misses 1316 1320 +4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ramework/Trixi.jl into msl/legendre-gauss-basis
TreeMesh
Ah that is nice! |
JoshuaLampert
left a comment
There was a problem hiding this comment.
Only one small final comment.
Co-authored-by: Joshua Lampert <51029046+JoshuaLampert@users.noreply.github.com>
There was a problem hiding this comment.
This is very cool! One suggestion - this should work for VolumeIntegralWeakForm but not VolumeIntegralFluxDifferencing yet since that would require some modifications of calc_volume_integral! to incorporate surface corrections. Might make sense to note that in NEWS.md?
Yes, makes sense to me - I would probably also delete the |
There was a problem hiding this comment.
Can we use a uniform naming pattern - either _gauss or _gauss_legendre, please?
|
|
||
| """ | ||
| DGSEM(; RealT=Float64, polydeg::Integer, | ||
| basis = LobattoLegendreBasis(RealT, polydeg) |
There was a problem hiding this comment.
| basis = LobattoLegendreBasis(RealT, polydeg) | |
| basis = LobattoLegendreBasis(RealT, polydeg), |
| function DGSEM(; RealT = Float64, | ||
| polydeg::Integer, | ||
| basis = LobattoLegendreBasis(RealT, polydeg), |
There was a problem hiding this comment.
This can be very confusing, since it allows you to pass
DGSEM(; polydeg = 3, basis = GaussLegendreBasis(5))There was a problem hiding this comment.
I agree. I will add a PR which adds a new constructor for this.
No description provided.