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中文网

L

Lubing

@Lubing
关于
帖子
45
主题
11
群组
0
粉丝
1
关注
0

帖子

最新

  • 请教一个关于两相流激波的问题
    L Lubing

    问题的场景是这样的,过热的液体从小孔中喷出,在此过程中,会发生剧烈的相变并形成和欠膨胀气体类似的激波结构。实验中也观察到了这个现象。试验过程中发现,随着温度升高,马赫盘距离出口的位置会基本不变或略微增加,但是模拟过程中却发现,激波宽度和实验值对应的比较好时,随温度升高马赫盘距离出口处位置在减小,尤其是在低温时,激波的拉长非常明显。使用fluent、OpenFOAM计算时都是这个结果。以及如果只看液相的分布时,从喷孔出来的液相沿水平方向的扩散很弱,实验中能够观察到比较明显的浓区的膨胀。想请教下这里可能的原因是什么?(从左向右温度逐渐升高)
    可能是表面张力的影响么,在对这一现象建模时,通常会忽略表面张力。
    4d21c7ab-35be-4aed-88a0-d1f5547b90ba-image.png
    a23dc977-44e8-4734-a6d1-0ff004d20bed-image.png


  • AMR计算完成后reconstructParMesh也正常,但是reconstructPar报错
    L Lubing

    OpenFOAM中使用multiDimAMR编译和运行正常,使用reconstructParMesh也正常,但是之后再使用reconstructParMesh会报错。
    第一个时刻还是正常的,第二个时刻发生报错,还有一个算例是第5个时刻开始报错,报错内容一样。使用paraview中的decomposePar也能查看结果,为什么会出现这个问题呢~
    Reconstructing fields for mesh region0
    Time = 0.01
    Reconstructing FV fields
    Reconstructing volScalarFields
    alpha.water
    alpha.water_0
    p
    p_rgh
    rAU
    Reconstructing volVectorFields
    U
    Reconstructing surfaceScalarFields
    alphaPhi0.water
    phi
    Reconstructing surfaceVectorFields
    Uf
    Reconstructing point fields
    No point fields
    No lagrangian fields
    No FA fields

    Time = 0.02

    --> FOAM Warning :
    From virtual Foam::polyMesh::readUpdateState Foam::polyMesh::readUpdate()
    in file meshes/polyMesh/polyMeshIO.C at line 210
    Number of patches has changed. This may have unexpected consequences. Proceed with care.
    --> FOAM Warning :
    From virtual Foam::polyMesh::readUpdateState Foam::polyMesh::readUpdate()
    in file meshes/polyMesh/polyMeshIO.C at line 210
    Number of patches has changed. This may have unexpected consequences. Proceed with care.

    **--> FOAM FATAL ERROR: (openfoam-2012)
    Processor 2 has a different polyMesh at time 0.02 compared to any previous processors.
    Please check time 0.02 directories on all processors for consistent mesh files.

    From Foam::polyMesh::readUpdateState Foam::processorMeshes::readUpdate()
    in file processorMeshes.C at line 192.**
    

    FOAM exiting


  • ELSA+滑移速度模型的植入中曳力项中存在除以0的项怎么处理
    L Lubing

    这里如果使用SMALL,当接近零的时候,Y_s的值会接近零,滑移速度为0,也是符合原理的。但是我不确定OpenFOAM在计算时是否Y_s会真的趋向于0,请大佬们看看是否有更好的处理方法


  • ELSA+滑移速度模型的植入中曳力项中存在除以0的项怎么处理
    L Lubing

    在单流体mixture模型中,植入曳力模型中除以0的问题,想问下该怎么处理:
    整个框架中使用omega-Y方程计算液滴粒径
    2649ca73-943e-45e7-b3a3-d81c198240ad-image.png
    再使用计算得到的粒径计算曳力,求解滑移速度
    27ef35f2-81b1-4894-bb8a-3227cc94e8e8-image.png
    3a6cd6af-fa77-450a-a123-f9245df9daee-image.png
    但是在纯液体以及纯气体中会出现液滴粒径为0的情况,这就导致其中nd(网格中的粒子数目)会出现为零的情况,想请教下这种情况下直接使用SMALL有用么,还是需要别的特殊的处理方法,非常感谢~
    24b8130d-b324-4817-9b3e-31a8ea7a9591-image.png


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

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


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

    方程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);
    }
    

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

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


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

    现在植入的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是加速度
      出现这种类似于棋盘一样的状态,可能是因为这里使用的参数的问题么~

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

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


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

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


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

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


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

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


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

    在将这个方程植入到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
    想了解下出现这种问题的可能原因是什么呢~


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

    谢谢李老师,我先试试~


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

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


  • OpenFOAM膨胀喷管边界条件设置
    L Lubing

    关联的问题,线没有关联好,放到了wedge类中了


  • compressibleInterFoam中植入drift flux的过程是否正确
    L Lubing

    我先用一维气液激波管试试看看会不会有显著的震荡,谢谢李老师详细的解答~


  • compressibleInterFoam中植入drift flux的过程是否正确
    L Lubing

    了解了,密度梯度那里是个点乘,v1m·grad(rho1),在这种情况下是不是也有可能出现有激波时的震荡啊,因为直接使用了密度的梯度~


  • compressibleInterFoam中植入drift flux的过程是否正确
    L Lubing

    了解了,谢谢李老师~为什么右边的密度梯度是错的呢~


  • compressibleInterFoam中植入drift flux的过程是否正确
    L Lubing

    我大概理解李老师的意思了,我对OpenFOAM中的MULES的原理理解的不透彻,李老师的意思应该是直接基于第一个方程:8aa412cc-627a-4e3f-aee6-baafd05eecb4-image.png 直接求解此方程,漂移对流项放到前面去。
    我这里处理的时候是想同时使用这两个方程:57d390e2-8564-4ca3-9a14-8fce8e19fdd6-image.png
    最终构造成a07ba5fa-4c26-429f-beb7-e911051b67e2-image.png
    ,把漂移的影响分开到了源项和对流项中,需要同时修改alphaEqn和alphaSuSp。您觉得这样处理有必要么~
    73348540-9b27-449d-9432-26ec0c6fe88b-alphaEqn.H d6ed1b9c-4078-46e3-b212-f7ed1662c6c0-alphaSuSp.H

  • 登录

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