Flow Over a cylinder: Properties not conserved
4 Attachment(s)
Hello all,
I am trying to simulate flow over a cylinder for a validation as I am new to CFD. I am simulating at a Reynolds number of 150. Essentially what happens is everything is going fine, and then after a certain amount of time, all the flow properties (U and p in this case) skyrocket and the simulation crashes. I have attached a few pictures of the pressure in my simulation that may help explain what is happening. Below is also a printout of my U and p files respectively: Velocity File: dimensions [0 1 1 0 0 0 0]; internalField uniform (11.76e4 0 0); //Re=150 for Air boundaryField { inlet { type fixedValue; value uniform (11.76e4 0 0); } backOutlet { type zeroGradient; } cylinder { type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } topOutlet { type fixedValue; value uniform (11.76e4 0 0); } bottomOutlet { type fixedValue; value uniform (11.76e4 0 0); } Pressure File: dimensions [0 2 2 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type fixedValue; value uniform 0; } backOutlet { type zeroGradient; } cylinder { type zeroGradient; } frontAndBack { type empty; } topOutlet { type fixedValue; value uniform 0; } bottomOutlet { type fixedValue; value uniform 0; } If anyone has any suggestions for this problem that would be really appreciated! Thanks in advance J 
Has anyone any thoughts on this? I'm pretty lost with this and would love any advice I could get.
Thanks J 
Hi! A few questions.
If it is a cilinder, why there´s this semicircunference in the inlet. By cylinder, you mean a pipe? If its a pipe, then the inlet should be straight, right? In this case i suggest that you initialize in the U boundary conditions the inletBoundary with (0 0 0), and in the inlet, the fixed value. Also, is you mesh 2D or 3D? Is your simulation incompressible? Laminar? Steadystate? Which solver are you using? 
Hi Fernando,
The semicircumference at the inlet was my way of decreasing the number of cells in my overall CV without having a negative effect on accuracy. And no it's not a pipe, if you look at the pictures you will see a small cylinder (1/2 way in the ydirection, about 1/3 way in the xdirection) that is the cylinder in question. The flow is going left to right in the picture. The mesh is 2D, the flow is incompressible, laminar (Re=150) and I am using the transient laminar solver icoFoam. Do you have any suggestions for why it may be doing this? I was actually thinking the error may be in my numerical schemes, in that I am using a central differencing method when may not be appropriate for this type. I figured that the flow velocity was low enough (u = 11.76e4m/s to give Re=150 for air) that convection wasn't going to be a concern but maybe I'm wrong. Any thoughts on this? Perhaps I need to use an upwind or hybrid scheme? Thanks J 
Hi Jeff,
I'd suggest using different BC's for p. You might try to give a fixedValue at your backOutlet only and zeroGradient elsewhere. Regards, Stefan 
Hi Stefan,
I am worried that by using a fixedValue for my outlet then it would unrealistically dampen my karman vortex street as it calculate the flow field as if the flow was uniform at the outlet, which is probably unrealistic. What do you think using a fixedValue over zeroGradient would help? Thanks J 
Upper and Lower Boundaries
Hi jeff osborne
Would you please tell me why you choose outlet for upper and lower boundaries? I think if this boundaries are so far from cylinder you cane use symmetry or wall with zero shear rate for them. I used this boundary conditions in my M.Sc. thesis that was similar to yours and got answer. Good luck Best regards Ata 
Hi ata,
I was just trying to make the simulation as close to reality as I could. I made the assumption that far from the body the flow would be unaffected by the cylinder so I gave it the same properties as the inlet. Why do you think using a wall or a symmetry plane would be more effective? Thanks Jeff 
Flow Over a cylinder
Hi jeff osborne
I think it is better because I got answer from it in my M.Sc thesis and because it seems my bondary condition is more physical because at upper and lower boundaries no flow is exiting. Good luck Best regards Ata 
Ata,
Wouldn't using a fixedValue at the top and bottom also be a BC that doesn't allow for exiting flow? You could think of it like a moving wall. I can see why zeroGradient wouldn't be accurate, but I don't quite understand why a fixedValue wouldn't be. Perhaps you can shed some light on this. Thanks Jeff 
Flow Over a cylinder
Hi jeff
I don't mean that my boundary conditions are correct and your are incorrect. I mean maybe my boundary conditions are more stable and physical. Did you examine them yet? Good luck Best regards Ata 
I'll give it a shot and see how they compare. I'll repost when I find out

ata,
I ran it with symmetry planes and compared it to other results I obtained with different BCs. Here are the 0/p and 0/U files for each case. They were run on the same size mesh, with the same total elapsed time, and the same time steps, same everything except the BCs, and at Re = 150. 0/p (for the 1st case wo symmetry plane) internalField uniform 0; boundaryField { inlet { type fixedValue; value uniform 0; } backOutlet { type fixedValue; value uniform 0; } cylinder { type zeroGradient; } frontAndBack { type empty; } topOutlet { type zeroGradient; } bottomOutlet { type zeroGradient; } } 0/U (no symmetry plane) internalField uniform (11.76e4 0 0); //Re=150 for Air boundaryField { inlet { type fixedValue; value uniform (11.76e4 0 0); } backOutlet { type zeroGradient; } cylinder { type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } topOutlet { type fixedValue; value uniform (11.76e4 0 0); } bottomOutlet { type fixedValue; value uniform (11.76e4 0 0); } } ___________________________________________ 0/p (symmetry plane) internalField uniform 0; boundaryField { inlet { type fixedValue; value uniform 0; } backOutlet { type fixedValue; value uniform 0; } cylinder { type zeroGradient; } frontAndBack { type empty; } topOutlet { type symmetryPlane; } bottomOutlet { type symmetryPlane; } } 0/U (symmetry plane) internalField uniform (11.76e4 0 0); //Re=150 for Air boundaryField { inlet { type fixedValue; value uniform (11.76e4 0 0); } backOutlet { type zeroGradient; } cylinder { type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } topOutlet { type fixedValue; value uniform (11.76e4 0 0); } bottomOutlet { type fixedValue; value uniform (11.76e4 0 0); } } _______________________________________________ So, the results: Without symmetry plane: Cd = 1.20 = 11.14% off actual (from a resource I have) Cl = 0.393 = 8.46% off (fluctuating Cl that is this is the magnitude) St = 0.161 = 6.70% off With symmetry Plane Cd = 1.22 = 8.77% off Cl = 0.402 = 10.49% off St = 0.167 = 3.01% off So, conclusions, I have no idea to be honest. Better numbers with drag coefficient and strouhal number, worse on the coefficient of lift. What's more accurate, probably hard to say at this point. Might become more clear with a finer mesh and performing it at multiple Reynolds numbers. At this point I would say that either is a pretty viable option. Thanks for all your help, it was very much appreciated J 
What time discretization scheme are you using. Remember the pure CrankNicholson can be very unstable. Backward is a better choice. Also what does checkMesh say about your grid?

I think atas suggestion was to imply a symmetryPlane BC on velocity, not on pressure. For pressure zeroGradient should work.
Luise 
Inlet pressure cannot be set to zero. You have to have positive press. difference in the direction of the flow. use zeroGradient at inlet and fixedValue = 0 at outlet for p.

Or just set zeroGradient for p everywhere, fixed U at the inlet and pressureInletOutletVelocity with a specified tangential velcoity at the sides.
Be sure to set a reasonable pRef and reference cell in your PISO subdict. 
All times are GMT 4. The time now is 07:30. 