1. DPM颗粒介绍
在文章124、Fluent易混淆概念2:DPM模型Parcel数量≠真实颗粒数量,我们详细介绍了DPM模型中parcel的概念—每个parcel代表了一群具有相似特性的真实颗粒。
但是无论是分析除尘器效率、评估颗粒物排放浓度,还是研究气溶胶传播规律,我们最终需要的都是真实颗粒的数量信息,这该怎么办呢??
今天来深入聊聊大家最关心的一个问题:在DPM模拟中,我们该如何得到真实的颗粒数量浓度?
这里我总结了三种方式:
公式计算
后处理 sample
勾选Mean Values
2. 几个重要概念
我们首先来介绍公式换算方法,这种方法是最基础的,需要我们深入理解DPM模型中各参数的含义,然后才能正确的换算。
2.1 parcel数量
Parcel的概念在文章中已经详细介绍过,这里简单说明:
Parcel是颗粒团,代表着成千上万个性质完全相同的真实颗粒。软件在计算时,追踪的是这些“颗粒包”的运动轨迹。一个颗粒包代表了许多个真实的颗粒。
如果Injection type选择surface,Injection Surfaces选择in,则parcel数量就是in这个surface中的face数量,详细内容可以参考文章:一百、Fluent DPM模型如何控制入射的Parcel数量
我们下面的计算都默认Injection type选择surface,如果选择其他类型,换算方式是一样的。
2.2 颗粒数量
不少同学可能会有这样的疑问:颗粒在流场中是不断运动、不断分布变化的,那么我们口中常说的“颗粒数量”究竟是怎么定义的呢?事实上,单纯说“颗粒数量”并不够准确。在流场中,颗粒数量的衡量应当区分为两个维度:
一是空间意义上的数量,也就是颗粒数浓度。它描述的是在单位体积内包含了多少颗颗粒,单位常用“个/m³”。
这是一种静态的空间分布概念,就像我们看一杯水里溶解了多少盐,关注的是在这个体积里“含有多少”。
二是时间意义上的数量,即颗粒数流量或质量流量。它描述的是在单位时间内,有多少个颗粒(或多少质量的颗粒)通过某个截面,单位可以是“个/s”或者“kg/s”。
这是一种动态的输运概念,就像我们统计过路口每秒钟有多少辆车驶过一样。
在Fluent 的 DPM 模型,理解这两类“颗粒数量”的区别非常重要。我们要求解的也是这两种数量,而不是“多少个”数量。多少个数量这种说法是有问题的
2.3 Total Flow Rate总流量
在 DPM 模型里,Total Flow Rate 表示的是颗粒的总流量,也就是我们真正关心的颗粒质量流量。这个概念乍一听容易让人困惑:既然粒径、密度、速度都能直接设置,为什么还需要再强调一个 Total Flow Rate 呢?
很多同学产生疑惑的原因,正是把 parcel 和 真实颗粒混淆了。
在 DPM 里,parcel 并不等于颗粒。一个 parcel 代表的是“一群具有相同性质的颗粒”,它更像是一个“统计单元”而不是单独的一颗颗粒。
这并不能直接推导出真实的颗粒流量,因为 parcel 只是抽象的代表,它背后对应的真实颗粒数是未知的。
这时 Total Flow Rate 就登场了。它起到一个“标定”的作用:通过设定整体的质量流量,软件才能把每个 parcel 代表的真实颗粒数推算出来。
换句话说,Total Flow Rate 就像一个“秤砣”,帮我们把抽象的 parcel 转化为可以度量的真实颗粒数量。
延伸理解
可以把它类比成高速公路上的车流:
parcel 就像一辆“班车”,它并不只代表一名乘客,而是车上所有的人。
我们知道有多少辆班车从某个路口进入(parcel 数),也知道每辆车的速度(颗粒速度),可光靠这些还不知道总共有多少乘客经过。
只有当我们规定了总客流量(Total Flow Rate),才能反推出“每辆车到底载了多少人”,最终确定真实的通过人数。
因此, 只有在明确了总流量Total Flow Rate后,才能真正确定在这股气流中,实际有多少颗颗粒被携带和输运。
3. 方法1:公式方法
3.1 基本参数
在了解了上面的概念之后,我们就可以使用公式方法进行计算颗粒数量浓度(个/m3)或者颗粒数量流量( 个/s)了。
在 DPM 的设置中,颗粒的材料密度、速度、粒径以及质量流量,都可以通过 Injection 界面直接设定。下面我们给出一组参数作为例子:
这里我们先假设一个最简化的情况:颗粒是单分散的,也就是说所有颗粒粒径完全相同。这样做的好处是便于推导和理解,实际中如果是多分散体系,也可以在此基础上扩展。
在 DPM 的设置中,颗粒的材料密度、速度、粒径以及质量流量,都可以通过 Injection 界面直接设定。下面我们给出一组参数作为例子:
颗粒材料密度:ρp=1550 kg/m3
颗粒粒径:dp=0.001 m
颗粒质量流量:qm=1×10-3 kg/s
颗粒流速:up=1 m/s
3.2 单个颗粒的质量
单个颗粒质量可以通过体积与密度直接得到:
颗粒体积为球体体积:
代入数值:
因此,单个颗粒的质量大约为 8.1e-7 kg
3.3 单位时间内的颗粒数量(颗粒数流量)
已知总质量流量为 qm=1e-3 kg/s,那么每秒钟通过的颗粒数为:
这说明,在当前参数下,每秒钟大约有 1233 个颗粒通过截面。
3.4 颗粒数量浓度
数量浓度的计算需要引入模型的截面积 A,因为它反映的是“每立方米空间里有多少颗粒”。公式为:
这里A*up表示流体的体积流率(m³/s)。如果截面积取 A = 0.2 m2,那么:
即在该截面上,平均每立方米空间大约含有6282 个颗粒。
注:
这里我们默认了流体流速和颗粒流速相同,但实际上可能并非如此。如果颗粒粒径较小,颗粒流速设置为1m/s,流体流速设置为2m/s,但由于颗粒的stokes数非常小,颗粒会完全跟随流体流动,颗粒流速也会变成2m/s。
这一套流程非常适合编程化,因此我做了一个小程序来计算DPM模型的数量流量。大家想要的,点赞+推荐后,可以在评论区留言获取
4. 方法2:sample采样方法
对于稳态计算,在流场计算完成后,点击Sample
在Boundaries处选择out,统计出口处的颗粒数量
点击Compute后,控制栏会进行颗粒的计算,下面的47就表示parcel数量
计算完成后,会在cas文件夹下生成out.dpm文件,双击打开
其中
①表示每个parcel的质量流量,由于总质量流量是1e-3;一共47个parcel,所以每个parcel的质量流量为2.13e-5 kg/s;求和恰好是0.001 kg/s
②表示每个颗粒的质量为8.12e-7kg
③表示每个parcel的颗粒数流量,单位为 个/s。求和刚好是1232;和我们使用公式计算出的完全相同
④表示停留时间
⑤表示颗粒的parcel编号,刚好47个
注:
从这里我们能够看出,sample可以得到颗粒的数量流量(个/s),但是无法得到数量浓度(个/m3)
Sample 的另一个缺点是:必须依赖前置的参数设定。换句话说,如果我们想要得到合理的颗粒数量流量,就需要先输入一组猜测的注入参数,运行一次 Sample,再根据结果不断修正参数。
5. 方法3:勾选Mean Values
这种方式非常简单,只需要在离散相界面勾选Mean Values即可
勾选之后就会发现,本来后处理界面的Discrete Phase Variables多出来很多物理量
其中就有DPM Number Density,表示颗粒的数量浓度(个/m3)
当然还会多出很多其他的物理量,比如温度、粒径、D30等等,这里不再说明
我们来看看in处的数量浓度
会发现数量浓度时6275 个/m3,程序计算的也是6275 个/m3,说明我们的计算逻辑没有问题
注:
Mean Values也依赖前置的参数设定,需要先输入参数
必须勾选Interaction with Continuous Phase才可勾选Mean Values
Mean Values是一种平均统计的思想,实际上是不够准确的。
6. 三种方法总结
通过比较可以发现:在三种方法中,Sample 和 Mean Values 都有一个共同的限制——它们依赖于前置的参数设定,而且结果的维度是单一的。
换句话说,它们无法同时给出颗粒数量流量(个/s)和颗粒数量浓度(个/m³),往往只能获得其中之一。
相比之下,公式法就显得更灵活、更通用。只要明确工况参数(如流速、管径、颗粒密度、颗粒粒径和总质量流量),就能一步一步推导出所需的结果,不仅能够计算出质量流量,还可以同时得到数量流量和数量浓度。
为了方便大家使用,我专门写了一个小工具程序,只需输入相应参数,就能自动完成计算,避免了繁琐的手算与反复调试。如果你对这个小程序感兴趣,欢迎点赞+推荐,并在评论区留言获取。
来源:Fluent学习笔记