-
Notifications
You must be signed in to change notification settings - Fork 114
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
L2 Mortars for Parabolic Terms on TreeMeshes #1571
L2 Mortars for Parabolic Terms on TreeMeshes #1571
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1571 +/- ##
==========================================
- Coverage 92.90% 90.13% -2.77%
==========================================
Files 402 402
Lines 33034 33327 +293
==========================================
- Hits 30690 30039 -651
- Misses 2344 3288 +944
Flags with carried forward coverage won't be shown. Click here to find out more.
|
I ran a first small convergence study for the 2D Navier-Stokes Convergence Elixir Trixi.jl/examples/tree_2d_dgsem/elixir_navierstokes_convergence.jl Lines 210 to 211 in a12f82d
One quarter of the mesh is refined once, "Ref" denotes the initial refinement of the mesh
Errors
There is clearly some superconvergence (Linf errors should only reduce by a factor 16), probably due to the diffusive nature of the testcase. |
Great work so far! Note that you can also use the |
Yeah, I tried to format that, but I somehow did not manage to get this to work in the spoiler HTML environment. |
I've updated your post above, I hope that's OK for you. |
Aside the 2D Navier-Stokes Convergence Test I also conducted a small study for the 3D version, this time with fixed timestep Convergence with Refinement
Convergence without Refinement
|
Can you go one (or two) steps further in the convergence study? The first refinement does not seem to be in the asymptotic regime |
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.
Just a small suggestion to adjust the wording. Also, I have lost track on the new capability. This PR only allows for mortars on TreeMesh
but no AMR capability, right? To get the AMR working we (maybe) need to do the prologation / restriction of the gradient variables as well. I am not so familiar with the AMR + TreeMesh infrastructure.
Yes - I think the reshaping of arrays upon refinement/unrefinement required some changes. I think there is another PR which deals with the technical details of reshaping some of the temporary arrays used in |
Co-authored-by: Andrew Winters <[email protected]>
Yes, for AMR more changes are required that I plan to submit once this is merged. |
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!
@DanielDoehring I believe you added CI tests - does this mean @ranocha's requested changes are addressed? That's blocking merging at the moment. |
Yes, I added some tests with manually refined meshes. |
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 a lot!
Yes - I also double checked that there are no allocations due to the mortars.
Could you please add some CI checks for allocations like we do in
Trixi.jl/test/test_tree_2d_advection.jl
Lines 34 to 48 in 6c97c48
@trixi_testset "elixir_advection_mortar.jl" begin | |
@test_trixi_include(joinpath(EXAMPLES_DIR, "elixir_advection_mortar.jl"), | |
# Expected errors are exactly the same as in the parallel test! | |
l2 = [0.0015188466707237375], | |
linf = [0.008446655719187679]) | |
# Ensure that we do not have excessive memory allocations | |
# (e.g., from type instabilities) | |
let | |
t = sol.t[end] | |
u_ode = sol.u[end] | |
du_ode = similar(u_ode) | |
@test (@allocated Trixi.rhs!(du_ode, u_ode, semi, t)) < 1000 | |
end | |
end |
Co-authored-by: Hendrik Ranocha <[email protected]>
Head branch was pushed to by a user without write access
d13bf12
Co-authored-by: Hendrik Ranocha <[email protected]>
… into MortarsParabolic
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
Following #1147 I looked into mortars for 2D DGSEM on Tree meshes.
While I am relatively confident about the part for the viscous fluxes inserted here
Trixi.jl/src/solvers/dgsem_tree/dg_2d_parabolic.jl
Line 89 in d96514f
I have questions regarding the mortar actions in
calc_gradient!
Trixi.jl/src/solvers/dgsem_tree/dg_2d_parabolic.jl
Line 592 in d96514f
(See the comments in the files)