Hello, everyone, I would like to ask a question. I solve the Stokes equation in a channel, the boundary conditions are as follows
There is a symmetry condition on the bottom boundary, how to implement this boundary condition? The symmetry condition looks like a combination of Dirichlet and Neumann boundary conditions.
This problem confuses me a lot, can anyone give me some suggestions on implementing the symmetry condition? I would appreciate any help you give me.
The minimum code
mesh Th=square(50,10,[5*x,y]);
plot(Th);
fespace Vh(Th,P2);
fespace Ph(Th,P1);
Vh u1,u2,v1,v2;
Ph p,q;
macro Eps(u,v) [ dx(u),dy(v), (dx(v)+dy(u))*0.5, (dx(v)+dy(u))*0.5 ] //
macro div(u1,u2) (dx(u1)+dy(u2) ) //
func pin=10000.0;
func pout=0.0;
solve Stokes( [u1,u2,p],[v1,v2,q] ) =
int2d(Th) ( 2*Eps(u1,u2)'*Eps(v1,v2) - div(v1,v2)*p -div(u1,u2)*q)
+int1d(Th,4)(pin*(v1*N.x+v2*N.y))+int1d(Th,2)(pout*(v1*N.x+v2*N.y))
+ on(3,u1=0,u2=0)
+ on(1,u2=0, dy(u1)=0;); //How to implement the symmetry condition ???
plot(p,fill=1);