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. drift-flux model中相对速度计算问题

drift-flux model中相对速度计算问题

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

    这个模型是不是存在一个问题,就是滑移速度在计算时除了和加速度相关,与雷诺数相关,似乎与别的参数没有什么关系。这就会导致随着加速度的增加,滑移速度急剧增加,这里是否还缺少能量上的约束以避免出现不合理的结果呢

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

    滑移速度一般会倾向于是一个稳定的值。最简单的滑移速度可以给一个定值,比如0.2之类啥的

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

    1 条回复 最后回复
  • L 离线
    L 离线
    Lubing
    写于 最后由 编辑
    #9

    我在计算的课题是欠膨胀气液两相流内的激波,想看看滑移速度的影响,有没有可能计算的场景的瞬态特征导致了计算的不稳定啊~

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

    数值方面我还能插上嘴,具体的工况设计到很多的流体力学特征,这个我也不太清楚了。

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

    1 条回复 最后回复
  • L 离线
    L 离线
    Lubing
    写于 最后由 Lubing 编辑
    #11

    请教个问题,就是再滑移速度模型植入时,出现了类似于棋盘一样的相对速度Udm,想问下这种问题该怎么处理呢~
    image.png
    求解器更换成了twoPhaseMixingCentralFoam(Kraposhin Matvey的求解器https://github.com/unicfdlab/hybridCentralSolvers),在其中的YEqn中添加了滑移速度Udm的通量,但是出现了Udm的棋盘一样的变化,不清楚问题出在了哪里,请大佬指条明路~
    Udm植入时使用了固定大小的Udc,Udc的方向由加速度方向决定(认为气液两相惯性的差异导致速度的差异)。
    这个算例在孔内是50%质量含气率的气液两相,入口压力10MPa,温度383K,(这是个测试,并非真实场景)

    1 条回复 最后回复
  • L 离线
    L 离线
    Lubing
    写于 最后由 Lubing 编辑
    #12

    现在植入的Udm的方程是这样的:
    Udm =rhoc * alphac / rho * UdcMag * A /mag(A+epsilon)*
    ( exp(-a1_*max(alphad_ - residualAlpha_, scalar(0)))

    • exp(-a_*max(alphad_ - residualAlpha_, scalar(0))) );
      其中A是加速度
      出现这种类似于棋盘一样的状态,可能是因为这里使用的参数的问题么~
    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #13

    自己写的代码很难debug,一般我不会跟人debug代码,只能debug现有求解器的现成算例。不过你可以把你得sci发给我,我看看公式怎么植入的。如果感觉简单我可以收录到以后LCO课程的教学内容并在这里更新。太复杂只能是走项目,也不适合学生。

    http://dyfluid.com/class1.html

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

    1 条回复 最后回复
  • L 离线
    L 离线
    Lubing
    写于 最后由 编辑
    #14

    我参考的是这篇文章~
    1-s2.0-S0301932221001397-main.pdf

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

    你可以把10-13方程植入进去之后,然后把方程19的模型处理成固定值,再尝试

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

    1 条回复 最后回复
  • L 离线
    L 离线
    Lubing
    写于 最后由 李东岳 编辑
    #16

    方程19处理成固定值是指Ur的大小方程都恒定么?这个时候不会出现震荡,但是遇到了一个问题,就是Y在计算时会超过1,应该算是过度堆积?这种问题应该怎么处理呢~ 这里我也使用了MULES进行限制。
    MULES的调用是这样的

    void Foam::mulesWithDiffusionImplicitLimiter
    (
        const volScalarField& rho,
        volScalarField& Y,
        const surfaceScalarField& phi,
        scalarField& lambdaFace,
        surfaceScalarField& rhoPhif,
        surfaceScalarField& diffFlux,
        const surfaceScalarField& Dmi,
        const fvScalarMatrix& SuSp
    )
    {
        const fvMesh& mesh = rho.mesh();
        const word Yname (Y.name());
        Y.rename("Yi");
    
        upwind<scalar> UDs(mesh, phi);
    
        fvScalarMatrix YConvection
        (
            fv::gaussConvectionScheme<scalar>(mesh, phi, UDs).fvmDiv(phi, Y)
        );
    
        surfaceScalarField rhoPhifBD (YConvection.flux());
    
        surfaceScalarField& rhoPhifCorr = rhoPhif;
        rhoPhifCorr -= rhoPhifBD;
    
        volScalarField Su
        (
            "Su",
            SuSp & Y
        );
    
        MULES::limiter
        (
            lambdaFace,
            1.0/mesh.time().deltaTValue(),
            rho,
            Y,
            rhoPhifBD,
            rhoPhifCorr,
            zeroField(),
            Su,
            oneField(), //psiMax,
            zeroField() //psiMin,
        );
        Y.rename(Yname);
    }
    
    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #17

    就是Y在计算时会超过1

    轻微的还是很严重的

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

    1 条回复 最后回复
  • L 离线
    L 离线
    Lubing
    写于 最后由 编辑
    #18

    就是在存在Y=1的区域的时候,如果Ur不合理,会导致发散

    1 条回复 最后回复

  • 登录

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