-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement subcell limiting for non-conservative systems #1670
Implement subcell limiting for non-conservative systems #1670
Conversation
…ative systems -> A working version of this implementation is added for the GLM-MHD system -> The flux-differencing formula requires non-conservative terms of the form (local * symmetric)... I modified equations/ideal_glm_mhd_2d.jl and solvers/dgsem_tree/dg_2d.jl to make it work -> In this first implementation, we only use the Powell term and deactivate the GLM term
…2d.jl back to its original state
…he modified Powell source term. This was needed due to incompatibility on non-conforming meshes.
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. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1670 +/- ##
==========================================
- Coverage 90.84% 82.73% -8.11%
==========================================
Files 430 431 +1
Lines 34437 34672 +235
==========================================
- Hits 31282 28683 -2599
- Misses 3155 5989 +2834
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
I ran a convergence test (5 different meshes and
|
When running the convergence test documented above, the following performance summary was obtained with the novel subcell limiting for non-conservative systems and one thread:
The summary obtained with
It is clear that the volume integral with subcell limiting is significantly more expensive than |
Co-authored-by: Hendrik Ranocha <[email protected]>
Thanks for your comments, @ranocha! I already applied your suggestions and replied to your questions. Do you have any clue of what might be making my code slow? (see performance post) It seems that my problem is in the function calcflux_fhat!, which is taking a total of As I wrote above,
Do you see any performance issues in calcflux_fhat!? or do you have any idea about how I can speed up that function? |
Did you try starting Julia with the flag |
Yes, the results I reported were obtained with |
Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
…vative equations Co-authored-by: Benjamin Bolm <[email protected]>
Co-authored-by: Hendrik Ranocha <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
…ut a method Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
This PR extends the subcell limiting strategies implemented in #1476 to non-conservative systems.
To do the subcell limiting, the DGSEM is formulated as a flux-differencing formula. For non-conservative systems, this formulation requires expressing non-conservative terms as the product of both local and symmetric components. I have included an example using the GLM-MHD equations, where the Powell and GLM non-conservative terms have been recast in the format of "local * symmetric."