Discontinuous Galerkin 2-layer shallow water method does not converge. #4170
Unanswered
garrettdreyfus
asked this question in
Firedrake support
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello everyone!
I have been trying to solve a simplified version of the steady-state 2-D two layer shallow water equations with a prescribed entertainment and rigid lid. The equation set is as follows:
Where h_i is the layer thickness, u_i is the layer velocity, w is the entrainment, pi is the rigid lid pressure, eta is the depth of the interface between the two layers, Cd is a friction coefficient and b is a constant density difference between the two layers.
I initially solved these equations very easily using Continuous Galerkin elements and found some success in a rectangular domain with four no flux boundaries, but the solution was not very stable (it would break with small changes in the parameters) and it showed weird alternating velocities at the boundaries. The image below shows y-velocity in the second layer along the eastern wall.
I have been trying to adapt my solution using Discrete Galerkin elements for pressure and interface height as well as BDM elements for the velocity. I have been heavily drawing from the FireDrake steady-state continuity tutorial and Compatible Finite Element Methods for Geophysical Flows: Automation and Implementation Using Firedrake by Gibson et al.
I have included the code below. It runs correctly if I use Continuous Galerkin elements for every field, but if I switch to BDM and DG it does not converge. My eventual goal is to have an open boundary as well.
Thank you for any and all help in advance, and let me know if there is anything I can clarify!
outfile.write(u1_out,u2_out,eta_frac_out,pi_out,div1,div2,ent_out)
Beta Was this translation helpful? Give feedback.
All reactions