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.6k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • L 离线
    L 离线
    Lubing
    写于 最后由 编辑
    #1

    fluent中提供了不同的滑移速度的计算方法,我想尝试将其移植到OpenFOAM中去,在处理滑移速度的时候遇到了问题:相对速度计算时需要用到相对雷诺数,相对雷诺数计算时需要用相对速度,有点套娃的感觉。这里在计算时需要使用迭代计算的方法么,有没有资料可以参考呢~ 先行谢过各位大佬~
    75abc597-782c-4649-a60e-facf3e6533f6-image.png
    03860a2b-2a75-459d-997e-138b7843996c-image.png

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

    对,不仅仅你这个模型,大部分的模型都需要相对速度。一般情况下不需要迭代。在计算最开始的时候,就是用之前时间步来计算Ur,然后在最开始的时候有几步震荡,但是很快就收敛了。

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

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

    谢谢李老师,我先试试~

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

    在将这个方程植入到OpenFOAM中之后,出现了明显的相对速度的震荡,惯性加速度最大能到10^5m/s2。植入时直接使用- fvc::ddt(U) - (U & fvc::grad(U))进行计算,使用的时1D的气液激波管问题做的验证,此时无滑移时的速度为20m/s左右,
    image.png
    给定滑移速度时计算的速度场没有震荡,使用的是OpenFOAM中的general方法。
    faed33e4-cde9-42a8-860e-345a946a8de5-image.png
    想了解下出现这种问题的可能原因是什么呢~

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

    自己写的代码 不太好debug 老铁 我只能提供理论上的OpenFOAM惯用的普适性处理方法的思路

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

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

    把源代码放上来,我用的是v2312版本的OpenFOAM,tutorials里面有参考算例
    compressibleDriftFoam.zip

    1 条回复 最后回复
  • 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
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]