用twoPhaseEulerFoam求解水砂输送的问题



  • 各位前辈好,我想在一个长方体几何模型中从左往右输送水(85%)砂(15%)混合物,观察砂的堆积形态(如下图所示)。
    a4585498-9adf-410f-85db-bbd9fbc5135a-image.png
    我的速度边界为:

    object      U.particles;
    internalField   uniform (0 0 0);
    
    boundaryField
    {
        INLET
        {
            type               fixedValue;
            value              uniform (0.5 0 0);
        }
    
        OUTLET
        {
            type               inletOutlet;
            inletValue         uniform (0 0 0);
            value              uniform (0 0 0);
        }
    
        WALL
        {
            type               zeroGradient;
        }
    
        frontAndBackPlanes
        {
            type               empty;
        }
    }
    
    object      U.water;
    internalField   uniform (0.5 0 0);
    
    boundaryField
    {
        INLET
        {
            type               fixedValue;
            value              uniform (0.5 0 0);
            /*type               interstitialInletVelocity;
            inletVelocity      uniform (0.8 0 0);
            alpha              alpha.water;
            value              $internalField;*/
        }
    
        OUTLET
        {
             type               inletOutlet;
            inletValue         uniform (0 0 0);
            value              uniform (0 0 0);
        }
    
        WALL
        {
            type               noSlip;
        }
    

    压力边界为:
    internalField uniform 0;

    boundaryField
    {

    INLET
    {
        type            fixedFluxPressure;
        value           $internalField;
    }
    
    OUTLET
    {
         type            fixedValue;
         value           uniform 0;
    }
    
    WALL
    {
        type            zeroGradient;
    }
    
    frontAndBackPlanes
    {
        type            empty;
    }
    

    }

    但不知道为何第一个迭代步中,e.water的迭代次数就超了,导致压力的迭代次数也很大,算了几个时间步后就发散了:
    adba137b-d8b6-43e1-b5c5-e8aa5ba53783-image.png

    实时证明第一个时间步算出来的速度和压力结果就不对,还请各位前辈告知e.water是什么量,这样设置边界条件对不对。谢谢!@东岳



  • 把你的能量方程关掉。在phaseProperties里面选pureIsothermalPhase,具体你找找,手头没有openfoam



  • @东岳 谢谢东岳老师,也就是e.water是跟传热有关的参数?我在of8里面又跑了一下(之前是of5)能跑动,只是压力迭代次数任然比较高(70次)左右,初始残差0.7左右,也老是降不下来
    496ba7cf-aa35-47e9-a524-fdfa707f6ad4-image.png
    不知道压力这样设置有没有问题



  • 最后一个图说明不了什么问题 可以
    对 e跟温度有关



  • @东岳 好的!感谢东岳老师的答疑解惑!计算过程中除了压力初始残差下不去之外,maxCo也是随计算时间逐渐增大的,照这个进度下去感觉算久了就会发散。后续还会继续跟进这个例子!



  • @东岳 东岳老师,我感觉压力边界设置得还是有些问题,计算结果表明prgh在整个过程中都没什么变化,p的变化也很奇怪:
    a51c0383-4355-4be5-a373-87d2ed841123-image.png (prgh)
    9fc2ecee-8361-4702-974f-d8d2872208c6-image.png (p)



  • 两个都很合理啊。p_rgh不应该变化太多。p正好是存在泥沙的时候,在下面压力比较大。应为重力的因素。



  • @东岳 那么东岳老师,为何p_rgh是上方大,下方几乎为0呢,而且p的量级也没有p_rgh大:135: :135:



  • @Zhy2022 明白了。。p_rgh只是一个参考压力系



  • 出口流速zerogradient会不会不一样?



  • @Jacob-Z 回流很明显,容易发散



  • @东岳 东岳老师您好,再向您请教一个问题,为什么我的两相速度能够计算出来:
    4342a0b1-f631-4930-9af6-2915f6919035-image.png (颗粒速度)
    e1940ca0-1db9-456d-9cb4-ee52ac380d25-image.png (液体速度)
    但是残差监测里面显示N/A呢?
    a692d307-755c-4c38-b37d-4da17ef7a7b7-image.png



  • 你的residual里面应该没有监控U.particle,默认是U,你需要指定fields (U.particle)



  • @东岳 非常感谢东岳老师这么晚还在回复问题!!!希望您也能休息好!!!目前有三个问题:
    (1)我在residuals字典里面写明了U.particles(U.particle监控不了),才出现的N/A这个问题;
    (2)模拟结果表明砂堤没有沉积(注入的固相百分数就为0.15,而且停止注入固相后,固相整体被往前推动),不知道是不是颗粒动理论模型设置的问题
    1af8464d-1692-4b18-99b5-54aed49fe400-image.png
    (3)液相、固相注入速度都是(0.5 0 0),但计算过程中底部达到4m/s+,这是否合理(液相的internalFiled也给的0.5,感觉液-固混合液比纯液跑得还快了):
    b0a38597-890c-459e-8cb4-3939b2b2dc16-image.png
    (边界给的固定值(0 0 0),插值看不到结果490e9d34-c94d-4e0c-bffe-6c821b124aaa-image.png

    希望您有空的时候能帮忙解答,不胜感谢!



  • 液相、固相注入速度都是(0.5 0 0),但计算过程中底部达到4m/s+,

    这是用层流模拟的么?好像速度确实有点大。不过也不好判断。没准是重力的作用加速了?



  • @东岳 RAS,但是重力也不该水平方向这么大的速度哇,主要是没堆积



  • @东岳 东岳老师您好,还想请问一下:我按照of自带算例将固相模型改为从kineticTheory改为phasePressure,以实现层流模拟,报错:
    2020-10-28 23-28-43屏幕截图.png
    我检查了初始场文件发现没有问题,不知这是怎么回事。。还请您看一看这个gs0.particles是什么东西。。



  • 把你fvScheme发一下



  • @东岳 老师,您看:

    ddtSchemes
    {
        default     Euler;
    }
    
    gradSchemes
    {
        default     Gauss linear;
    }
    
    divSchemes
    {
        default                         none;
    
        "div\(phi,alpha.*\)"            Gauss vanLeer;
        "div\(phir,alpha.*\)"           Gauss vanLeer;
    
        "div\(alphaRhoPhi.*,U.*\)"      Gauss limitedLinearV 1;
        "div\(phi.*,U.*\)"              Gauss limitedLinearV 1;
    
        "div\(alphaRhoPhi.*,(h|e).*\)"  Gauss limitedLinear 1;
        "div\(alphaRhoPhi.*,K.*\)"      Gauss limitedLinear 1;
        "div\(alphaPhi.*,p\)"           Gauss limitedLinear 1;
    
        div(alphaRhoPhi.particles,Theta.particles) Gauss limitedLinear 1;
    
        "div\(alphaRhoPhi.*,(k|epsilon).*\)"  Gauss limitedLinear 1;
    
        div((((alpha.water*thermo:rho.water)*nuEff.water)*dev2(T(grad(U.water))))) Gauss linear;
    
        div((((thermo:rho.particles*nut.particles)*dev2(T(grad(U.particles))))+(((thermo:rho.particles*lambda.particles)*div(phi.particles))*I)))  Gauss linear;
    
        div((((alpha.particles*thermo:rho.particles)*nuEff.particles)*dev2(T(grad(U.particles))))) Gauss linear;//改层流后多出
    }
    
    laplacianSchemes
    {
        default     Gauss linear uncorrected;
        bounded     Gauss linear uncorrected;
    }
    
    interpolationSchemes
    {
        default     linear;
    }
    


  • @东岳 老师,问题解决了:
    固相的速度边界和湍流模型必须配套使用才行!



  • @东岳 东岳老师,有个问题不太想得通,不知道您对此看法如何:
    采用TFM模拟固-液两相流,固相密度设置为常数(fluidisedBed案例中也是如此),视为不可压缩,但固相湍流模型(kineticTheory或phasePressure)都是属于可压缩模型,它们是否矛盾?



  • @李东岳 东岳老师,在kineticTheoryModel.C中有这样一段代码:

    Foam::tmp<Foam::volScalarField>
    Foam::RASModels::kineticTheoryModel::k() const
    {
        NotImplemented;
        return nut_;
    }
    
    
    Foam::tmp<Foam::volScalarField>
    Foam::RASModels::kineticTheoryModel::epsilon() const
    {
        NotImplemented;
        return nut_;
    }
    

    但是感觉固相湍流开关打开的话,其湍流黏度完全是按照如下公式计算的:
    f5762668-18df-4523-8d58-f0721aa841ae-image.png 80d6410b-7ef8-4367-abe2-ec84569afa5d-image.png 5971c0c4-dda7-452c-975b-8c9c3822272e-image.png 4bdd1b88-6f5e-476d-a0f0-5c5dc89a896c-image.png (其中a为固相,b为液相)
    也就是固相被看作连续相后不存在真实的k和epsilon哇?


Log in to reply