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. 管式填充床中两相流的模拟中,循环边界压力梯度、分散相含率运算出错的问题

管式填充床中两相流的模拟中,循环边界压力梯度、分散相含率运算出错的问题

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

    最近在做管式填充床中两相流动的模拟,采用循环边界cyclicAMI达到缩短管长,减少网格的目的。网格使用snappyHexMesh画完后没有问题,动力源项给的是连续项平均速度Ubar,为0.03m/s,填充床几何为
    07456e007b85fa4ee9f49c7e8a053a4.png
    运算时出现如下结果:
    bccffb96-29ae-41c1-9a37-5dd7b44ff9c0-image.png
    主要就是动力源计算的压力梯度一直在正负之间反复跳动,且数值非常大,压力P_rgh的迭代次数会超限。运算一段时间后会直接导致求解的相分数远远超出0-1的范围,如下图所示:
    4a88b6f4-03d2-4327-9c79-1a8102734d26-1666706031077.png
    想请教一下对这种循环边界熟悉的老师同学,能够解答一下我这些问题。
    另外附上我的fvSolution:

    solvers
    {
        "alpha.*"
        {
            nAlphaCorr      1;
            nAlphaSubCycles 3;
            implicitPhasePressure yes;
           
            solver          smoothSolver;
            smoother        symGaussSeidel;
            tolerance       1e-8;
            relTol          0;
            minIter         1;
        }
    
        p_rgh
        {
            solver          PCG;
            preconditioner  FDIC;
            tolerance       1e-6;
            relTol          0.01;
        }
    
        p_rghFinal
        {
            $p_rgh;
            tolerance       1e-6;
            relTol          0;
        }
        
        "U."
        {
            solver          smoothSolver;
            smoother        symGaussSeidel;
            tolerance       1e-7;
            relTol          0;
            minIter         1;
        }
    
        "(e|h).*"
        {
            solver          smoothSolver;
            smoother        symGaussSeidel;
            tolerance       1;
            relTol          0;
            minIter         0;
            maxIter         0;
        }
    
        "(k|epsilon|omega).*"
        {
            solver          smoothSolver;
            smoother        symGaussSeidel;
            tolerance       1e-7;
            relTol          0;
            minIter         1;
        }
    }
    
    PIMPLE
    {
        nOuterCorrectors    3;
        nCorrectors         2;
        nNonOrthogonalCorrectors 1;
        pRefPoint (0.10399 0 0);
        pRefValue 101325;
    }
    
    relaxationFactors
    {
        equations
        {
            ".*"            0.7;
        }
    }
    

    fvSchemes:

    ddtSchemes
    {
        default         Euler;
    }
    
    gradSchemes
    {
        default         Gauss linear;
        limited         cellLimited Gauss linear 1;
    }
    
    divSchemes
    {
        default                         none;
    
        "div\(phi,alpha.*\)"            Gauss vanLeer;
        "div\(phir,alpha.*\)"           Gauss vanLeer;
    
        "div\(alphaRhoPhi.*,U.*\)"      Gauss linearUpwind limited;
        "div\(phi.*,U.*\)"              Gauss linearUpwind limited;
    
        "div\(alphaRhoPhi.*,(h|e).*\)"        Gauss linearUpwind limited;
        "div\(alphaPhi.*,f.*\)"         Gauss linearUpwind limited;
        "div\(alphaRhoPhi.*,K.*\)"      Gauss linearUpwind limited;
        "div\(alphaPhi.*,p\)"           Gauss linearUpwind limited;
        "div\(alphaRhoPhi.*,\(p\|thermo:rho.*\)\)"     Gauss linearUpwind limited;
        "div\(alphaRhoPhi.*,(k|epsilon|omega).*\)"      Gauss linearUpwind limited;
    
        "div\(\(\(\(alpha.*\*thermo:rho.*\)\*nuEff.*\)\*dev2\(T\(grad\(U.*\)\)\)\)\)"  Gauss linear;
    }
    
    laplacianSchemes
    {
        default         Gauss linear corrected;
    }
    
    interpolationSchemes
    {
        default         linear;
    }
    
    snGradSchemes
    {
        default         corrected;
    }
    
    fluxRequired
    {
        default         no;
    }
    
    wallDist
    {
        method          meshWave;
        nRequired       yes;
    }
    
    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    你这个看起来不太好收敛。你有没有尝试单向流,压力梯度有震荡么

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

    C 1 条回复 最后回复
  • C 离线
    C 离线
    Caijinjin
    在 中回复了 李东岳 最后由 编辑
    #3

    @李东岳
    单相流我还没尝试过,之前用过空的圆管做过一样的案例,问题都解决了。
    现在我这边入口fixedValue,mapped边界条件都能是正常运行,就cyclicAMI出现问题,所以我打算先看看mapped的结果。

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 Caijinjin 最后由 编辑
    #4

    meanVelocity这面有个phaseMeanVelocity,可用于多相流,不过不确定是否有用。

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

    C 1 条回复 最后回复
  • C 离线
    C 离线
    Caijinjin
    在 中回复了 李东岳 最后由 编辑
    #5

    @李东岳 好的,李老师,我去调试看看

    1 条回复 最后回复

  • 登录

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