
[Sponsors] 
March 13, 2009, 06:47 
Hi Bin!
Try to use central

#21 
Senior Member

Hi Bin!
Try to use central differencing (linear) scheme instead of upwind on the convection. I think its more appropriate for your low Reynolds problem. Regards, Jose Santos 

March 13, 2009, 07:14 
Hi Santos,
Let me try CD sc

#22 
Senior Member

Hi Santos,
Let me try CD scheme, and report here later. Thank you. Bin 

March 13, 2009, 07:17 
Hi,Bin
From the first glanc

#23 
Senior Member
Hua Zen
Join Date: Mar 2009
Posts: 128
Rep Power: 10 
Hi,Bin
From the first glance of your files,I think you are "lazy",you should just copy it from some other place and never change it,just I do. After my searching the forum,I plan my next step is to change something in the two files.One suggestion is as Jose Luis Santos refer,using higher order scheme than upwind.Also if your velocity is small,you should change the tolerance of U,no guarantee to improve the result,but worth to try. For the third dimension size,I do not see any obvious improvement too,but I read this suggestion in the forum from the developer.Notice that what I mean is not that the third dimension size should be comparable to the size of the cylinder,but the size of the first grid around the cylinder. If I were you,I will not take the analytical results so serious,because the analytical result is indeed for a different case than what you are trying to simulate,except the Re number.It's not easy to evaluate how the assumptions in the analytical derivation affect Cd. 

March 13, 2009, 08:53 
Hi Bin
I would extract some

#24 
Senior Member
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Deltares, Delft, The Netherlands
Posts: 1,759
Rep Power: 29 
Hi Bin
I would extract some lines along the radial axes and compare these results with the analytical results. Then you will get a feel of the deviation between the simulated and analytical boundary layer. Especially, you could see if you boundary layer does not resolve the velocity gradient sufficiently good. Best regards, Niels
__________________
Please note that I do not use the Friendfeature, so do not be offended, if I do not accept a request. 

March 13, 2009, 11:55 
Hi Hua Zen and Niels,
Thank

#25 
Senior Member

Hi Hua Zen and Niels,
Thank you for your suggestions. As for "using higher order scheme than upwind"and "change the tolerance of U", I have made the following modification in fvSchemes and fvSolution files respectively: div(phi,U) Gauss linear; and p PCG { preconditioner DIC; tolerance 1e12; relTol 0.01; }; U PBiCG { preconditioner DILU; tolerance 1e12; relTol 0.1; }; However, I can not get converged results, pls see the log: Time = 69997 DILUPBiCG: Solving for Ux, Initial residual = 4.85479001865e05, Final residual = 1.67447473264e06, No Iterations 2 DILUPBiCG: Solving for Uy, Initial residual = 5.06896545828e05, Final residual = 4.71628738443e06, No Iterations 1 DICPCG: Solving for p, Initial residual = 0.00694162440303, Final residual = 6.92499552004e05, No Iterations 131 DICPCG: Solving for p, Initial residual = 6.90923506458e05, Final residual = 5.84082992343e07, No Iterations 51 DICPCG: Solving for p, Initial residual = 6.61152959367e07, Final residual = 5.78213683191e09, No Iterations 139 DICPCG: Solving for p, Initial residual = 2.11009841793e08, Final residual = 2.04101076342e10, No Iterations 143 time step continuity errors : sum local = 1.01832061429e21, global = 1.56519101488e22, cumulative = 1.18498523108e20 ExecutionTime = 793.5 s ClockTime = 794 s Time = 69998 DILUPBiCG: Solving for Ux, Initial residual = 2.48311765638e05, Final residual = 6.84772803551e07, No Iterations 3 DILUPBiCG: Solving for Uy, Initial residual = 5.02053441742e05, Final residual = 2.87853528472e06, No Iterations 2 DICPCG: Solving for p, Initial residual = 0.0157303895822, Final residual = 0.00014742581282, No Iterations 80 DICPCG: Solving for p, Initial residual = 0.000143716280743, Final residual = 1.35346045767e06, No Iterations 100 DICPCG: Solving for p, Initial residual = 1.35375298735e06, Final residual = 1.32050674117e08, No Iterations 147 DICPCG: Solving for p, Initial residual = 1.6946616575e08, Final residual = 1.56915506155e10, No Iterations 155 time step continuity errors : sum local = 5.00552481925e22, global = 9.11982162461e23, cumulative = 1.17586540945e20 ExecutionTime = 793.58 s ClockTime = 794 s Time = 69999 DILUPBiCG: Solving for Ux, Initial residual = 2.38077651352e05, Final residual = 1.4072658573e06, No Iterations 2 DILUPBiCG: Solving for Uy, Initial residual = 3.28876452124e05, Final residual = 4.36425209665e07, No Iterations 2 DICPCG: Solving for p, Initial residual = 0.00641424933856, Final residual = 5.78238685853e05, No Iterations 131 DICPCG: Solving for p, Initial residual = 4.82496305812e05, Final residual = 4.33324957724e07, No Iterations 43 DICPCG: Solving for p, Initial residual = 5.04520570041e07, Final residual = 4.57111751424e09, No Iterations 141 DICPCG: Solving for p, Initial residual = 1.18765927155e08, Final residual = 1.08764621832e10, No Iterations 100 time step continuity errors : sum local = 4.75227261696e22, global = 2.496705833e23, cumulative = 1.17836211529e20 ExecutionTime = 793.66 s ClockTime = 794 s Time = 70000 DILUPBiCG: Solving for Ux, Initial residual = 1.19519643247e05, Final residual = 4.75905856089e07, No Iterations 2 DILUPBiCG: Solving for Uy, Initial residual = 3.35627045824e05, Final residual = 2.95541142512e06, No Iterations 2 DICPCG: Solving for p, Initial residual = 0.00999944944465, Final residual = 9.12617320076e05, No Iterations 84 DICPCG: Solving for p, Initial residual = 9.23706787691e05, Final residual = 8.07128052817e07, No Iterations 103 DICPCG: Solving for p, Initial residual = 8.16857388457e07, Final residual = 8.09196470779e09, No Iterations 136 DICPCG: Solving for p, Initial residual = 1.61059066966e08, Final residual = 1.36627605826e10, No Iterations 140 time step continuity errors : sum local = 8.72091539644e22, global = 8.17798665568e23, cumulative = 1.17018412863e20 ExecutionTime = 793.76 s ClockTime = 794 s I do not know why the simulation cannot converge. Bin 

