lijingyuak 发表于 2016-12-29 08:59:05

求助分享帖——fluent求解船舶静水航行问题

本次cfd计算目的在于实验fluent软件对船舶dtmb5415在静水中以2.097m/s的速度(fn=0.28)航行时的阻力计算精度。网上国际船池上的总阻力数据为4.605kgf(45.17N),我校实验室也仿造了DTMB5415模型,总阻力为4.87kgf(47.726N),相差无几。我跟根据型线建立三维模型,先前导入STAR-CCM+进行网格划分和计算,计算结果为总阻力45.68N,其中摩擦阻力30.1N,压阻力15.56N(含舍入误差)。但学习用fluent计算船舶航行阻力时,一直得不到理想的结果。现将我近一个月以来的具体操作情况分享,望前辈们指点。

先是用icem划分网格,网格质量如下

几乎是在0.3以上,应该是可以计算的。

计算实验一:参考韩占中编的《fluent-流体工程仿真计算实例与分析》的2维算例
打开fluent导入网格,因为模型和网格是毫米为单位建立的,所以scale一下

变成长-15~15m,高-15~9,的长方体区域,check一下网格

solver选择瞬态

model设置:vof多相流,k-epslon RNG湍流模式


material添加水

phase设置:主相为空气,副相为水

cell zone condition设置:参考点设在空气的位置,设置重力加速度,勾选操作密度(不知道是什么。。。)

边界条件:inlet速度入口,outlet质量出口,sym面为对称面,船体为固定壁面边界,池底为移动固壁,其余是滑移壁面边界。





solution control里动量的松弛因子设置为0.1。默认是0.7,但动量方程计算发散,多次尝试降低松弛因子,在0.1时计算收敛。

monitor设置:多次经验,这里建议先不要打开力监视器,因为第一时间步的值总是算得不对且极大,可以先试算100步后,观察收敛与否再打开,监控hull和deck的受力。

solution Intialization:从入口初始化,觉得能比较好的防止发散和加速收敛。

Adapt>region>设置水的区域,因为模型0点在船型基线上,吃水为0.248m,所以设置如下,mark后关闭

然后“补丁”上水区域:

检查初始化水面

设置时间步长为:0.001s。如果后面收敛速度快了,可以适当逐步加大时间步长,否则容易发散。

残差控制调低一些,让其精度更高。

开始计算时残差逐步下降,然后在100步(0.1s)左右时收敛,之后收敛状况也不错。但是一段时间没管后回头看,发现残差 开始回升,且出现湍流极限或回流,相信不久就会发散。定下来观察气液交接,果然出错了。

如图所示,入口处有大量空气渗入,出现大量漩涡,感觉像是有限池水在摇晃(跟溃坝类似)。

计算实验2:参考常欣、黄胜《fluent船舶流体力学仿真计算工程应用基础》第6章
书中认为入口应区分水流入口和空气入口,出口使用UDF编的压力出口条件,操作如下,
在icem里修改网格,删除原来inlet,重新划分映射水入口waterinlet和空气入口airinlet。具体过程不累述了。

导出网格后导入fluent设置,前半部分设置相同,主要是边界条件设置不同。
先把phase设置成mixture,设置空气入口和水流入口流速条件,再把phase设置成water,设置入口的相成分,waterinlet的体积分数设为1,airinlet的设为0



出口条件首先编写udf如下

生成C文件后,在fluent里点Define>User-defined>function>compile

使用udf设置压力出口

检查压力出口设置:基本是水越深压力越大,空气认为是0

其他设置基本不变,但把湍流粘度率的限制放大了,我的理解就是让判定发散的条件放宽了。如下图所示。

计算,当阻力曲稳定后,读取结果:

咋看还可以总阻力是47.58N,但我这里计算的半船,结果还要翻倍的。这样的计算结果就有问题了。单独看粘性阻力:fluent计算结果15.26,全船30.52N,和starccm的计算结果比较接近。但压阻力32.32,全船64.64N,要比starccm的结果大将近4倍。先不说starccm的各阻力成分计算精度如何,从总阻力看,starccm计算结果是比较靠谱的。fluent里虽然显示计算converge,但从这次结果看却是完全不可靠。


不过气液界面已经不像方案一那样分叉了。不过因为没有使用动网格,波形图也无法显示。

计算实验3:参考胡坤《ANSYS ICEM CFD工程实例详解》——动网格技术
区别于上述方法,区分气液两相不是用“打补丁”patch的方法而是,使用明渠流动和明渠波浪

这里因为是要算静水航行,所以这里把波高设置为0,波长为任意不为0的常数。(这里本来不相勾选open channel wave BC,但初始化时一直出错)

为了观察波形还设置了动网格,详细就不说了,反正结果有问题。

总阻力计算的45.37,全船90.74N。依然不对。不过可以显示波形

求指教,我需要的是力的数值正确。fluent更新了这么多代,近10年来各船舶专业学者,工程师使用验证,不应该出现这样的结果,因此承蒙高手前辈指点迷津。
p.s. 本来想上传cas文件或网格文件,但是太大了不能上传。

moplye 发表于 2017-1-4 15:54:22

可以交流:)

qixizhiying 发表于 2017-7-4 20:30:11




是不是没有设置Reference Values

lijingyuak 发表于 2017-7-8 11:22:24

qixizhiying 发表于 2017-7-4 20:30
是不是没有设置Reference Values

是没有改,默认的。我刚才试了下,发现改了再输出报告,结果也是一样的。我想问是不是要在计算之前修改参考值Reference Values?而且,fluent13.0中的Reference Values没有OK确定键,也不知是不是没改成功,求指点?

qixizhiying 发表于 2017-7-13 18:35:23

试了一下,怀疑是边界层的问题,你的Y plus是多少?

月光疾风123 发表于 2017-7-23 17:18:06

如果仅看最后输出值,Reference Values 可以算了之后再设置!如楼上所说,可能是边界层的问题。

月光疾风123 发表于 2017-7-23 17:19:23

如果仅看最后输出值,Reference Values 可以算了之后再设置!如楼上所说,可能是边界层的问题。

lijingyuak 发表于 2017-9-5 09:28:31

月光疾风123 发表于 2017-7-23 17:19
如果仅看最后输出值,Reference Values 可以算了之后再设置!如楼上所说,可能是边界层的问题。

谢谢关注,第一层边界层这块的确之前没怎么关注。划网格时候只是设置了靠近船体的密,远离的小而已。不过从理论是讲我觉得即使边界层设置有误差,但也不应该误差这么大的

titicacanm 发表于 2023-10-27 09:25:13

作者找到解决办法了吗?我也遇到类似的问题了,计算结束之后我的水相直接漫过了船体。我查找了很多资料,也有说是因为工作条件中的操作密度设置不对,因为fluent默认是采用平均密度进行计算,不知道楼主有没有新的进展

titicacanm 发表于 2023-10-27 09:25:15

作者找到解决办法了吗?我也遇到类似的问题了,计算结束之后我的水相直接漫过了船体。我查找了很多资料,也有说是因为工作条件中的操作密度设置不对,因为fluent默认是采用平均密度进行计算,不知道楼主有没有新的进展
页: [1]
查看完整版本: 求助分享帖——fluent求解船舶静水航行问题