自己写的一个空化求解器的气泡数,气泡质量,气泡半径和气泡半径速度的守恒方程的一些疑问
-
大家好,我一直是在基于rhoPimpleFOAM去做一个空化的求解器。
基本思路是;
自己写的空化求解代码 -> rhoPimpleFOAM的代码 -> 自己定义的各个量在网格的守恒方程从第一步的空化求解代码得到四个自定义的值,分别是气泡数,气泡质量,气泡半径和气泡半径速度。
气泡质量 单位kg/m3
气泡数 单位1/m3
气泡半径 实际上是半径乘数量 单位 1/m2
气泡半径速度 实际上是半径速度乘数量 单位 1/m2s
以上四个就是自定义量的守恒方程,用以计算在格子中生成后,跟随流动的变化。
其中自定义通量phit1和密度rhot的定义分别为
在creatfieds处定义了rhot,然后在0文件夹中见了一个rhot文件作如下设置:
在creatfields中定义了phit1,我是仿照通量phi去写的
我自己简单的试了一下好像可以,但是在真的运算中气泡数缺出现了负值如图
不知各位有没有类似定义过守恒方程经验的同学能够提供点意见? -
@100yearsalone 我也是做空化这方面的,我有个问题想确认下,rhopimplefoam是基于密度基写的方程,请问你是如何引入两相流进去的呢?难道类似与正压模型那样,最后基于密度得到alpha分布吗?
-
@100yearsalone 恩,看了你的代码,感觉很奇怪的一点是,你的气泡数,气泡质量,气泡半径和气泡半径速度参数的输运方程本身有意义吗?能给出详细的推导过程,我看了看,初步看不出来你所建的输运方程的合理性。
-
你需要群体平衡模型来描述气泡相关的东西。你自己写的这个标量传输方程很简单,气泡数,气泡质量,气泡半径和气泡半径速度这些并不能够单纯的考虑成为标量传输。
个人思路:
- 气泡数量密度,你可以写为(跟你那个差不多)
\begin{equation}
\frac{\partial N}{\partial t}+\nabla\cdot(\mathbf{U}N)=0
\end{equation}
上述方程你没有考虑任何成核、结晶、蒸发等。也就是说你的气泡总数是不变化。 - 气泡质量你不需要传输方程。
- 气泡半径不存在传输方程,如果你不考虑气泡破碎等间断性变化等,气泡半径只能是连续性变化,只需要用理想气体状态方程计算就可以,因为在上面的方程中你没有考虑其他气泡产生和消失项。
- 气泡半径速度是什么?
另外,
rhoPimpleFoam
是单相求解器,基于这个求解器写方程是单向耦合。多向耦合你需要多向求解器。我建议你参考群体平衡模型理论。如果你觉得很复杂,可以参考简化版:
Predicting gas–liquid flow in a mechanically stirred tank
不要考虑应用工况(如stirred tank),在这篇文章中,方程12就是你的气泡数量,但是同时考虑了气泡的破碎聚并。相对来说模型已经完善了,你直接植入进去就行。我写的方程1就是不存在扩散、不存在一、二阶动力学的情况。上述文献请只参考
section 4
。 - 气泡数量密度,你可以写为(跟你那个差不多)
-
@李东岳
你好,李老师
我目前就想试试气泡数量密度的传输方程,我试了几个进行了测试。
你的回答公式无法正式显示,所以我自己查了一下这样定义了。
其中ng2是气泡数量密度,phis2是通量,我感觉应该是没问题的,但是实际运行后结果是
ng2没有发生移动。
我试了一下另外两种定义rg0和rg1,phis0=rhog0U,phis1=rhoU
成功流动,结果一样
rhog和rho
rho和rhog不一样,结果是一样,代表我以后传输方程只用随便定义一个密度是吗?如果不是的话,为什么一开始的式子没发生流动呢?
-
@100yearsalone 新写的phit1里的U,这个U是从0文件夹下的U调用的么?