-
Notifications
You must be signed in to change notification settings - Fork 113
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
Compressible Navier-Stokes on TreeMesh3D #1239
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1239 +/- ##
==========================================
+ Coverage 88.71% 88.87% +0.16%
==========================================
Files 328 334 +6
Lines 25138 25785 +647
==========================================
+ Hits 22300 22914 +614
- Misses 2838 2871 +33
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
…onvergence testing
…into ns-treemesh-3d
I haven't seen that before. I opened #1242 to test
No, we have some CI jobs running longer than that, so it's fine. |
The test fails there as well with the same error. |
@sloede Any ideas? |
I have been trying to work out the best way to create an enstrophy callback for the 3D compressible Navier-Stokes. I have written the necessary routines that live in |
This sounds similar to the issue we had with initial conditions and parameters that depend on the equation type. I had experimented with a "combined" equation type for dispatch in #1160 but I think this would basically necessitate rewriting a bunch of the callback codes. |
What if we introduced a separate set of callbacks that dispatch on the viscous cache and viscous equations? Alternatively...is reusing computed gradients worth it? |
You could try to intersect the call chain at Trixi.jl/src/callbacks_step/analysis.jl Line 462 in 4afc4b7
There, the semidiscretization is passed as an argument - which should hopefully be the hyperbolic-parabolic semidiscretization in this case. |
I was hoping to reuse the gradients because then the callback would not be solver specific. If we re-compute the gradients on the fly, which I am open to doing, then the callback would (maybe) need two version; one for DGSEM and another for DGMulti |
…into ns-treemesh-3d
Would we need two versions anyways since the interfaces are different? If you see a way to define a unified callback, then we could probably use multiple dispatch to specialize on gradient calculation. |
Sure that works for me. I am not sure why the coverage drops. |
I think it's a spurious drop. The coverage report is showing drops in areas that we didn't touch. |
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.
This is just the first part of the review, where I only looked at some small files. It would be great if no non-essential merges or edits were to be made to this PR (except for addressing the comments) until the review is finished, such that I do not lose track of which files I have already looked at 😬
Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
…into ns-treemesh-3d
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.
I have made a final review and left a few comments. Besides that, I think we are good to merge this.
We should keep an eye on the duration of the parabolic tests in GitHub though. It seems like they are already taking quite a long time, thus if we're adding more systems/tests, we need to redistribute.
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.
I think this should be ready to merge
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 - thanks @andrewwinters5000 for spearheading this!
This implements the three dimensional compressible Navier-Stokes equations on Cartesian meshes for
TreeMesh{3}
. It was quite straightforward to extend the 2D methods for gradients and get things up an running in 3D. Below is a laundry list of what needs done before merging.test/test_parabolic_3d.jl
set[ ] Viscous shock tube test?Save for 1D Navier-Stokes, it would be a good student project[ ] Compute kinetic energy dissipation rate (as an analysis quantity)Compute in postprocessing from the integrated kinetic energy values and times available when analysis quantities are saved in an output file.The points above address a few of the list items from #1147 .