For rectangular domains and vector Lagrange elements you just need to constraint one component for the normal. For example bc1 = DirichletBC(Z.sub(0).sub(0),value,(1,2)) #x component bc2 = DirichletBC(Z.sub(0).sub(1),value,(3,4)) #y component Not sure how you would do this for a more complicated geometry Justin On Thu, Nov 24, 2016 at 7:17 PM 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
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake