starccm+阻尼消波:STAR-CCM+中的Wave Forcing
上次我们简单介绍了STAR-CCM+中波浪水池的创建方法,并给出了模拟波浪过程中的网格建议,一般来说对于波浪的捕捉,建议在一个波长范围内至少保证80-120个网格,在波高方向上至少有10-20个网格,单个网格的长宽比不超过1:8,1:2或者1:4最好。详细内容请参考:STAR-CCM+中的波浪计算
为了消除边界上的反射波,在出口处设置了阻尼消波,其距离为1.5~2倍的波长,如此一来整个计算域的长度约为5~6倍的波长以上。通过实例我们发现,过大的计算域会增大网格的数量,不利于计算,而且阻尼消波后波浪衰减现象也比较严重。那么:有没有一种方法既可以消除边界上的反射波,又可以设置较小的计算域从而减小网格数量呢?
答案是肯定的。STAR-CCM+在VOF波区选项中,除了提供阻尼消波外,还提供了另外一种选项——Wave Forcing。Wave Forcing可以在指定距离内,迫使离散化N-S方程的解趋向于另一种解(比如理论解或简化数值解),从而使用更小的求解域来减少计算工作量。这种力作用还能消除因逐步力作用的阻尼特性而导致的边界处表面波反射的相关问题。
关于网格的划分方法,在上上篇推文中有详细的介绍,这里只介绍用Wave Forcing造波时的区别:
计算域:推荐浮体或船前后左右各1.5~2倍波长,可以适当降低。
网格:保证波高方向20层以上网格,一个波长80个网格,自由液面上单个网格的长宽比1:2或1:4。
物理模型:对于大多数工程问题选用Realizable K-Epsilon湍流模型即可。
时间步长:尽量保证自由液面的Courant Number不超过0.3。
边界条件:Wave Forcing的边界类型与阻尼消波大不相同,四周(除对称面外)均为速度入口,设置成波浪的边界条件,激活Wave Forcing;底部设置成壁面(指实际水底)或速度入口,不激活Wave Forcing;顶部(与大气相通)设置成压力出口边界,不激活Wave Forcing。
边界条件的指定是在Wave Forcing方法模拟波浪时的关键,如果不能指定正确的边界条件,则会出现例如波浪上漂等一系列问题。
错误的边界条件导致出口发生波浪上漂
正确的边界条件才能跑出准确的数据
下面通过一个实例具体介绍Wave Forcing的创建过程,为了使数据具有对比性,波高和波长均使用上次推文的参数。
计算域:波浪水池的尺寸长度从80m缩小到30m,高度和宽度不变,为20m,自由液面距离顶部8m,底部12m。
网格划分:基础尺寸0.75m,自由液面Z方向的网格尺寸为基础尺寸的3.125%,XY方向为12.5%,网格总数为300万。
物理模型:
波幅0.35m,波长10m,只造波不造流。
边界条件:进口、出口、两侧、底部为速度进口,体积分数为复合,空气相和水相分别为一阶波的轻/重流体体积分数,速度设置为一阶波的速度,区域>物理条件节点下,VOF波区选项选择力,物理值节点下的VOF波力长度设置为15m(1.5~2倍的波长),力VOF波指定选择一阶VOF波,进口、出口、两侧均激活,底部不激活;顶部为压力出口,体积分数同上,压力设置为一阶波的静压,不激活Wave Forcing。
网格划分:基础尺寸0.75m,自由液面Z方向的网格尺寸为基础尺寸的3.125%,XY方向为12.5%,网格总数为300万。
时间步长0.01s,最大物理时间10s,约4个波周期。
计算结果:
自由液面处的波形:
气液两相图:
在水池中心设置一浪高仪,监测该点的波高变化,创建浪高仪的思路是:首先在x的法向上建立一个平面截面,在从这个平面的Y的法向上截取一条线。具体方法为:右键单击衍生零部件,选择新建>截面>平面,输入零部件选择整个区域(tank),法向设置为[1,0,0],然后再新建一个截面,输入零部件选择刚刚创立的截面,法向设置为[0,1,0]。
上图中,红色线为计算波高,绿色线为理论波高。同理论值相比,计算值并没有出现波浪衰减现象,而且波形也比较吻合。计算得到的波高仍为0.7m,但是波幅的最大值和最小值均提高了约0.05m。
今天的内容就到这里。最近在忙着做实验,推文来的稍微迟了一些,见谅见谅~~欢迎大家在留言区里评论留言。