CFD Online Discussion Forums

CFD Online Discussion Forums (
-   FLUENT (
-   -   Cylindrical Pipe (

bf3g10 February 6, 2013 10:01

Cylindrical Pipe
I have modelled a cylindrical pipe on the order of microns to simulate a microfluidic, incompressible, isothermal flow as you would when you're first starting out with Fluent.

Naturally, a sensible way to analyse the velocity profile is via the Hagen-Poiseuille equation and I determined that with an inlet pressure of 1Pa and a pipe radius of 100 microns and length of 2mm, that the maximum velocity in the centre of the pipe should be roughly 3x10^-4 m/s.

After simulation, the maximum velocity appears to be 2.534x10^-2 m/s; which is roughly a 100 times faster!

I've double checked my boundary conditions and fluid properties (I should mention that it is simply water) and they appear to be okay. Inlet pressure set at 1Pa; outlet pressure at 0Pa; no-slip at walls; dynamic viscosity of water at 10^-3 Pas and density of 1000kg/m^3.

I've also tried mucking about with the solution methods, in particular between standard, linear and second order settings for pressure and momentum and they all appear to be giving the same results.
Presumably I must be missing something obvious. Any suggestions would be much appreciated.

RodriguezFatz February 6, 2013 10:51

Hi! Can you post a picture of your grid and of the residuals?
Also: Did you try how sensitive the result is to changes in pressure drop?

flotus1 February 6, 2013 10:53

Two pressure boundary conditions are not the easiest setup to achieve convergence.

I would start out with velocity inlet and pressure outlet.
Set the inlet velocity to a value from which you would expect a pressure drop of 1Pa along the pipe length.

Now you can cross-check the actual pressure drop in your simulation with what you expected.
This is actually just the other way round than what you did, but I would trust the results from a velocity/pressure setup more in the first place.

BTW: What kind of mesh do you use? real 3D or 2d-axisymmetric?

RodriguezFatz February 6, 2013 11:44

And after you did what flotus said, you need to rerun the simulation with a correct profile for the velocity.

bf3g10 February 6, 2013 12:01

2 Attachment(s)
Thanks for getting back to me so soon!

Mesh and screenshot of residuals while calculation was taking place. The solution manages to converge within 909 iterations although the residuals where set under Monitors -->Residuals-->edit for the continuity and x,y,z velocity equations as 0.001 which were default. Could that perhaps be the reason? Residuals set too high?

I haven't thought of doing it that way. I'll have a go and get back to you. And I've set up a 3d mesh: tetrahedrons and body sizing with element size of 1x10^-5m

flotus1 February 6, 2013 12:42

The residuals definetly are too high for such a simple case.
With double precision, you can get them down to ~10^-15 with a high quality mesh. So I recommend more Iterations.
If this takes too long, switch to a 2D axisymmetric domain.

Did you cross-check the dimensions of your domain in fluent?
If you wanted micrometers but got millimeters, this could explain the higher velocity.

bf3g10 February 6, 2013 13:16

I've just tried setting a velocity inlet boundary condition instead of a pressure inlet to 3.125x10^-4 m/s which is what I would expect for a pressure drop of 1Pa along the length of the pipe. Of course, this is the maximum (centerline) velocity that I am inputting.
Having proceeded with the same steps towards the solution, it converged after 1 iteration! After looking at the velocity vector plot on CFD Post, it appears that the velocity magnitude is decreasing linearly just like the pressure in a pipe! This cannot be right for sure. Could you elaborate if this is what you meant?

The domain extent appears to be well within the physical limits of the model after checking the mesh with Fluent.

I have also tried decreasing the residual amount by a thousand to 10^-6 (with pressure inlet boundary condition). This yielded a slightly more promising maximum velocity value of 1.7x10^-2 m/s. A touch of an improvement to 2.5x10^-2 m/s.

I am now currently running a calculation under double precision with residuals of 10^-12.

edit: Okay, it appears that the equations had reached such a point that they were no longer converging at they level off so I stopped the calculation. The max velocity value appears to be the same as above - 1.7x10^-2 m/s

flotus1 February 6, 2013 15:19

I guess you are still using the pressure boundary conditions.
The tet mesh might be responsible for the low velocity. With a pure tet mesh, there is no need to run double precision because the errors introduced by the poor mesh quality are several magnitudes higher than the roundoff errors.
I recommend a 2d axisymmetric domain once more.

bf3g10 February 7, 2013 12:12

Okay, I've modelled the pipe in two dimensions by following Cornell University's laminar pipe tutorial ( closely but with my own parameters.
I have tried both boundary condition methods (pressure inlet and velocity inlet) however with the pressure inlet case (inlet pressure = 1Pa, outlet pressure = 0Pa) I am still getting velocity values of 1.7x10^-2 m/s.
With the velocity inlet set as 3.125x10^-4 m/s, after solving and plotting a pressure contour, the pipe experiences a linear drop of 3.83x10^-2 Pa, not 1Pa which I was expecting.

Pressure and velocity values from Hagen-Poiseuille analysis appear to be mutually exclusive variables according to my simulations in Fluent...

RodriguezFatz February 7, 2013 15:30

Im wondering if the differences come from the fact, that the analytical formulas describe a fully developed flow, whereas your simulations start (at the inlet) with some completely unphysical values. If you use a velocity inlet, you set a constant velocity along the complete radius. This is not how a pipe profile looks like. If you set a pressure inlet, you do the same wrong thing with the pressure. Now, why do you expect the results to hit the forumlas, when you don't use physical bcs?

flotus1 February 8, 2013 04:51

I just set up the case myself:
  • Pipe Radius: 10^-4 m
  • Pipe Length: 2*10-3 m
  • Dynamic viscosity: 1*10^-3 kg/(m s)
  • Pressure difference: 1 Pa
The result is a perfect parabola for the streamwise velocity throughout the pipe with a maximum of 1.25*10^-3 m/s.
I recommmend you check the analytic values again.

RodriguezFatz February 8, 2013 05:20

How did you set up the inlet?

flotus1 February 8, 2013 05:23

I tried both pressure inlet / pressure outlet and a periodic boundary condition with pressure difference. Same results.
Since pressure is (almost) constant in radial direction, the pressure boundary condition introduces only a small error source.

RodriguezFatz February 8, 2013 05:40

Same results here... (3d case).

BTW: It took quite a time until the streamwise velocity started to converge. Is this due to the pressure-inlet + outlet?

flotus1 February 8, 2013 06:19

Yes, that is what i meant in my initial post. Pressure/pressure setups converge slower than velocity/pressure.
With a velocity inlet, my setup reaches round-off accuracy after around 300 Iterations with single precision.
The pressure/pressure case takes around 800 Iterations.

Edit: I used a 2D axisymmetric domain.

RodriguezFatz February 8, 2013 06:22

Also, equations from wikipedia give the same maximum velocity. As flotus already wrote: something strange happend in your calculation.

bf3g10 February 8, 2013 08:46

1 Attachment(s)
Okay, I've tried flotus' setup and achieved the same predictable incorrect results that I have always been getting. I used a 3d, half cylinder model with defined symmetry, inlet and outlet faces.

I have tried a pressure/pressure bc setup with 1Pa inlet and 0Pa outlet and achieved this velocity vector plot (image attached).

What am I doing different to you guys?

I guess I could try considering entrance effects as Rodriguez has suggested and adjust the physical model accordingly...

RodriguezFatz February 8, 2013 09:02

Hear ye! This is an error that only appears when you at least double check your fluid properties. When you want to use a certain fluid be sure you actually switched it on in Fluent!

bf3g10 please go to Solution Setup->Cell Zone Conditions->'your fluid'->Edit...->Material Name
and change it from air to water.

bf3g10 February 8, 2013 09:13

Oh my goodness. So so embarrassing! Such a schoolboy error!
I've been sat here facepalming the past 5 minutes.
Thanks so much Rodriguez and flotus for being patient with me!

RodriguezFatz February 8, 2013 09:19

I did that several times. One of the good old-fashioned mistakes ;)
Also one of the nice errors is to mesh in ICEM and forget to scale the mesh to mm...

All times are GMT -4. The time now is 04:00.