Poiseuille flow (steady) in 3D pipe

Asked by SAUVAGE Emilie on 2013-01-16

Dear Dolfin developpers,

Following the example given by the "navier-stokes" testcase on the L-shape domain (from the tutorials), I'm trying to create a Poiseuille testcase on the simple 3D pipe geometry(radius = 1, length = 10).
The testcase is written in C++ and the files (mesh+main+ParabolicBC+...) can be downloaded from this dropbox link:
https://www.dropbox.com/sh/dywee5e1v0mhu5i/iT5wUaBQyu

I'm prescribing the following boundary conditions:
* Wall = non-slip condition (sub-domain =1)
* Inlet = parabolic velocity (sub-domain = 3)
* Outlet = zero-pressure (sub-domain = 2)

Though the test case is stationnary, I'm using Chorin method (like in demo_navier_stokes) because I intend in the future to prescribe a time-varying profile at the inlet. Nevertheless I don't expect the solution to be different than a Poiseuille flow with this solver.
The time step increment is set to "dt = 0.05" and the final time to "T = 10".

Looking at the results of the simulation, it seems that the velocity profile at the inlet "expands" a bit like a fan (the velocity arrows diverge from the pipe axis), it stabilizes after a while but finally crashes for t = 6.1s (see pictures). Which I really don't understand. I was expecting the Poiseuille flow to develop all the way until the outlet and stay like this until the end of the simulation. Do you have any idea what I'm doing wrong in my files?

Thanks a lot for your help.

Best regards.

Emilie Sauvage.

Question information

Language:
English Edit question
Status:
Answered
For:
DOLFIN Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:

Hi Emilie,

For Poiseuille flow the pressure has a gradient on the inlet in the flow direction. In other words, for Chorin, that computes the total pressure (and not a pressure correction), you cannot simply neglect the exterior boundary term inner(grad(p), q*n)*ds.

See if adding that term on the inlet helps. You might want to put it on the rhs, not sure.

Best regards

Mikael

Den Jan 16, 2013 kl. 4:15 PM skrev SAUVAGE Emilie:

> New question #219339 on DOLFIN:
> https://answers.launchpad.net/dolfin/+question/219339
>
> Dear Dolfin developpers,
>
> Following the example given by the "navier-stokes" testcase on the L-shape domain (from the tutorials), I'm trying to create a Poiseuille testcase on the simple 3D pipe geometry(radius = 1, length = 10).
> The testcase is written in C++ and the files (mesh+main+ParabolicBC+...) can be downloaded from this dropbox link:
> https://www.dropbox.com/sh/dywee5e1v0mhu5i/iT5wUaBQyu
>
> I'm prescribing the following boundary conditions:
> * Wall = non-slip condition (sub-domain =1)
> * Inlet = parabolic velocity (sub-domain = 3)
> * Outlet = zero-pressure (sub-domain = 2)
>
> Though the test case is stationnary, I'm using Chorin method (like in demo_navier_stokes) because I intend in the future to prescribe a time-varying profile at the inlet. Nevertheless I don't expect the solution to be different than a Poiseuille flow with this solver.
> The time step increment is set to "dt = 0.05" and the final time to "T = 10".
>
> Looking at the results of the simulation, it seems that the velocity profile at the inlet "expands" a bit like a fan (the velocity arrows diverge from the pipe axis), it stabilizes after a while but finally crashes for t = 6.1s (see pictures). Which I really don't understand. I was expecting the Poiseuille flow to develop all the way until the outlet and stay like this until the end of the simulation. Do you have any idea what I'm doing wrong in my files?
>
> Thanks a lot for your help.
>
> Best regards.
>
> Emilie Sauvage.
>
> --
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.

Kent-Andre Mardal (kent-and) said : #2

The scheme is semi-implicitt and only conditionally stable. Have you made
sure that the time stepping
is appropriate?

Kent

On 16 January 2013 16:15, SAUVAGE Emilie <
<email address hidden>> wrote:

> New question #219339 on DOLFIN:
> https://answers.launchpad.net/dolfin/+question/219339
>
> Dear Dolfin developpers,
>
> Following the example given by the "navier-stokes" testcase on the L-shape
> domain (from the tutorials), I'm trying to create a Poiseuille testcase on
> the simple 3D pipe geometry(radius = 1, length = 10).
> The testcase is written in C++ and the files (mesh+main+ParabolicBC+...)
> can be downloaded from this dropbox link:
> https://www.dropbox.com/sh/dywee5e1v0mhu5i/iT5wUaBQyu
>
> I'm prescribing the following boundary conditions:
> * Wall = non-slip condition (sub-domain =1)
> * Inlet = parabolic velocity (sub-domain = 3)
> * Outlet = zero-pressure (sub-domain = 2)
>
> Though the test case is stationnary, I'm using Chorin method (like in
> demo_navier_stokes) because I intend in the future to prescribe a
> time-varying profile at the inlet. Nevertheless I don't expect the solution
> to be different than a Poiseuille flow with this solver.
> The time step increment is set to "dt = 0.05" and the final time to "T =
> 10".
>
> Looking at the results of the simulation, it seems that the velocity
> profile at the inlet "expands" a bit like a fan (the velocity arrows
> diverge from the pipe axis), it stabilizes after a while but finally
> crashes for t = 6.1s (see pictures). Which I really don't understand. I was
> expecting the Poiseuille flow to develop all the way until the outlet and
> stay like this until the end of the simulation. Do you have any idea what
> I'm doing wrong in my files?
>
> Thanks a lot for your help.
>
> Best regards.
>
> Emilie Sauvage.
>
> --
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.
>

Another thing, it's not physically realistic to start the velocity field from zero everywhere except on the inlet. Continuity is broken for sure. An option is to specify the pressure on the inlet as well as on the outlet. The flow will then develop, starting from zero. Another option is to use a constant pressure gradient as a body force and then specify periodic boundary conditions. As a final option you could also use something like u = (1 - exp(-time))*(1-r**2) on the inlet such that continuity is ok from the start.

Hope it works,

Best regards

Mikael

Den Jan 16, 2013 kl. 7:11 PM skrev Kent-Andre Mardal:

> Question #219339 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/219339
>
> Kent-Andre Mardal proposed the following answer:
> The scheme is semi-implicitt and only conditionally stable. Have you made
> sure that the time stepping
> is appropriate?
>
> Kent
>
> On 16 January 2013 16:15, SAUVAGE Emilie <
> <email address hidden>> wrote:
>
>> New question #219339 on DOLFIN:
>> https://answers.launchpad.net/dolfin/+question/219339
>>
>> Dear Dolfin developpers,
>>
>> Following the example given by the "navier-stokes" testcase on the L-shape
>> domain (from the tutorials), I'm trying to create a Poiseuille testcase on
>> the simple 3D pipe geometry(radius = 1, length = 10).
>> The testcase is written in C++ and the files (mesh+main+ParabolicBC+...)
>> can be downloaded from this dropbox link:
>> https://www.dropbox.com/sh/dywee5e1v0mhu5i/iT5wUaBQyu
>>
>> I'm prescribing the following boundary conditions:
>> * Wall = non-slip condition (sub-domain =1)
>> * Inlet = parabolic velocity (sub-domain = 3)
>> * Outlet = zero-pressure (sub-domain = 2)
>>
>> Though the test case is stationnary, I'm using Chorin method (like in
>> demo_navier_stokes) because I intend in the future to prescribe a
>> time-varying profile at the inlet. Nevertheless I don't expect the solution
>> to be different than a Poiseuille flow with this solver.
>> The time step increment is set to "dt = 0.05" and the final time to "T =
>> 10".
>>
>> Looking at the results of the simulation, it seems that the velocity
>> profile at the inlet "expands" a bit like a fan (the velocity arrows
>> diverge from the pipe axis), it stabilizes after a while but finally
>> crashes for t = 6.1s (see pictures). Which I really don't understand. I was
>> expecting the Poiseuille flow to develop all the way until the outlet and
>> stay like this until the end of the simulation. Do you have any idea what
>> I'm doing wrong in my files?
>>
>> Thanks a lot for your help.
>>
>> Best regards.
>>
>> Emilie Sauvage.
>>
>> --
>> You received this question notification because you are a member of
>> DOLFIN Team, which is an answer contact for DOLFIN.
>>
>
> --
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.

Jan Blechta (blechta) said : #4

Maybe it's turbulent:
  Re = Radius * V_max / nu = 1.0 * 1.2 / 0.0000034 = 3.5E5

You find here http://en.wikipedia.org/wiki/Turbulence that for Poiseuille flow turbulence begins in range ca. Re = 2000 ~ 3000

Can you help with this problem?

Provide an answer of your own, or ask SAUVAGE Emilie for more information if necessary.

To post a message you must log in.