March 13, 2009, 12:39 
For the tolerance
Take this o

#26 
Senior Member
Hua Zen
Join Date: Mar 2009
Posts: 128
Rep Power: 10 
For the tolerance
Take this one for example: tolerance 1e12; relTol 0.01; You change only the "tolerance" ,not "relTol".If you check the user guide,you will know this the solver will stop if one of the two is satisfied. It seems in your log that the first one is never used. As for the scheme,if you still could not get converged result,I have seen somewhere in the forum that one would better first start some other scheme,and then second order.So you could try the simulation from the result of upwind result as a start. And in fact I have been considering your case.I do not know for your Re,whether some other physical process will be important.Since for your low Re and Re around 1100,both flows are laminar.If the model could get good result for 1100,then the model should be verified already.(Assume that the roundoff error not affect the result) I guess that the difference between your result and analytical result is because the assumption used in the analytical expression. 

March 14, 2009, 06:20 
Hi Hua Zen,
Really apprecia

#27 
Senior Member

Hi Hua Zen,
Really appreciate that you follow my post and give me some good suggestions. I will try to play around the "tolerance", "relTol" and "other scheme", in order to get converged results. I find my mesh is too coarse,at far away from the cylinder. Please follow David's suggestions, to read that paper: Title: Momentum and heat transfer from cylinders in laminar crossflow at 104 =< Re =< 200 Authors: Bogard D.D.; Garrison D.H.; Lange C.F.; Durst F.; Breuer M. If you could not get it, please let me know. From now on, I will go back to my micrometer size problem, in order to add my slip boundary code. Welcome to pay attention to my next following post. Best regards, Bin 

March 15, 2009, 07:10 
Dear all,
Can I ask one que

#28 
Senior Member

