Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. interFoam + 周期边界条件的压力问题

interFoam + 周期边界条件的压力问题

已定时 已固定 已锁定 已移动 OpenFOAM
13 帖子 3 发布者 9.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • E 离线
    E 离线
    Emrys
    写于 最后由 Emrys 编辑
    #1

    各位老师好,最近在研究在有重力作用下的interFoam周期性边界条件,如气泡上升,液膜降落等,
    看到几个论坛交流的帖子,有fixedJump设置压力梯度的,但是不适合所有的情况 https://www.cfd-china.com/topic/1992/cyclic周期性边界条件

    在这篇论坛里提到
    https://www.cfd-online.com/Forums/openfoam-solving/79300-interfoam-cyclic-boundary-condition-issue.html
    interFoam求解器求解的时候把重力放到了压力计算的过程中,$p_{\rho g h}=p-\rho gh$。 请问有老师做过相似的问题可以交流一下吗

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    interFoam求解器求解的时候把重力放到了压力计算的过程中

    这个我2020年试过,没问题。就这么搞就行。代码改动好像不超过10行。当时我算了个轴对称的循环泡泡。

    至少在2020年,这个interfoam确实有这个问题。现在的不太清楚了。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    写于 最后由 编辑
    #3

    我也是interFoam + 周期边界条件,计算气泡槽道流。
    不过我没有加重力,而是直接添加体积源项。

    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  v2012                                 |
    |   \\  /    A nd           | Website:  www.openfoam.com                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       dictionary;
        object      fvOptions;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    momentumSource
    {
        type            meanVelocityForce;
        active          yes;
     
        meanVelocityForceCoeffs
        {
            selectionMode   all;
     
            fields          (U);
            Ubar            (1.0363 0 0);
            relaxation      1.0;
        }
    }
    /*momentumSource
    {
       type vectorSemiImplicitSource;
       active on;
       
    
       vectorSemiImplicitSourceCoeffs
       {
          selectionMode all;
          //volumeMode      absolute; // specific
          volumeMode        specific;
          injectionRateSuSp
          {
             U           ( (0.3 0 0) 0); //partial p / partial x
          }
       }
    }*/
    //************************************************************************** //
    
    E 1 条回复 最后回复
  • E 离线
    E 离线
    Emrys
    写于 最后由 编辑
    #4

    更新,已解决。 将重力在interFoam中当成体积力拿出单独计算,结果如图所示
    c3e28819b59a06912fdf0f7976e28dc.png
    df7a41ee65aa81f27b0e9bcd36fbdd5.png

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 李东岳 编辑
    #5

    我去 厉害啊 ..
    @学流体的小明 你这一贴代码 @Emrys 直接复现结果
    你俩太高效了。。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    E 1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    写于 最后由 编辑
    #6

    @Emrys
    你用的是固定的体积力源项 vectorSemiImplicitSource 这个吗?
    我的理解是:重力是9.81 m/s^2,代码就是

    injectionRateSuSp
          {
             U           ( (9.81 0 0) 0); //重力方向是x
          }
    

    我记得方程是:
    d336924b-56a8-498b-b6d4-3ee0d7df4303-image.png
    截图来自:http://xiaopingqiu.github.io/2016/03/20/fvOptions2/

    E 1 条回复 最后回复
  • E 离线
    E 离线
    Emrys
    在 中回复了 学流体的小明 最后由 编辑
    #7

    @学流体的小明 不是,我直接在interFoam求解器里修改,动量方程里把rgh单独拿出来计算了。

    学流体的小明学 1 条回复 最后回复
  • E 离线
    E 离线
    Emrys
    在 中回复了 李东岳 最后由 编辑
    #8

    @李东岳 看到李东岳老师的推送了 没有这么邪乎哈哈哈

    1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    在 中回复了 Emrys 最后由 编辑
    #9

    @Emrys 就cfd-online帖子里面他们那种方法?我下载了一个求解器看了下,发现把所有的 p_rgh 都改成 p 了。
    我的理解是:有重力和周期性边界同时存在的情况下,不能用 p_rgh 算压力,否则在过周期性边界的时候压力会出问题,用包含了重力的 p 就可以了
    这就是最表面的理解吧?复杂一些的理解我没仔细看。
    interCyclicFoam.zip

    E 1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    写于 最后由 编辑
    #10

    @李东岳 李老师跑太快喽。
    我也有点震惊,我之前也感觉@Emrys 没用我贴的那个代码。

    1 条回复 最后回复
  • E 离线
    E 离线
    Emrys
    在 中回复了 学流体的小明 最后由 编辑
    #11

    @学流体的小明 是的,因为p_rgh不是周期的。你的方法我也想尝试一下

    1 条回复 最后回复
  • E 离线
    E 离线
    Emrys
    在 中回复了 学流体的小明 最后由 编辑
    #12

    @学流体的小明 我想请问一下,这里的体积源项假定了一个平均流速 这个平均流速是怎么计算出来的,可以和重力挂钩嘛

    学流体的小明学 1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    在 中回复了 Emrys 最后由 编辑
    #13

    平均流速就是用瞬时的流场速度U进行三维空间上的积分。可以看看代码
    https://develop.openfoam.com/Development/openfoam/blob/OpenFOAM-v2012/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C

    和重力不挂勾的,重力产生的加速度是它自己的效果,记为A;这个体积源项本身会产生一个加速度,记为B。
    A不变,B会一直变化以使得平均速度保持为你设定的那个值。

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]