请问一下关于利用OpenFOAM做海洋内波模拟



  • 目前我的做法就是,基于waves2Foam的框架,对其进行扩展,利用kdV方程的解模拟海洋内孤立波。这个跟普通的孤立波相当近似,但是上层的气相变成了密度稍低的水,并且上层的低密度水跟下层的高密度水互不相容(可以把上层的水当做油来看)。

    公式参考的是:这两位的论文
    4.png
    3.png

    个人主要就是改了一下几点:
    TransportProperties 里 气相相关属性替换为液相

    waves2Foam波浪模块,原先只操作液相网格不操作气相,现在两层流体需要对上层的网格也进行操作,对其速度进行赋值。
    解决完以上问题后,进行setFields,得到结果如上图所示:
    1.png
    5.jpg
    对比论文,这个水质点速度分布我认为是比较合理的,然而.....

    如果用waveFoam(本质上还是Interfoam,不过多了个速度入口的波浪边界条件)开始计算,结果发现速度会发生突变,导致波面很快变形消失。

    t=0.001时刻的速度分布。
    2.png

    这里我尝试了将波浪方程中的时变项全部去掉,或者把时间步长取得再小一点,都遇到了这种突变。

    个人猜测是interFoam进行多相流计算的时候还有什么关键点我没考虑到,或者是interFoam只可以算气液多相流?

    请各位赐教。



  • 另外就是我想请教一下,我看到IHFoam以及waves2Foam进行造波时,指定的入口条件都只有速度以及相分数的边界条件。
    压力全是依赖N-S方程的压力泊松方程解的,不依赖伯努利方程进行估算,这个说法对吗?



  • 下面的图按照初始setField→计算一个时间步排列。
    不知道为什么,经过计算后内部场的速度很快发生变化。 而内部场应该是利用势流理论估算的,但是拿N-S算出来的速度不应该跟势流估算的差这么大啊...

    初始波峰在左侧
    1Abefore.png
    1Before.0000.png
    1AAfter.png
    1After.0001.png

    波峰传递过来时
    0A.0000.png
    0.0000.png
    0A.0001.png
    0.0001.png

    波峰在右侧
    2.5A.0000.png
    2.5.0000.png
    2.5A.0001.png
    2.5.0001.png

    波峰离开
    -5A.0000.png
    -5.0000.png
    -5A.0001.png
    -5.0001.png


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2