Dear all,
Can I ask one question about simpleFoam solver: when I set in the file constant/RASProperties: RASModel laminar turbulence off; what will be fvc::div(nuEff()*dev(fvc::grad(U)().T()) in laminar.C file? Is it 0? Why? Thank you for your attention. Bin 

March 15, 2009, 09:37 
Hello,
I know that fvc::div

#29 
Senior Member

Hello,
I know that fvc::div(nuEff()*dev(fvc::grad(U)().T()) =1/3*nuEff()*grad(div(U)), when it is incompressible flow, it equals to 0. Now my problem about why it does not converge goes to: 1. mesh quality; 2. div(phi,U), grad(p) and laplacian(nuEff,U) schemes for momentum equation. 3.laplacian((1A(U)),p), grad(p) schemes for pressure correction equation. Let me play with different schemes now. Thank you for your attention. Bin 

March 16, 2009, 02:55 

#30 
Senior Member

Dear Foamers,
This is a very nice platform. OpenFOAM becomes so nice. Thank you, organizers. As for my uniform flow around a cylinder, the cylinder radius is 1 micrometer, while upstream, downstream and top distance is 1000 micrometer now. I have tried to use central central difference scheme for the convective term instead of upwind, it works fine when the computational domain is small, however, it does not work for large computational domain like 1000micrometer or more. Therefore, I learn from some existing posts, use the following schemes for my low Re flow(Re<1): divSchemes { default none; div(phi,U) Gauss QUICKV cellLimited leastSquares 1.0; div(phi,k) Gauss QUICK cellLimited leastSquares 1.0; div(phi,epsilon) Gauss QUICK cellLimited leastSquares 1.0; div(phi,R) Gauss linear; div(R) Gauss linear; div(phi,nuTilda) Gauss QUICK cellLimited leastSquares 1.0; div((nuEff*dev(grad(U).T()))) Gauss linear; } What I get: DILUPBiCG: Solving for Ux, Initial residual = 1.03553200448e05, Final residual = 2.78983276507e08, No Iterations 3 DILUPBiCG: Solving for Uy, Initial residual = 1.72354405369e05, Final residual = 1.18743299709e07, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.000573905389101, Final residual = 5.57363086449e06, No Iterations 120 DICPCG: Solving for p, Initial residual = 5.54622914e06, Final residual = 5.3858588214e08, No Iterations 41 DICPCG: Solving for p, Initial residual = 7.90462819447e08, Final residual = 7.8670023242e10, No Iterations 75 DICPCG: Solving for p, Initial residual = 1.29586868496e08, Final residual = 1.1139023921e10, No Iterations 121 time step continuity errors : sum local = 2.72055609614e09, global = 4.27382015215e11, cumulative = 1.32480768615e06 ExecutionTime = 863.19 s ClockTime = 865 s Time = 12103 DILUPBiCG: Solving for Ux, Initial residual = 1.01795685162e05, Final residual = 1.72202544505e08, No Iterations 3 DILUPBiCG: Solving for Uy, Initial residual = 1.62845011413e05, Final residual = 9.25681206317e08, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.000638536334373, Final residual = 5.94425402805e06, No Iterations 71 DICPCG: Solving for p, Initial residual = 5.99149129924e06, Final residual = 5.72198099944e08, No Iterations 120 DICPCG: Solving for p, Initial residual = 7.1040362187e08, Final residual = 7.08878632619e10, No Iterations 130 DICPCG: Solving for p, Initial residual = 1.20902645837e08, Final residual = 1.11660344159e10, No Iterations 120 time step continuity errors : sum local = 2.62896976359e09, global = 6.26439641475e11, cumulative = 1.32487033011e06 ExecutionTime = 863.27 s ClockTime = 865 s Time = 12104 DILUPBiCG: Solving for Ux, Initial residual = 1.01807516553e05, Final residual = 3.37481036812e08, No Iterations 3 DILUPBiCG: Solving for Uy, Initial residual = 1.60627753132e05, Final residual = 1.15491299036e07, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.000459795854851, Final residual = 4.52798245098e06, No Iterations 115 DICPCG: Solving for p, Initial residual = 4.53882529717e06, Final residual = 4.08024951933e08, No Iterations 47 DICPCG: Solving for p, Initial residual = 5.52843066809e08, Final residual = 5.38876565464e10, No Iterations 120 DICPCG: Solving for p, Initial residual = 1.13196894953e08, Final residual = 1.08566361529e10, No Iterations 118 time step continuity errors : sum local = 2.41694994532e09, global = 2.34079605543e10, cumulative = 1.32463625051e06 ExecutionTime = 863.34 s ClockTime = 865 s Time = 12105 DILUPBiCG: Solving for Ux, Initial residual = 1.02192542903e05, Final residual = 4.30670523412e09, No Iterations 4 DILUPBiCG: Solving for Uy, Initial residual = 1.62224420005e05, Final residual = 1.1355526897e07, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.00062791611302, Final residual = 5.75405936012e06, No Iterations 118 DICPCG: Solving for p, Initial residual = 5.78040635386e06, Final residual = 5.73131777609e08, No Iterations 46 DICPCG: Solving for p, Initial residual = 7.83562369839e08, Final residual = 7.8192729193e10, No Iterations 121 DICPCG: Solving for p, Initial residual = 1.25884982906e08, Final residual = 1.17843703303e10, No Iterations 126 time step continuity errors : sum local = 2.47922039251e09, global = 3.53202238733e10, cumulative = 1.32428304827e06 ExecutionTime = 863.41 s ClockTime = 865 s Time = 12106 DILUPBiCG: Solving for Ux, Initial residual = 1.02939664929e05, Final residual = 4.28857709447e08, No Iterations 4 DILUPBiCG: Solving for Uy, Initial residual = 1.62688567487e05, Final residual = 1.36293849551e07, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.000538634222647, Final residual = 5.34445751033e06, No Iterations 61 DICPCG: Solving for p, Initial residual = 5.38257563201e06, Final residual = 5.36484980642e08, No Iterations 122 DICPCG: Solving for p, Initial residual = 8.34912517693e08, Final residual = 8.2879980719e10, No Iterations 70 DICPCG: Solving for p, Initial residual = 1.30555418797e08, Final residual = 1.28991063003e10, No Iterations 117 time step continuity errors : sum local = 2.37604132027e09, global = 2.74819423606e10, cumulative = 1.32455786769e06 ExecutionTime = 863.48 s ClockTime = 865 s Time = 12107 DILUPBiCG: Solving for Ux, Initial residual = 1.03387025777e05, Final residual = 2.75179481283e08, No Iterations 4 DILUPBiCG: Solving for Uy, Initial residual = 1.66393167178e05, Final residual = 1.3199226195e07, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.000526005312335, Final residual = 5.24477342292e06, No Iterations 125 DICPCG: Solving for p, Initial residual = 5.62805031808e06, Final residual = 5.0483500148e08, No Iterations 44 DICPCG: Solving for p, Initial residual = 6.41034682407e08, Final residual = 6.3426681675e10, No Iterations 119 DICPCG: Solving for p, Initial residual = 1.11918294544e08, Final residual = 1.08216553477e10, No Iterations 127 time step continuity errors : sum local = 2.29118741072e09, global = 4.98494068734e10, cumulative = 1.32505636176e06 ExecutionTime = 863.55 s ClockTime = 865 s Time = 12108 DILUPBiCG: Solving for Ux, Initial residual = 1.02048007513e05, Final residual = 2.61609759552e08, No Iterations 3 DILUPBiCG: Solving for Uy, Initial residual = 1.66144139216e05, Final residual = 9.40048099447e08, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.000504044545101, Final residual = 4.16061686449e06, No Iterations 126 DICPCG: Solving for p, Initial residual = 4.27252809065e06, Final residual = 4.17187473555e08, No Iterations 46 DICPCG: Solving for p, Initial residual = 6.56098091566e08, Final residual = 6.27565825808e10, No Iterations 120 DICPCG: Solving for p, Initial residual = 1.35910212776e08, Final residual = 1.25093758127e10, No Iterations 122 time step continuity errors : sum local = 2.44065654584e09, global = 5.19977423449e10, cumulative = 1.32557633919e06 ExecutionTime = 863.62 s ClockTime = 865 s Time = 12109 DILUPBiCG: Solving for Ux, Initial residual = 1.0260817769e05, Final residual = 2.37941701208e08, No Iterations 3 DILUPBiCG: Solving for Uy, Initial residual = 1.67815495455e05, Final residual = 1.18564614583e07, No Iterations 3 DICPCG: Solving for p, Initial residual = 0.000596011848656, Final residual = 5.05137334017e06, No Iterations 120 DICPCG: Solving for p, Initial residual = 5.028472864e06, Final residual = 4.52981055293e08, No Iterations 47 DICPCG: Solving for p, Initial residual = 6.27294616621e08, Final residual = 5.98383839521e10, No Iterations 122 DICPCG: Solving for p, Initial residual = 1.17453754585e08, Final residual = 1.16917997412e10, No Iterations 111 time step continuity errors : sum local = 2.49175931067e09, global = 2.4882672876e11, cumulative = 1.32560122186e06 ExecutionTime = 863.7 s ClockTime = 865 s As we could see from the above log file, the residual of p fluctuates, but no converge. If anyone has some suggestions, welcome. Best regards, Bin 

March 16, 2009, 06:14 

#31 
Senior Member
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 16 
More important than the residuals, perhaps, is what your solution looks like. Have you tried monitoring the values for your solution at different points? How does the solution change?
__________________
Laurence R. McGlashan :: Website 

March 16, 2009, 12:18 

#32 
Senior Member

Hi McGlashan,
Thank you for your suggestions. As you said, we should rely on the stability of the parameters (u, or p) at some sampling positions. Also when we increase the deltaT, we can find bigger residual. However, my problem now is:when my computational domain becomes larger and larger, the residual is the order of 10^(2) and the residual for p just fluctuates. I can not report my simulated results to my professor with such bad residuals. therefore I need to try suitable discretisation schemes (the mesh is ok through checkMesh utility). BTW, welcome for further advice. I will post my residual plot, as well as U velocity at some sampling position, if I can not find a suitable way out after several days. Thank you again, McGlashan. Bin 

March 16, 2009, 15:47 

#33 
Senior Member

Dear all,
Today Mr. Santos pointed out that there maybe something wrong in my mesh, and he is right. Thank you. Why I made such a mistake using blockMesh? I follow the equation of U38, under "2.1.6.2 Changing time and time step", so that I get the expression of the minimum size of the cell. Here I would like to share with you, after I check very carefully, when R>1, this expression is not correct. The correct one for R>1 should be: delta_xs=L*(R^(1/(n1))1)/(R^(n/(n1))1) Just for your information. Hi, Santos, thank you again. Bin 

March 20, 2009, 05:52 

#34 
Senior Member

Dear Foamers,
Would you mind if I attach my test case here, because I still have a problem about convergence. Best regards, Bin Last edited by zhoubinwx; March 20, 2009 at 06:00. Reason: The attached file is wrong 

March 20, 2009, 11:17 

#35 
Senior Member

One question to myself: is symmetry boundary condition on the top of the computational domain is right? Is it because of this boundary condition that my simulation does not converge?(But if I remember well, when the upstream, downstream and top distances are small, I could get converged results, when they become large and I add more grids correspondingly, no converge...)


March 20, 2009, 11:57 

#36 
Senior Member
Hua Zen
Join Date: Mar 2009
Posts: 128
Rep Power: 10 
If I were you.
1. More grid around the cylinder 2. change the residual to smaller value what is the distance from you first grid to the cylinder? 

March 20, 2009, 19:01 

#37 
Senior Member

Hi Lin,
Thank you for your advice. I am generating and checking again the mesh quality very carefully with blockMesh. Your suggestion of "More grid around the cylinder" is reasonable. although I have already 40 cells on the half cylinder(radius=1micrometer); As for "change the residual to smaller value", I have set very lower residuals for both p and U. They are of the order 10^12. Your question: what is the distance from you first grid to the cylinder? Ans: the distance of my "first grid"(if you mean inlet) to the cylinder is 2000 micrometer; if you mention "first grid" as the grid near the cylinder, then the distance equals to the cell length on the cylinder surface. I will try my best to eliminate the mesh quality problem.... Thank you agian, Lin. Bin 

March 24, 2009, 15:01 

#38 
Senior Member
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 16 
I'm quite interested in this, I had similar problems to you but never really had time to sort it out:
See this thread My drag coefficient would keep increasing. I only get this behaviour for flow around a cylinder. When I did it for a square cylinder I had no such problems.
__________________
Laurence R. McGlashan :: Website 

March 27, 2009, 03:04 

#39 
Senior Member

Hi, Mr. McGlashan,
I have read your post in the above post. I'm lucky we are on the same boat Recently I have tried to use grading mesh around the the cylinder, after I take a look at these mesh, I could see they aspect ratio is quite good near cylinder. Would you please try to calculate the minimum and maximum size of the mesh between your cylinder and out fictious "cylinder"? So that we know R=max/min, and since we know the distance between these two cylinders, we can get how many cells we need from the equation in UserGuide.pdf case. I can get better converged result, the only problem I have now is as long as time goes on, Cd decreases. Good luck. Bin P.S. you could also send me your test case, so that we may try together. 

March 27, 2009, 06:14 

#40 
Senior Member

Hi there!
Allow me to enter your boat, now I am studying creeping flow around a sphere, Reynolds = 0.1. I will be glad to keep up with your progress, and I will keep you up to date with mine as well. I have run 2 preliminary simulations, the first having the sphere radius 1/10 of the channel height, and the second 1/20. The computed Cd deviates 12% and 8% respectively from Stokes law (24/Re). Regards, Jose Santos 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Air flow over a cylinder  momentum_waves  Main CFD Forum  1  November 17, 2008 21:54 
Flow over a flat plate & Flow over a cylinder  cfdxue  Main CFD Forum  0  November 27, 2007 00:26 
propeller in nonuniform flow  ubik  Main CFD Forum  0  February 20, 2007 07:28 
Is an uniform flow possible for this geometry?  Michael Hu  FLUENT  1  April 13, 2006 22:11 
Cylinder In Jet Flow  patrick raj  CFX  2  September 24, 2005 02:43 