Re: [firedrake] Pressure outlet boundary condition in plane poiseuille flow
Oh yeah, I temporarily forgot about viscosity! I'm so used to developing inviscid models... --cjc On 22 April 2016 at 20:56, Kramer, Stephan <s.kramer@imperial.ac.uk> wrote:
On 22/04/16 18:49, Colin Cotter wrote:
OK, are you trying to match an analytical solution?
I think it depends on whether you integrated by parts in the grad term, or the divergence. If you integrated by parts in the grad term, then you can get the 0 pressure boundary condition naturally i.e. without setting anything.
all the best --cjc
To add to that, the natural ("do nothing") boundary condition leads to a zero stress condition. This is I think also where the difference between including and excluding the grad-div term comes from. The tangential component of stress is different (dv/dx vs. dv/dx+du/dy) and is not sufficiently constrained by the boundary conditions. If you include the grad-div term the tangential stress is non-zero and so you either have to explicitly add that as a boundary term to weakly enforce the correct value of dv/dx+du/dy, or you apply a strong dirichlet on the tangential component of velocity. Without the grad-div term the "do-nothing" bc for the tangential stress automatically enforces dv/dx=0.
Cheers Stephan
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
-- http://www.imperial.ac.uk/people/colin.cotter www.cambridge.org/9781107663916
Thank you all for the responses. Colin: you're right no need to specify zero pressure strongly. Yes I'm checking against exact solution U_x = y(1-y), U_y = 0. Stephan: I think I understand what you mean but can you just check below. I have tried specifying tangential velocity on the boundary strongly - that did not work (solution just didn't anything like the exact). So I tried adding the boundary integral term into the formulation weakly following the reasoning below: [cid:ac887fc4-72ca-4e5f-b746-3bf596f810e0] when I include that term, however the L2 norm drops only by a half (and I still get vertical flow near boundary), that is: without the boundary integral term L2 = 0.00677501099488 with the boundary term L2 = 0.00339740206367 excluding the (d v_j / d x_i ) term by hand gives L2 = 5.86838100481e-14 ... I must be doing something wrong. ________________________________ From: firedrake-bounces@imperial.ac.uk <firedrake-bounces@imperial.ac.uk> on behalf of Colin Cotter <colin.cotter@imperial.ac.uk> Sent: 23 April 2016 08:56 To: firedrake Subject: Re: [firedrake] Pressure outlet boundary condition in plane poiseuille flow Oh yeah, I temporarily forgot about viscosity! I'm so used to developing inviscid models... --cjc On 22 April 2016 at 20:56, Kramer, Stephan <s.kramer@imperial.ac.uk<mailto:s.kramer@imperial.ac.uk>> wrote: On 22/04/16 18:49, Colin Cotter wrote:
OK, are you trying to match an analytical solution?
I think it depends on whether you integrated by parts in the grad term, or the divergence. If you integrated by parts in the grad term, then you can get the 0 pressure boundary condition naturally i.e. without setting anything.
all the best --cjc
To add to that, the natural ("do nothing") boundary condition leads to a zero stress condition. This is I think also where the difference between including and excluding the grad-div term comes from. The tangential component of stress is different (dv/dx vs. dv/dx+du/dy) and is not sufficiently constrained by the boundary conditions. If you include the grad-div term the tangential stress is non-zero and so you either have to explicitly add that as a boundary term to weakly enforce the correct value of dv/dx+du/dy, or you apply a strong dirichlet on the tangential component of velocity. Without the grad-div term the "do-nothing" bc for the tangential stress automatically enforces dv/dx=0. Cheers Stephan _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake -- http://www.imperial.ac.uk/people/colin.cotter www.cambridge.org/9781107663916<http://www.cambridge.org/9781107663916> [http://assets.cambridge.org/97811076/63916/cover/9781107663916.jpg]
On 23/04/16 13:20, Fryderyk Wilczynski wrote:
Thank you all for the responses.
Colin: you're right no need to specify zero pressure strongly. Yes I'm checking against exact solution U_x = y(1-y), U_y = 0.
Stephan: I think I understand what you mean but can you just check below. I have tried specifying tangential velocity on the boundary strongly - that did not work (solution just didn't anything like the exact). So I tried adding the boundary integral term into the formulation weakly following the reasoning below:
[cid:ac887fc4-72ca-4e5f-b746-3bf596f810e0]
I think your i and j might be swapped: nabla_grad(v)[j, i] means dv_i/dx_j whereas your formula (correctly) has dv_j/dx_i. Also, I'm not entirely sure what you mean by "minus sign as n points inside the domain". Both your formulas and FacetNormal are using outward pointing normals Cheers Stephan
That worked, i and j were the wrong way round. Thank you for spotting that. For some reason I also thought n was an inward pointing vector. ________________________________________ From: firedrake-bounces@imperial.ac.uk <firedrake-bounces@imperial.ac.uk> on behalf of skramer <s.kramer@imperial.ac.uk> Sent: 23 April 2016 13:50 To: firedrake@imperial.ac.uk Subject: Re: [firedrake] Pressure outlet boundary condition in plane poiseuille flow On 23/04/16 13:20, Fryderyk Wilczynski wrote:
Thank you all for the responses.
Colin: you're right no need to specify zero pressure strongly. Yes I'm checking against exact solution U_x = y(1-y), U_y = 0.
Stephan: I think I understand what you mean but can you just check below. I have tried specifying tangential velocity on the boundary strongly - that did not work (solution just didn't anything like the exact). So I tried adding the boundary integral term into the formulation weakly following the reasoning below:
[cid:ac887fc4-72ca-4e5f-b746-3bf596f810e0]
I think your i and j might be swapped: nabla_grad(v)[j, i] means dv_i/dx_j whereas your formula (correctly) has dv_j/dx_i. Also, I'm not entirely sure what you mean by "minus sign as n points inside the domain". Both your formulas and FacetNormal are using outward pointing normals Cheers Stephan _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
participants (3)
- 
                
                Colin Cotter
- 
                
                Fryderyk Wilczynski
- 
                
                skramer