如果用DPMFoam求解稀相流会怎么样?误差大么
-
将pEqn.H改为p_rghEq.H之后,初步看起来是合理的,上图左侧为一个渐进的,下面越来越大的水压,右侧速度为0(1e-10)。这只一种单相附加重力的静态模拟。不过还需要进一步测试。
-
之前的植入,直接将将pEqn.H改为p_rghEq.H,是无密度速度方程+prgh方程。虽然流场预测正确,但这种植入在密度不为1的时候耦合项不正确导致速度过低。
-
下午植入了有密度的速度方程+p方程,在模拟静止的流体的时候压力正确,但有spurious velocity
我测试下带密度的方程+prhg方程。这个应该没问题了吧。目前openfoam这种可压缩动量方程+prgh方程是主流。
模拟静止液体由于数值原因(静水压力和重力平衡)带来的spurious velocity:
-
-
“1.之前的植入,直接将将pEqn.H改为p_rghEq.H,是无密度速度方程+prgh方程。虽然流场预测正确,但这种植入在密度不为1的时候耦合项不正确导致速度过低。”
在求解不可压缩流体时,动量方程等效于不考虑重力(其他单相不可压缩流体求解器如simpleFoam动量方程不考虑重力),无密度的速度方(密度为1)程中的耦合项在颗粒动量传递到连续相中时考虑了密度(密度为连续相的实际密度),这种处理对连续相的种类做了限定,比如说只能是空气。
“下午植入了有密度的速度方程+p方程,在模拟静止的流体的时候压力正确,但有spurious velocity”
您提到在模拟静止的流体的时候压力正确,言外之意,非静止流体还会出现之前速度发散的现象(流速预测过高)? -
@东岳 在 如果用DPMFoam求解稀相流会怎么样?误差大么 中说:
单相可压DPMFoam求解器,应用领域比较局限了。。。 -
@linhan-ge 谢谢您的解答。从量纲上压力确实除以了密度,但是压力的数值处理上,动量方程中除以的密度默认为1(适用于空气),这是最重要的。“压力相的相分数是由颗粒相传递过来的压力力梯度导致的”,若是稀相流,压力梯度力不考虑,压力项中也就不存在相分数了。回归正题,DPMFoam求解的稀相流,误差有多大(我自己用DPMFoam单纯计算流场的算例考虑重力后是发散的)?DPMFoam动量方程中的重力项该如何处理才好(舍掉可好)?
-
particleForces中的pressureGradient这项才是浮力项。
gravity中植入了浮力项。pressureGradient不是浮力项。pressureGradient是粒子上下表面引致的压力差项,粒子若非常小,则可忽略。但若重力gravity若被忽略,则完全没有浮力影响。
可进行类似浮力测试:
particleForces { //constantDrag //{ // constantValue 0.1; //} gravity; //浮力On or Off //pressureGradient //{ // U U.water; //} }
DPMFoam动量方程中的重力项单纯是流体的重力?
考虑连续相的密度大于离散相的密度(气液)。重力的作用:连续相植入重力项,导致静水压力的产生。离散相植入重力,同样导致离散相的下降。重力的作用对连续相和离散相都是一个方向的。但重力的植入同时会导致浮力的产生,浮力方向和重力相反,且浮力远大于重力,因此离散相向上移动。
如果连续相给离散相的浮力很重要(比如气液),不可以舍去。如果连续相给离散相的浮力不重要(比如气固),可以舍去
因为浮力和重力相关联。因此如果浮力很重要(气液中的气泡要上浮),连续相的重力的植入必须。如果浮力不重要(气固中的颗粒不会上浮),连续相的重力植入则无关紧要。
-
@dzw05 在 如果用DPMFoam求解稀相流会怎么样?误差大么 中说:
粒子运动方程中根本没有出现连续相的压力
这个是问题的根源。因为存在俩套方程:
-
第一种是你说的,不存在连续相的压力,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中采用的方法。
-
另一套方程是
\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理论指南。
-
-
@dzw05 参照 多相流数学模型 http://dyfluid.com/docs/multiphase.html 3.3 连续相模型之欧拉模型(宏观模型):
“从可压缩动量方程出发,假设密度是常数,那可以将密度提出来,就是现在采用的不可压缩动量方程形式啊,为什么会默认密度为1呢?”
假设密度是常数,那么即使将密度提出来,DPMFoam求解器中的动量方程中压力项还少除以了一个密度(除非密度是1)“具体来说在Openfoam中,particleForces中的pressureGradient这项才是浮力项。”
颗粒所受的浮力在颗粒所受重力项中已经体现(): 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中还没有验证,应该根据具体案例和压力分布相关
-
@dzw05
“没错,在离散相的gravity中,表达式是massg_(1.0 - p.rhoc()/p.rho()),即考虑了连续相和离散相的密度比,这个是浮力的%(#c43d3d)[主要来源]。” 浮力还有哪些其它来源呢?
“如果单纯的将连续相动量方程中的重力g删除,而不是设为0,那么其实并没有影响粒子浮力的计算,因为粒子运动方程中根本没有出现连续相的压力。” 粒子运动方程中出现的连续相的压力,不是可以通过压力梯度力来体现出来了吗?这样一来,连续相动量方程中的耦合项或者压力项需做相应调整了。@东岳 您提出存在下面的两套方程,是等效的吗?
-
这俩套方程都是文献中看到的,可以参考本帖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$即可相互推导
-
\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}