CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

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

    OpenFOAM
    1
    3
    866
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 秋
      秋山结月 最后由 编辑

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

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

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

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

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

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

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

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

      请各位赐教。

      1 条回复 最后回复 回复 引用
      • 秋
        秋山结月 最后由 编辑

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

        1 条回复 最后回复 回复 引用
        • 秋
          秋山结月 最后由 编辑

          下面的图按照初始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

          1 条回复 最后回复 回复 引用
          • First post
            Last post