Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    如果用DPMFoam求解稀相流会怎么样?误差大么

    OpenFOAM
    8
    68
    47336
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Alvin last edited by

      @东岳 “如果连续相给离散相的浮力很重要(比如气液),不可以舍去。如果连续相给离散相的浮力不重要(比如气固),可以舍去。”这里不太理解, 连续相对离散相的力的作用(如浮力)不都是通过颗粒拉格朗日方程体现的么?DPMFoam动量方程中的重力项单纯是流体的重力?

      D 1 Reply Last reply Reply Quote
      • D
        dzw05 教授 @Alvin last edited by

        @alvin 没有太理解,“但是压力的数值处理上,动量方程中除以的密度默认为1(适用于空气),这是最重要的”这句话。
        从可压缩动量方程出发,假设密度是常数,那可以将密度提出来,就是现在采用的不可压缩动量方程形式啊,为什么会默认密度为1呢?

        自主匠心,普惠仿真。

        A 1 Reply Last reply Reply Quote
        • D
          dzw05 教授 @李东岳 last edited by

          @东岳 目前的DPM求解器中,浮力项并不单纯由连续相的重力表示的,还包括连续相的加速度项,可以参考“INFLUENCE OF DRAG LAWS ON SEGREGATION AND BUBBLING BEHAVIOR IN GAS–FLUIDIZED BEDS”这篇博士论文的2.5.1节的内容。
          具体来说在Openfoam中,particleForces中的pressureGradient这项才是浮力项。

          自主匠心,普惠仿真。

          1 Reply Last reply Reply Quote
          • D
            dzw05 教授 @Alvin last edited by

            @alvin DPMFoam动量方程中的重力项有一部分是流体的重力,另一部分和pressureGradient这一项组合起来作为浮力。具体请参考“INFLUENCE OF DRAG LAWS ON SEGREGATION AND BUBBLING BEHAVIOR IN GAS–FLUIDIZED BEDS”这篇博士论文的2.5.1节。

            自主匠心,普惠仿真。

            1 Reply Last reply Reply Quote
            • 李东岳
              李东岳 管理员 last edited by 李东岳

              particleForces中的pressureGradient这项才是浮力项。

              gravity中植入了浮力项。pressureGradient不是浮力项。pressureGradient是粒子上下表面引致的压力差项,粒子若非常小,则可忽略。但若重力gravity若被忽略,则完全没有浮力影响。

              可进行类似浮力测试:

              particleForces
              {
                  //constantDrag
                  //{
                  //	constantValue	0.1;
                  //}
              
                  gravity; //浮力On or Off
              
                   	//pressureGradient
                   	//{
                   	//    U	U.water;
                   	//}
              
                  }
              

              DPMFoam动量方程中的重力项单纯是流体的重力?

              考虑连续相的密度大于离散相的密度(气液)。重力的作用:连续相植入重力项,导致静水压力的产生。离散相植入重力,同样导致离散相的下降。重力的作用对连续相和离散相都是一个方向的。但重力的植入同时会导致浮力的产生,浮力方向和重力相反,且浮力远大于重力,因此离散相向上移动。

              如果连续相给离散相的浮力很重要(比如气液),不可以舍去。如果连续相给离散相的浮力不重要(比如气固),可以舍去

              因为浮力和重力相关联。因此如果浮力很重要(气液中的气泡要上浮),连续相的重力的植入必须。如果浮力不重要(气固中的颗粒不会上浮),连续相的重力植入则无关紧要。

              CFD高性能服务器 http://dyfluid.com/servers.html

              D 1 Reply Last reply Reply Quote
              • D
                dzw05 教授 @李东岳 last edited by

                @东岳 没错,在离散相的gravity中,表达式是massg_(1.0 - p.rhoc()/p.rho()),即考虑了连续相和离散相的密度比,这个是浮力的主要来源。
                目前dpmFoam中,如果将重力的值设为0,那么就没有考虑浮力影响;如果单纯的将连续相动量方程中的重力g删除,而不是设为0,那么其实并没有影响粒子浮力的计算,因为粒子运动方程中根本没有出现连续相的压力。

                自主匠心,普惠仿真。

                A 1 Reply Last reply Reply Quote
                • 李东岳
                  李东岳 管理员 last edited by 李东岳

                  @dzw05 在 如果用DPMFoam求解稀相流会怎么样?误差大么 中说:

                  粒子运动方程中根本没有出现连续相的压力

                  这个是问题的根源。因为存在俩套方程:

                  1. 第一种是你说的,不存在连续相的压力,DEM可以这样模化:

                    \begin{equation}
                    m_\mathrm{dpm}\frac{\partial \mathbf{U} _ \mathrm{dpm}}{\partial t}=\mathbf{F}_ \mathrm{drag}+\frac{\mathbf{g}(\rho_\mathrm{dpm}-\rho_\mathrm{c})}{\rho_\mathrm{c}}+\mathrm{Others}
                    \label{gra}
                    \end{equation}

                    在这个方程中,如果不考虑F,那么就可以模化重力和浮力的效果。这就是DPMFoam中采用的方法。

                  2. 另一套方程是

                    \begin{equation}
                    m_\mathrm{dpm}\frac{\partial \mathbf{U}_ \mathrm{dpm}}{\partial t}=\mathbf{F}_ \mathrm{drag}+m_\mathrm{dpm}\mathbf{g}+\frac{m_\mathrm{dpm}}{\rho_\mathrm{dpm}}\nabla p_\mathrm{c}+\mathrm{Others}
                    \end{equation}

                    如果采用这一套方程,其中的压力需要为静水压力。

                  目前我在研究第二种方法。Fluent以及OpenFOAM中选用的第一种方法。参考Fluent理论指南。

                  CFD高性能服务器 http://dyfluid.com/servers.html

                  1 Reply Last reply Reply Quote
                  • A
                    Alvin @dzw05 last edited by

                    @dzw05 参照 多相流数学模型 http://dyfluid.com/docs/multiphase.html 3.3 连续相模型之欧拉模型(宏观模型): 0_1525253880339_1524709051320-1524557589373-连续相方程.png

                    “从可压缩动量方程出发,假设密度是常数,那可以将密度提出来,就是现在采用的不可压缩动量方程形式啊,为什么会默认密度为1呢?”
                    假设密度是常数,那么即使将密度提出来,DPMFoam求解器中的动量方程中压力项还少除以了一个密度(除非密度是1)

                    “具体来说在Openfoam中,particleForces中的pressureGradient这项才是浮力项。”
                    颗粒所受的浮力在颗粒所受重力项中已经体现():0_1525254857908_捕获.PNG pressureGradient就是单纯的压力梯度力,但是大小和浮力相反(可参考颗粒在流体中的受力分析 https://wenku.baidu.com/view/171125dcd15abe23482f4d93.html、董长银-牛顿流体中的固体颗粒运动模型分析及应用https://wenku.baidu.com/view/8fafedfef705cc175527097a.html)

                    “DPMFoam动量方程中的重力项有一部分是流体的重力,另一部分和pressureGradient这一项组合起来作为浮力。” 您是说连续相的动量方程中的重力项要被拆分吗?据我调查,颗粒所受重力中已经考虑了流体的浮力影响,那么,颗粒对流体应该有相反的作用力(体积力的源项),那么连续相动量方程里的重力项似乎可以解释了,是作为颗粒的耦合项加入的。

                    @东岳 “pressureGradient是粒子上下表面引致的压力差项,粒子若非常小,则可忽略。但若重力gravity若被忽略,则完全没有浮力影响。” 颗粒浮力的影响通过连续相的密度以及重力加速度体现出来,关于https://wenku.baidu.com/view/8fafedfef705cc175527097a.html文献中提到的考虑了压力梯度力后,浮力项不起作用了,因为两者大小相等,方向相反,在openfoam中还没有验证,应该根据具体案例和压力分布相关

                    1 Reply Last reply Reply Quote
                    • A
                      Alvin @dzw05 last edited by

                      @dzw05
                      “没错,在离散相的gravity中,表达式是massg_(1.0 - p.rhoc()/p.rho()),即考虑了连续相和离散相的密度比,这个是浮力的%(#c43d3d)[主要来源]。” 浮力还有哪些其它来源呢?
                      “如果单纯的将连续相动量方程中的重力g删除,而不是设为0,那么其实并没有影响粒子浮力的计算,因为粒子运动方程中根本没有出现连续相的压力。” 粒子运动方程中出现的连续相的压力,不是可以通过压力梯度力来体现出来了吗?这样一来,连续相动量方程中的耦合项或者压力项需做相应调整了。

                      @东岳 您提出存在下面的两套方程,是等效的吗?

                      D 1 Reply Last reply Reply Quote
                      • 李东岳
                        李东岳 管理员 last edited by 李东岳

                        这俩套方程都是文献中看到的,可以参考本帖24楼。我自己的求解器中采用这种形式

                        \begin{equation}
                        m_\mathrm{dpm}\frac{\partial \mathbf{U}_ \mathrm{dpm}}{\partial t}=\mathbf{F}_ \mathrm{drag}+m_\mathrm{dpm}\mathbf{g}+\frac{m_\mathrm{dpm}}{\rho_\mathrm{dpm}}\nabla p_\mathrm{c}+\mathrm{Others}
                        \end{equation}

                        俩种形式可以互相转换。依据$p=p_0+\rho_\rc \bfg\bfh$即可相互推导 :mianmo:

                        CFD高性能服务器 http://dyfluid.com/servers.html

                        1 Reply Last reply Reply Quote
                        • D
                          dzw05 教授 @Alvin last edited by 李东岳

                          @alvin @东岳 贴出来的两套方程才是问题的根源所在。目前OpenFOAM中的压力梯度项并没有出现连续相的压力,而是所谓的rhoc*Du/Dt。

                          @alvin 不可压缩动量方程中的p,其实是p/rho,这个和可压缩方程中是不同的,simpleFoam中也是这样处理的啊。难道咱们讨论的方程不是同一个吗?至少采用DPMFoam计算液-固流动时,连续相的压力是没有问题的。

                          自主匠心,普惠仿真。

                          1 Reply Last reply Reply Quote
                          • 李东岳
                            李东岳 管理员 last edited by

                            \begin{equation}
                            \label{DPM} m_\dpm\frac{\rd \bfU_\dpm}{\rd t}=-\frac{m_\dpm}{\rho_\dpm}\nabla p+m_\dpm\bfg+\frac{m_\dpm}{\rho_\dpm}\frac{3}{4}\frac{C_\rD\rho_\rc}{d_\rd}\left|\bfU_\rc-\bfU_\dpm\right|\left(\bfU_\rc-\bfU_\dpm\right)+\mathrm{OtherForces}.
                            \end{equation}
                            伯努利:
                            \begin{equation}
                            \label{bnl} \nabla p=\rho_\rc\bfg
                            \end{equation}
                            代入:
                            \begin{equation}
                            \label{DPM3} m_\dpm\frac{\rd \bfU_\dpm}{\rd t}=m_\dpm\bfg\left(1-\frac{\rho_\rc}{\rho_\dpm}\right)+\frac{m_\dpm}{\rho_\dpm}\frac{3}{4}\frac{C_\rD\rho_\rc}{d_\rd}\left|\bfU_\rc-\bfU_\dpm\right|\left(\bfU_\rc-\bfU_\dpm\right)+\mathrm{OtherForces}.
                            \end{equation}
                            :quwan:

                            CFD高性能服务器 http://dyfluid.com/servers.html

                            1 Reply Last reply Reply Quote
                            • A
                              Alvin last edited by

                              @dzw05 抱歉,理解有限,“ 目前OpenFOAM中的压力梯度项并没有出现连续相的压力,而是所谓的rhoc*Du/Dt。” 这句话不是很理解.
                              “不可压缩动量方程中的p,其实是p/rho,这个和可压缩方程中是不同的,simpleFoam中也是这样处理的啊。”从量纲上确实是这样,查看过simpleFoam的方程,代码中没发现有p/rho这样的处理,您能从源码角度讲一下它的实现过程吗(源码位置?),希望不吝赐教?

                              @东岳 再次谢谢老师的指导

                              D 1 Reply Last reply Reply Quote
                              • D
                                dzw05 教授 @Alvin last edited by

                                @alvin (1)rhoc*Du/Dt,这个是在src\lagrangian\intermediate\submodels\Kinematic \ParticleForces \PressureGradient\PressureGradientForce.T.C代码中出现的,应该对应于东岳写的第一套方程。
                                (2)至于压力这个,源码确实没有出现,但推导的时候就是这样出来的。simpleFoam计算输出的p也不是真正的压力,而是p/rho,你要看真实的压力的话,应该乘以连续相的密度。

                                自主匠心,普惠仿真。

                                1 Reply Last reply Reply Quote
                                • A
                                  Alvin last edited by 李东岳

                                  @东岳 这样说来,利用现有的DPMFoam(3.0.1版本)计算气液两相流,若气泡同时考虑压力梯度力和重力(massg_(1.0 - p.rhoc()/p.rho())),可能会导致气泡浮力失效?

                                  @dzw05 谢谢您,我再看一下。“至于压力这个,源码确实没有出现,但推导的时候就是这样出来的。simpleFoam计算输出的p也不是真正的压力,而是p/rho,你要看真实的压力的话,应该乘以连续相的密度。”
                                  谢谢您的解答。

                                  @东岳 @dzw05 离散相方程中的压力梯度力确实是rhocDu / Dt这种形式,和浮力(rhocg)是两个概念

                                  1 Reply Last reply Reply Quote
                                  • 李东岳
                                    李东岳 管理员 last edited by 李东岳

                                    @Alvin 不知道你的问题解决没有。我在我自己写的求解器中,通过

                                    1. 将p方程换为p_rgh方程
                                    2. 将g去掉

                                    解决了。因为轻颗粒的浮力在方程\eqref{gra}中包含了,重颗粒也如此。就像 @dzw05 说的,连续相可以认为是单向不可压缩流,类似simpleFoam。 @Alvin 你试试将DPMFoam中的phig去掉,运算看看?

                                    CFD高性能服务器 http://dyfluid.com/servers.html

                                    M 1 Reply Last reply Reply Quote
                                    • A
                                      Alvin last edited by

                                      @东岳 问题解决了,如您所说,去掉动量方程中的重力加速度项,案例结果就合理了。我在考虑,动力方程中的重力项的物理含义是什么,颗粒受到周围流体对它施加的浮力,反之,根据牛顿第三定律,流体也应该受到对应颗粒浮力的反作用力,方向相反,这个重力项是否就是这个反作用力,尚未查到相关文献,只是一种猜测。

                                      李东岳 1 Reply Last reply Reply Quote
                                      • 李东岳
                                        李东岳 管理员 @Alvin last edited by

                                        @alvin DPMFoam中还有个小bug,不知道会不会影响你的结果

                                        http://www.cfd-china.com/topic/969/mppicinterfoam中的bug/18

                                        CFD高性能服务器 http://dyfluid.com/servers.html

                                        1 Reply Last reply Reply Quote
                                        • A
                                          Alvin last edited by

                                          @ 东岳 您方便说明一下“......我验证了双向耦合中界面交换相、相分数的耦合作用大小。在我测试的算例中,相分数的耦合作用较小......”测试过程,修改了哪些参数? 相分数的耦合作用较小是通过和哪个对比的?

                                          1 Reply Last reply Reply Quote
                                          • 李东岳
                                            李东岳 管理员 last edited by

                                            多相的耦合主要在于相分数耦合$\alpha_\rd$和动量界面交互力$\bfM$的耦合。要验证相互作用的大小,要么把$\bfM$设为0计算,要么把$\alpha_\rd$设为1计算。看二者的相对重要程度。

                                            CFD高性能服务器 http://dyfluid.com/servers.html

                                            A 1 Reply Last reply Reply Quote
                                            • A
                                              Alvin @李东岳 last edited by

                                              @东岳 再次感谢您的耐心讲解,受教

                                              1 Reply Last reply Reply Quote
                                              • Y
                                                yfclark 讲师 last edited by

                                                @dzw05 @东岳 从大家的讨论看是不是把重力设为0之后,颗粒相控制方程中的压力梯度和重力项都变成了0,还有那个ducdt我也看了一下好像和公式(6)也对不上啊

                                                1 Reply Last reply Reply Quote
                                                • 李东岳
                                                  李东岳 管理员 last edited by

                                                  我写的那个公式6?openfoam里面压力梯度项和我那个不一样,用的你说的DUc/Dt

                                                  CFD高性能服务器 http://dyfluid.com/servers.html

                                                  1 Reply Last reply Reply Quote
                                                  • M
                                                    myjimp @李东岳 last edited by

                                                    @李东岳 李老师,这样修改DPMFoam可以计算稀相的吗?

                                                    李东岳 1 Reply Last reply Reply Quote
                                                    • 李东岳
                                                      李东岳 管理员 @myjimp last edited by

                                                      @myjimp 可以,没问题

                                                      CFD高性能服务器 http://dyfluid.com/servers.html

                                                      1 Reply Last reply Reply Quote
                                                      • First post
                                                        Last post

                                                      CFD中文网 | 东岳流体 | 京ICP备15017992号-2
                                                      论坛登录问题反馈可联系 li.dy@dyfluid.com