Cd计算不准的问题-LES-Re3900-三维圆柱绕流-pisoFoam
-
各位OFer:
最近我在做三维圆柱绕流问题,但是Cd却无法和文献出现的数据相匹配,问题不知道出在什么地方。
下图中 蓝色曲线是drag系数历史,20个周期的平均值为1.3左右,Strouhal 0.20和文献非常接近。但是Cd却得到一个偏高的数值。网格是用ICEM按照Youtube上的视频一步步做的。首先生成的是二维网格,然后在span wise 的方向上伸长了32个节点,长度在 pi*D/2。 我用2维网格在ANSYS/FLUENT 17中做过测试,Re在3900的情况下,能满足Y+小于1。网格形态和文献中出现的矩形情况类似。 32节点的三维扩展,得到了的总网格数在5百万左右。 之后,我又做过补充测试64个span wise 的伸长,但是结果没有太大差别。
边界条件。 速度INLET,零压力OUTLET, noSlip 圆柱表面。 上下面是墙函数并且使用零剪应力条件,前后面是对称边界条件。之后,我还尝试了cyclic边界对于上,下,前和后面,结果还是没有太大差别。
时间步长取的是10^-4秒,求解器pisoFoam, SpalartAllmarasDDES LES 湍流模型,OpenFOAM v4.1 版本,硬件和操作系统是:24 cores/node, Memory per node 32 G, infiniband, AMD @2.1GHz CPU, Centos 6.8. 大部分是用144核并行计算。
0,constant和control文件如下:
10_1482345647509_U.txt 9_1482345647509_turbulenceProperties.txt 8_1482345647509_transportProperties.txt 7_1482345647509_p.txt 6_1482345647509_nuTilda.txt 5_1482345647509_nut.txt 4_1482345647509_k.txt 3_1482345647509_fvSolution.txt 2_1482345647509_fvSchemes.txt 1_1482345647509_decomposeParDict.txt 0_1482345647499_controlDict.txt大家有什么样的建议吗?
-
inlet 到圆柱中心距离是10倍的圆柱直径,outlet到圆柱中心是20D, 上下两个面距离是20D。
之前在FLUENT上用同一套网格做过3900的例子,Cd均值为1.1,WALE是LES的子网格。
别的子网格还没有尝试,我会尝试用别的子网格。
现在500万的网格正在尝试用更严格的收敛准则,10的负7次方对于所有变量。
-
@random_ran 圆柱长度用piD应该好点,你看看你算出入口的p是不是大?如果大就是入口和出口之间存在的压差对结果造成了影响,如果大就要对入口到圆柱之间的距离加大,或者适当调整一下网格。还有你看看你的courant number,我感觉这个不要太大,同样网格下,不同的courant number结果也会有不同。
-
@random_ran 不行,你就在试一试换一种网格画法,调整一下你的网格。
-
对于这个网格,个人感觉是能接受的。主要原因是用同样的网格用FLUENT跑出了1.1的Cd。
到目前为止,我其实还有很多地方不太明白。特别是边界条件的设置,离散格式的选取。
对于边界条件:
OF非常不友好。要在0文件中设置5个子文件。每一个子文件中k,p,U,nut 以及nuTilda 对每一个边界都要从头到尾设置。 这套边界条件的设置,特别是k,nut和nuTilda是基于教程里的摩托车算例。但是对于他们的物理意义理解就不如p和U那么明朗。比如k文件中的0.24取值:在inlet是fixedValue,在outlet是inletOut边界条件。 还比如nut和nuTilda文件的设置。我不清楚这些参数会对Cd有什么样的影响。另外对于cyclic 边界条件,我尝试过的是上,下,前 和后面,四个边界条件同时改成cylic,会不会是只用使用前后两个面cyclic,另外两个面用wall+zeroGradient?
对于时间的离散,我用的是一阶精度的backEuler,这个对比FLUENT有所不一样,FLUENT会主动提示你时间离散选用二阶以上精度。问题可能出在这么?
另外还有一个比较极端的想法,既然FLUENT能算出1.1,OF用同样的设置不行吗? 问题在于FLUENT的LES子网格我使用的WALE,OF的子网格有很多,难道说应该把主要精力放在LES的子网格上吗?
-
首先,祝大家新年快乐! 对一个月前的问题继续进行补充。
用了 dynamicKEq 的子网格,得到的阻力和升力系数如下:
计算还在继续,虽然现在只算了几个周期。Cd的均值在0.99左右,这个值和文献报道的数据非常接近了,但问题也很明显:居然出现了负的阻力系数。之前的模拟虽然Cd稍微偏高,但是阻力系数没有出现负值,甚至都没有下过1.00。网格是用的同一套,y+在1以下,Courant 最大值在整个过程中在0.2以下。
Lysenko, D. A. et al.(2012)同样用OpenFOAM进行了LES模拟三维圆柱绕流,其中他对比了两个子网格的不同,传统的SMAG以及dynamic k-equation(TKE)。论文中的Cd,Cl 历史如下:
。他们的TKE模型计算得到的Cd的r.m.s 值很小,和我的试算反差很大。查看fvSolution文件后,我怀疑是残差标准的设置可能会影响数值计算结果,所以会想办法提高标准后看结果怎么样。
另外一个比较头疼的问题是尾流的速度曲线:文献中出现的这根曲线,横轴是计算域中轴线(原点在圆柱中心);纵轴是进口速度方向上的速度大小,通常是非常平滑的,如下图:
而我的计算结果,请注意是黑色虚线那条:
虽然大体上类似,但是波动却非常明显,不知道这是什么原因造成的。我的采样点是从Cl的历史中,发现振荡稳定后,取了10个周期。 而上篇文献则取了150多个周期,这个问题的来源吗?或许大家有更好的见解?
-
换了计算域的形态,居然就能吻合得很好了。
Cd 均值 1.03; St 0.21; Cl_rms 0.20; 30个周期96核,只用了12个小时;
可是为什么之前矩形计算域,算出偏高的数值?
难道雷诺数一样,不同的流体性质,也会对计算结果产生影响? -
@random_ran 你这次只改了流场吗?你之前矩形的流畅有没有把过度的地方改一改,看看结果有影响吗?相同雷诺数,不同的流畅性质应该不会产生影响。
-
Hi yhdthu:
我的这个case没有重点关注涡量的绝对大小。主要考察的是平均Cd, Strouhal 数,recirculation的长度。 voriticiy 只是用三维等值面做了一下wake的结构。 不知道你的case 重点考察的对象是什么? 如果你能提供的一下你的涡量考察的座标,我可以把我的数据提供给你。
对于蓝色的线的Cd 我是把每个一个时间步长的Cd都输出来。这个Cd是平均的整个Cylinder的表面。 然后把每个时间点的Cd 对时间用matlab plot一下就是那张图了。
-
@random_ran
好的,谢谢你
第一个应该是用的DES模型计算的吧,我看帖子最上面的Cd随时间变化幅度很小,但是后面哪个用了动力模式做的Cd图波动很大,虽然均值基本上是和实验对得上的我的目的是想做空化模拟,但事前要先将湍流结构捕捉的较好才可以,目前二维试算用的是动力模式,Cd波动也很大,我不是每个时间步输出的结果,平均起来效果不是很好,可能是样本点太少了
可否将Cp曲线也po出来呢?还有其时间平均的定义,希望能做个参考,非常感谢
BTW,如果可以的话,加个微信好友,可以随时交流~358253794