Hi Francis, That depends on the formulation of the equations. If you are using a streamfunction-vorticity formulation as for QG, then you need to set a zero boundary condition for the streamfunction, as a scalar. If you are using a velocity formulation based on H(div) spaces (BDM, RT etc.) then there are only u.n DOFs on the boundary, so setting: bcs = [DirichletBC(Z.sub(0), Constant((0, 0)), (blah,)), ... actually only sets the normal component. That's one of the reasons that I like these spaces for GFD. cheers --cjc On 25 November 2016 at 01:17, Francis Poulin <fpoulin@uwaterloo.ca> wrote:
Hello,
Sorry for the bother but I have a simple question to ask.
I am currently developing some code to solve for wind-driven gyres and basin modes using QG and SW. My question is how is it best to impose no-normal flow BCs,
$$\vec u \cdot \hat n = 0$$
for any boundary. I found this in the Navier-Stokes example which says that we should impose zero on particular boundaries. I guess that would work but if one had a more complicated geometry I imagine that would have it's problems.
bcs = [DirichletBC(Z.sub(0), Constant((1, 0)), (4,)), DirichletBC(Z.sub(0), Constant((0, 0)), (1, 2, 3))]
Any suggestions would be greatly appreciated.
Cheers, Francis ------------------ Francis Poulin Associate Professor Department of Applied Mathematics University of Waterloo
email: fpoulin@uwaterloo.ca Web: https://uwaterloo.ca/poulin-research-group/ Telephone: +1 519 888 4567 x32637
-- http://www.imperial.ac.uk/people/colin.cotter www.cambridge.org/9781107663916