在质量守恒方程中添加源项对湍动能的影响
-
各位老师好,最近遇到了一个湍流方面的问题,由于之前所有的计算都是在层流的条件下进行,实在没有经验,所以想请教一下大家。
我使用的是interFoam,计算二相不可压缩流。之前我在压力方程中添加了一个随时间变化的源项(源强度的变化趋势类似于简谐运动),用于在计算域中制造波浪,进而研究波浪与浮体之间的相互作用过程。方程大概这样子:
我的程序在层流下运行没有问题,可以实现想要的功能,但是在湍流情况下出现问题(目前我用的是k-e模型)。
计算时此源项位于某一区域Omega内,该区域称之为源区域。这个区域里速度的散度不为零,类似于一个水泵,向计算域中输入/抽取水体。当采用湍流模型计算时,由于源区域附近的速度梯度比较大,源区附近的湍动能显著增加。湍动能增加后,源周围的速度场受到影响呈现混乱的状态,进而使湍动能更加混乱,导致源区域附近的自由表面完全混乱。且随着时间的增加,混乱程度加剧,最后计算崩溃。
我想请教的问题就是,是否添加了质量源一定会产生这种问题?如何能够削弱源区域附近的湍动能过度增长?是通过设置还是修改方程?(我试过了修改fvscheme与fvsolution里面的各种设置,但问题依旧存在)因为感兴趣的地方在波浪与结构物相互作用,因此希望通过质量源可以产生简谐波而不是使源区域附近的自由表面高度混乱。
此外,还有一个问题,按我的理解,如果采用速度输入的方法,在边界上输入一个周期性变化的速度,那么是不是和添加质量源类似,边界附近的速度梯度也应该不小。这时候会不会出现类似的问题呢?(我看很多文章都是这么造波的,很好奇)
之前没怎么涉及过湍流模型的使用,如果问的问题过于简单希望大家不要嫌弃,谢谢
-
@Samuel-Tu 在 在质量守恒方程中添加源项对湍动能的影响 中说:
@CFDngu 是不是写了什么代码没有在多核时注意reduce..
我不是很了解MPI,但目前初步看来,不是reduce的问题,应该是不同区域交界面上的问题。在交界面上速度场貌似有点不连续,可能就是这样引起了扰动。详细的我明天去实验室再对比下。
-
我进行了一些测试,结果如下:
我分别在串行和并行的前提下对算例进行了模拟,所有设置完全一致。采用isoAdvector捕捉的自由面,且算例中采用了overset网格来计算漂浮结构物的运动。图A和B分别是串行和并行前提下,t=2.5s时的结果速度场,图C和D是湍动能。明显看出,在t=2.5s时,质量源的强度还不是很大,源附近的速度梯度也不大,但是采用并行计算的结果已经出现了不正常的湍动能增加。
图A:
图B:
图C:
图D:
随着计算的进行,差距愈发明显。图E和F分别为t=3.5s时串行和并行得到的速度场,图G和H为湍动能。可以看出,t=3.5s时,计算结果已经被严重干扰。
图E:
图F:
图G:
图H:
如果我把D图放大,透明度调低,可以发现湍动能的扰动出现在不同子计算域的交界处:
另外,还有个比较诡异的地方,我的算例在并行时分为8个子区域,若采用simple(8 1 1)分块,计算无法进行。只有采用scotch才可以。我也尝试了不同的分块方法(数量),但并无明显改善。如果不同子区域的交接面不穿过质量源,那么湍动能的扰动出现的时间稍微有滞后,但最终还是会出现。质量源方面的代码是我自己写的,如果不用overset网格,只是进行造波的话又一切正常可以并行。
总的来说,貌似这个问题是由于并行引起的,并且这个影响主要在湍动能上:并行的层流计算也没有问题。请问有没有大佬遇到过类似的问题呢?另外我感觉OF中overset网格貌似不太适合并行?我不得不采用串行计算后,感觉速度没有慢很多。换言之,并行好像并没有让overset网格的算例计算速度增加多少。
对了,版本是v1906,湍流模型是k-e,引入了larson和furman在2018年JFM上的文章以解决湍流模型在层流区域高估湍流强度的问题(貌似这个对结果没啥影响)。
求大佬解惑,谢谢大家。
-
@cccrrryyy
老实说,对于波浪-结构物相互作用的问题是否采用湍流模型、采用哪个模型我一直拿不准。按照我的理解,造波和波浪在常水深下传播时,雷诺数(或粘度比)应该非常小。只有波浪与结构物相互作用过程中,发生波浪抨击、波浪破碎时,貌似才需要用湍流模型来模拟。这也是最初我不解的地方,因为我觉得源附近不应该有这么大的湍动能,而结构物附近的湍动能才应该相对大些。另外您说的网格问题是什么意思?我的算例中源区确实一般占据4-5个网格(x方向),但是我的网格不复杂,如下图
多说一句,按照我个人的经验,与波浪相关的问题,采用层流模型的结果貌似一般也不会与实验差太多。
可能我不是很懂,但是并行这个问题,真的是玄学。。