【FLUENT案例】02:DPM模型
1.1 案例描述
1.2 学习目标
1.3 模拟内容
2 启动FLUENT并导入网格
3 材料设置
4 Cell Zones Conditions
5 Calculate
6 定义Injecions
7 定义DPM材料
8 颗粒追踪
9 设置粒子分布直径
10 粒子追踪
11 统计出口面上粒径分布
12 修改壁面边界以捕捉颗粒
13 颗粒追踪
14 考虑湍流效应
15 考虑冲蚀
16 后处理查看壁面冲蚀云图
17 导出数据到CFD-POST
18 CFD-POST操作
本案例延续案例1的模型及计算结果。
1 引子
1.1 案例描述
本案例描述了如何在FLUENT中使用DPM模型。在前面的案例中,模拟了T型管中的单相流动。本案例将使用相同的T型管模型,模拟颗粒进入T型管后的运动轨迹。
1.2 学习目标
本案例学习目标包括:
- 定义颗粒材料
- 向计算域中注入颗粒
- 使用常数或分布函数定义颗粒粒径
- 包含颗粒的随机效应
- 预测管道壁面的冲蚀损伤
1.3 模拟内容
本案例模拟的是几何模型与案例1相同,不过介质为丙烷,同时还有水滴注入到计算域中。
- 模拟液滴被气体带入管道中的运动轨迹
- 使用分布粒径,预测固体壁面上的冲蚀(或附着)
2 启动FLUENT并导入网格
采用案例1的Case,导入过程这里不详述。
3 材料设置
- 在FLUENT材料库中添加材料Propane(c3h8)
4 Cell Zones Conditions
- 设置计算域材料为Propane
5 Calculate
- 设置计算150步,获取新的计算结果
6 定义Injecions
- 鼠标双击模型树节点Discrete Phase > Injections,在弹出的对话框中选择按钮Create

- 在弹出的Set Injection Properties对话框中,进行如下图所示的设置。

7 定义DPM材料
- 鼠标双击模型树节点Materials > Inert Particle > anthracite,弹出材料属性设置对话框,改变Density参数值为1000,如下图所示,点击按钮Change/Create并关闭对话框。

8 颗粒追踪
- 鼠标双击模型树节点Results > Graphics > Particle Tracks,弹出颗粒追踪参数设置对话框

- 点击对话框中的选项Draw Mesh前的复选框,弹出Mesh Display对话框,点击Display按钮。点击Close按钮关闭对话框。

返回Particle Tracks面板,选择Release from Injections列表框中的injection-0,点击按钮Track进行粒子追踪
此时TUI窗口显示信息如图所示:

图中信息为:追踪粒子数量158个,其中逃逸158个,丢失0个,捕捉0个,蒸发0个,未完成0个
点击Display按钮,显示粒子追踪图(颗粒停留时间),如下图所示。

关于DPM的一些分析:
在本例中,液滴从”inlet-z”边界释放进入计算域,该边界上有158个网格,追踪158个轨迹
- 每一个液滴直径均为1×104m1×104m,其密度为1000kg/m31000kg/m3,因此液滴质量为5.22×10−10kg5.22×10−10kg
- 这里假设从相同位置以相同条件进入计算域的粒子具有相同的轨迹
- 计算中输入的质量流量为1kg/s,因此158个粒子用于表征1.2×1071.2×107个真实粒子(1/(5.22×10−10×1581/(5.22×10−10×158)
- The droplet (or particle) progresses through the domain through a large number of small steps. At each step, the solver computes the force balance acting on a single droplet (diameter 1x10-4 m) – hence considering the drag with the surrounding fluid, droplet inertia, and if applicable gravity. The mass transported is that of all the droplets in that stream (1.2x107 droplets/sec).
- 液滴与连续相间可以是单向耦合也可以是双向耦合。本案例采用的是单向耦合。
- 单向耦合意味着流体可以影响DPM粒子的动量及能量,但是DPM粒子运动不会影响到其周围连续相的流场。因此可以在后处理中计算DPM轨迹
- 若有必要的话,可以通过在DPM模型设置面板中激活Interaction with Continuous Phase选项来开启双向耦合。双向耦合计算中连续相收敛要比单向计算困难,往往需要更多的迭代步,在计算的过程中,没有必要再每一个流动迭代步中计算DPM轨迹,通常在5-10个迭代步后更新粒子轨迹。
9 设置粒子分布直径
- 设置计算域材料为Propane
5 Calculate
- 设置计算150步,获取新的计算结果
6 定义Injecions
- 鼠标双击模型树节点Discrete Phase > Injections,在弹出的对话框中选择按钮Create

- 在弹出的Set Injection Properties对话框中,进行如下图所示的设置。

7 定义DPM材料
- 鼠标双击模型树节点Materials > Inert Particle > anthracite,弹出材料属性设置对话框,改变Density参数值为1000,如下图所示,点击按钮Change/Create并关闭对话框。

8 颗粒追踪
- 鼠标双击模型树节点Results > Graphics > Particle Tracks,弹出颗粒追踪参数设置对话框

- 点击对话框中的选项Draw Mesh前的复选框,弹出Mesh Display对话框,点击Display按钮。点击Close按钮关闭对话框。

返回Particle Tracks面板,选择Release from Injections列表框中的injection-0,点击按钮Track进行粒子追踪
此时TUI窗口显示信息如图所示:

图中信息为:追踪粒子数量158个,其中逃逸158个,丢失0个,捕捉0个,蒸发0个,未完成0个
点击Display按钮,显示粒子追踪图(颗粒停留时间),如下图所示。

关于DPM的一些分析:
在本例中,液滴从”inlet-z”边界释放进入计算域,该边界上有158个网格,追踪158个轨迹
- 每一个液滴直径均为1×104m1×104m,其密度为1000kg/m31000kg/m3,因此液滴质量为5.22×10−10kg5.22×10−10kg
- 这里假设从相同位置以相同条件进入计算域的粒子具有相同的轨迹
- 计算中输入的质量流量为1kg/s,因此158个粒子用于表征1.2×1071.2×107个真实粒子(1/(5.22×10−10×1581/(5.22×10−10×158)
- The droplet (or particle) progresses through the domain through a large number of small steps. At each step, the solver computes the force balance acting on a single droplet (diameter 1x10-4 m) – hence considering the drag with the surrounding fluid, droplet inertia, and if applicable gravity. The mass transported is that of all the droplets in that stream (1.2x107 droplets/sec).
- 液滴与连续相间可以是单向耦合也可以是双向耦合。本案例采用的是单向耦合。
- 单向耦合意味着流体可以影响DPM粒子的动量及能量,但是DPM粒子运动不会影响到其周围连续相的流场。因此可以在后处理中计算DPM轨迹
- 若有必要的话,可以通过在DPM模型设置面板中激活Interaction with Continuous Phase选项来开启双向耦合。双向耦合计算中连续相收敛要比单向计算困难,往往需要更多的迭代步,在计算的过程中,没有必要再每一个流动迭代步中计算DPM轨迹,通常在5-10个迭代步后更新粒子轨迹。
9 设置粒子分布直径
- 鼠标双击模型树节点Discrete Phase > Injections,在弹出的对话框中选择按钮Create
- 在弹出的Set Injection Properties对话框中,进行如下图所示的设置。
7 定义DPM材料
- 鼠标双击模型树节点Materials > Inert Particle > anthracite,弹出材料属性设置对话框,改变Density参数值为1000,如下图所示,点击按钮Change/Create并关闭对话框。

8 颗粒追踪
- 鼠标双击模型树节点Results > Graphics > Particle Tracks,弹出颗粒追踪参数设置对话框

- 点击对话框中的选项Draw Mesh前的复选框,弹出Mesh Display对话框,点击Display按钮。点击Close按钮关闭对话框。

返回Particle Tracks面板,选择Release from Injections列表框中的injection-0,点击按钮Track进行粒子追踪
此时TUI窗口显示信息如图所示:

图中信息为:追踪粒子数量158个,其中逃逸158个,丢失0个,捕捉0个,蒸发0个,未完成0个
点击Display按钮,显示粒子追踪图(颗粒停留时间),如下图所示。

关于DPM的一些分析:
在本例中,液滴从”inlet-z”边界释放进入计算域,该边界上有158个网格,追踪158个轨迹
- 每一个液滴直径均为1×104m1×104m,其密度为1000kg/m31000kg/m3,因此液滴质量为5.22×10−10kg5.22×10−10kg
- 这里假设从相同位置以相同条件进入计算域的粒子具有相同的轨迹
- 计算中输入的质量流量为1kg/s,因此158个粒子用于表征1.2×1071.2×107个真实粒子(1/(5.22×10−10×1581/(5.22×10−10×158)
- The droplet (or particle) progresses through the domain through a large number of small steps. At each step, the solver computes the force balance acting on a single droplet (diameter 1x10-4 m) – hence considering the drag with the surrounding fluid, droplet inertia, and if applicable gravity. The mass transported is that of all the droplets in that stream (1.2x107 droplets/sec).
- 液滴与连续相间可以是单向耦合也可以是双向耦合。本案例采用的是单向耦合。
- 单向耦合意味着流体可以影响DPM粒子的动量及能量,但是DPM粒子运动不会影响到其周围连续相的流场。因此可以在后处理中计算DPM轨迹
- 若有必要的话,可以通过在DPM模型设置面板中激活Interaction with Continuous Phase选项来开启双向耦合。双向耦合计算中连续相收敛要比单向计算困难,往往需要更多的迭代步,在计算的过程中,没有必要再每一个流动迭代步中计算DPM轨迹,通常在5-10个迭代步后更新粒子轨迹。
9 设置粒子分布直径

- 鼠标双击模型树节点Results > Graphics > Particle Tracks,弹出颗粒追踪参数设置对话框
- 点击对话框中的选项Draw Mesh前的复选框,弹出Mesh Display对话框,点击Display按钮。点击Close按钮关闭对话框。
返回Particle Tracks面板,选择Release from Injections列表框中的injection-0,点击按钮Track进行粒子追踪
此时TUI窗口显示信息如图所示:
图中信息为:追踪粒子数量158个,其中逃逸158个,丢失0个,捕捉0个,蒸发0个,未完成0个
点击Display按钮,显示粒子追踪图(颗粒停留时间),如下图所示。
关于DPM的一些分析:
在本例中,液滴从”inlet-z”边界释放进入计算域,该边界上有158个网格,追踪158个轨迹
- 每一个液滴直径均为1×104m1×104m,其密度为1000kg/m31000kg/m3,因此液滴质量为5.22×10−10kg5.22×10−10kg
- 这里假设从相同位置以相同条件进入计算域的粒子具有相同的轨迹
- 计算中输入的质量流量为1kg/s,因此158个粒子用于表征1.2×1071.2×107个真实粒子(1/(5.22×10−10×1581/(5.22×10−10×158)
- The droplet (or particle) progresses through the domain through a large number of small steps. At each step, the solver computes the force balance acting on a single droplet (diameter 1x10-4 m) – hence considering the drag with the surrounding fluid, droplet inertia, and if applicable gravity. The mass transported is that of all the droplets in that stream (1.2x107 droplets/sec).
- 液滴与连续相间可以是单向耦合也可以是双向耦合。本案例采用的是单向耦合。
- 单向耦合意味着流体可以影响DPM粒子的动量及能量,但是DPM粒子运动不会影响到其周围连续相的流场。因此可以在后处理中计算DPM轨迹
- 若有必要的话,可以通过在DPM模型设置面板中激活Interaction with Continuous Phase选项来开启双向耦合。双向耦合计算中连续相收敛要比单向计算困难,往往需要更多的迭代步,在计算的过程中,没有必要再每一个流动迭代步中计算DPM轨迹,通常在5-10个迭代步后更新粒子轨迹。
9 设置粒子分布直径
前面对于粒子直径采用常数,这里改为使用Rosin-Rammler分布。
R-R分布指的是颗粒质量分数与直径间的函数关系:
式中,d¯d¯为平均粒径
- 双击模型树节点Models > Discrete Phase(On) > Injections > Injection-0,如下图所示。
- 在弹出的对话框中进行如下设置
- 设置Diameter Distribution为Rosin-rammler
- 设置Min Diameter为1e-4
- 设置Max Diameter为5e-4
- 设置Mean Diameter为4e-4
- 设置Number of Diameters为10
- 点击OK按钮确认操作并关闭对话框。如下图所示。
10 粒子追踪
- 采用第8步相同的方式进行Particle Tracks
粒子追踪(颗粒停留时间)如下图所示。
此时TUI窗口消息如下图所示。
此时追踪的粒子数量变为了1580个,是因为在上一步中设置Number of Diameters为10,所以总的粒子数量为10×158=158010×158=1580个。
11 统计出口面上粒径分布

粒子追踪(颗粒停留时间)如下图所示。

此时TUI窗口消息如下图所示。

此时追踪的粒子数量变为了1580个,是因为在上一步中设置Number of Diameters为10,所以总的粒子数量为10×158=158010×158=1580个。
-鼠标点击模型树节点Results > Reports > Discrete Phase > Sample,如下图所示。
- 在弹出的对话框(如下图所示)中选择Boundaries为outlet,选择Release from Injections为injection-0,点击Compute按钮,如下图所示。
- 点击模型树节点Results > Reports > Discrete Phase > Histogram,弹出如下图所示的对话框。
- 点击Read…按钮,加载上一步生成的文件outlet.dpm
- 进行如下图所示设置。选择Sample为outlet,选择variable为diameter,选择weight为mass-flow
- 点击Plot按钮显示图像。如下图所示。(也可以将数据输出,然后用其他后处理工具绘图)
12 修改壁面边界以捕捉颗粒
- 鼠标双击模型树节点Boundary Conditions > wall-fluid(wall),弹出边界设置对话框
- 切换到DPM标签页,设置Boundary cond. Type为Trap,如下图所示
- 点击OK按钮关闭对话框

13 颗粒追踪

按第8步相同的方法进行粒子追踪。TUI窗口显示如下图所示的信息。
可以看出,释放了1580个颗粒,其中逃逸857个,捕捉723个。
颗粒追踪(粒子停留时间)如下图所示。
14 考虑湍流效应
- 双击模型树节点Models > Discrete Phase(On) > Injections > Injection-0,弹出如下图所示对话框。
- 切换至Turbulent Dispersion标签页,激活Discrete Random Walk Model,设置Number of Tries为10,点击OK按钮关闭对话框。

- 采用如步骤8所描述的粒子追踪方法。
TUI窗口显示消息如下图所示。
从图中可以看出,追踪颗粒数量变为了15800,其中逃逸5324,捕捉3591,追踪未完成6885
追踪颗粒之所以变为了15800,是因为使用随机模型的时候设置了Number of Tries为10,故总颗粒数量为158×NumberofDiameters×NumberofTries158×NumberofDiameters×NumberofTries
这里反映有未完成颗粒,可以通过增大Discrete Phase Model面板中的Max Number of Step来改善。该值默认为500。将此值增大至2000,则未完成颗粒消失。
15 考虑冲蚀
- 计算冲蚀必须使用双向耦合
为计算资源考虑,关闭Discrete Random Walk
双击模型树节点Discrete Phase,在弹出的对话框中进行如下图所示的设置。

进入Solution > Run Calculation节点,进行如下图所示设置。

由于本例设置的颗粒材料为液滴,因此壁面采用的是Trap,若为固态颗粒计算冲蚀,则需要设置壁面行为为Reflect。实际计算时还需要对壁面DPM行为参数进行设置,这里采用默认参数。
16 后处理查看壁面冲蚀云图
- 双击模型树节点Results > Graphics > Contours ,弹出如下图所示对话框
- 在弹出的对话框中进行如下图所示设置
点击Display按钮显示冲蚀云图,如下图所示。

17 导出数据到CFD-POST

TUI窗口显示消息如下图所示。

从图中可以看出,追踪颗粒数量变为了15800,其中逃逸5324,捕捉3591,追踪未完成6885
追踪颗粒之所以变为了15800,是因为使用随机模型的时候设置了Number of Tries为10,故总颗粒数量为158×NumberofDiameters×NumberofTries158×NumberofDiameters×NumberofTries
这里反映有未完成颗粒,可以通过增大Discrete Phase Model面板中的Max Number of Step来改善。该值默认为500。将此值增大至2000,则未完成颗粒消失。
- 计算冲蚀必须使用双向耦合
为计算资源考虑,关闭Discrete Random Walk
双击模型树节点Discrete Phase,在弹出的对话框中进行如下图所示的设置。
进入Solution > Run Calculation节点,进行如下图所示设置。
由于本例设置的颗粒材料为液滴,因此壁面采用的是Trap,若为固态颗粒计算冲蚀,则需要设置壁面行为为Reflect。实际计算时还需要对壁面DPM行为参数进行设置,这里采用默认参数。
16 后处理查看壁面冲蚀云图
- 双击模型树节点Results > Graphics > Contours ,弹出如下图所示对话框
- 在弹出的对话框中进行如下图所示设置
点击Display按钮显示冲蚀云图,如下图所示。

17 导出数据到CFD-POST

点击Display按钮显示冲蚀云图,如下图所示。

dat文件中并没有包含DPM颗粒轨迹数据,因此需要采用导出的方式将颗粒轨迹导出到文件中。
- 利用菜单File > Export > Particle History Data,弹出如下图所示对话框
- 点击按钮Exported Particle Variables…,弹出如下图所示对话框,在对话框中Available Particle Variables列表项中选择需要导出的变量,点击按钮Add Variables将选择的变量添加到左侧的列表中,点击OK按钮关闭对话框。
- 返回到Export Particle History Data对话框,点击Write按钮输出颗粒轨迹数据。
- 关闭FLUENT返回至Workbench工程面板。
18 CFD-POST操作
- 从左侧的组件列表中选择Result拖拽至A3单元格上,双击工程面板中的B2单元格,进入CFD-POST环境

- 利用菜单File > Import > Import Fluent Particle Track File,如图所示
打开如下图所示对话框,找到上一步导出的颗粒轨迹文件。

- 颗粒轨迹导入后,点击模型树节点FLUENT PT for Anthracite,在下方属性窗口中,设置Max Tracks为500


打开如下图所示对话框,找到上一步导出的颗粒轨迹文件。

- 设置Color标签页下,进行如下图所示设置
- 点击Apply按钮,图形框显示粒子追踪图如下图所示。
【FLUENT案例】02:DPM模型的更多相关文章
- 【FLUENT案例】04:利用DDPM+DEM模拟鼓泡流化床
1 引言2 问题描述3 准备4 FLUENT前处理 1 引言 DEM碰撞模型扩展了DPM模型的功能,能够用于稠密颗粒流动的模拟.该模型可以与DDPM(Dense DPM)模型何用以模拟颗粒对主相的阻碍 ...
- web综合案例02
web综合案例02 web综合案例02 web综合案例02 ... ... 内容待添加
- 【FLUENT案例】05:DDPM模型
本例利用FLUENT的DDPM模型对提升管进行模拟. 1 介绍 本案例演示在FLUENT中利用稠密离散相模型(Dense discrete phase model,DDPM)模拟2D提升管.DDPM模 ...
- 【FLUENT案例】03:冲蚀
1 引子2 问题描述3 模型准备4网格5模型设置6 材料设置7 设定注入器8 修改材料9 Cell zone Conditions设置10 边界条件设置10.1 inlet入口设置10.2 出口设置1 ...
- 【FLUENT案例】06:与EDEM耦合计算
折腾了很久才把耦合模块搞定,用的还是网上别人编译好的UDF,不完美.自己编译的时候,老是提示无法找到fluent中的一些头文件,个人怀疑是操作系统和visual studio的问题,有时间换个系统和V ...
- 【FLUENT案例】01:T型管混合器中的流动与传热
案例目录 1 引子1.1 案例描述1.2 案例学习目标2 计算仿真目标3 启动FLUENT并读入网格4 FLUENT工作界面5 网格缩放及检查6 修改单位7 设置模型8 定义新材料9 计算域设置10 ...
- RNN与应用案例:注意力模型与机器翻译
1. 注意力模型 1.2 注意力模型概述 注意力模型(attention model)是一种用于做图像描述的模型.在笔记6中讲过RNN去做图像描述,但是精准度可能差强人意.所以在工业界,人们更喜欢用a ...
- 02 Django模型
ORM 的作用 ORM 作用示意图 ORM 框架的功能 建立模型类和表之间的对应关系,允许通过面向对象的方式来操作数据库 根据设计的模型类生成数据库中的表格. 通过方便的配置就可以进行数据库的切换 数 ...
- DPM模型简单记录
这个模型思想很直观(有误),但是写的源码太难懂了(看的是release-3的版本,最接近Object Detection with Discriminatively Trained Part Base ...
随机推荐
- backup4:数据库自动备份,自动删除备份文件
一:手写TSQL 脚本 1,自动备份 每周进行一次Database 的 Full Backup,设置 Schedule Interval 为Weekly use master go ) )+N'.ba ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(13)-系统日志和异常的处理③
系列目录 上一节我们讲了如何捕获异常和记录日志,这一节我们讲,没有捕获的或者忘记捕获的异常包括404错误等,我们统一处理这个异常. 这一讲是利用 Application_Error 捕获所有异常,全局 ...
- Django:手把手带你入门
一.开发环境: Python:2.7:PyCharm 4 二.Django的安装: 打开Pycharm --> 新建项目--> 看图操作--> 自动安装Django环境 三.创建第一 ...
- jQuery-template.js学习
花了点时间,看了下jQuery-template.js,不多废话,先上结构 jQuery.each({..},function(){}) jQuery.fn.extend({..}) jQuery.e ...
- 使用MATLAB对图像处理的几种方法(下)
试验报告 一.试验原理: 图像点处理是图像处理系列的基础,主要用于让我们熟悉Matlab图像处理的编程环境.灰度线性变换和灰度拉伸是对像素灰度值的变换操作,直方图是对像素灰度值的统计,直方图均衡是对 ...
- 深入理解Spring--动手实现一个简单的SpringIOC容器
接触Spring快半年了,前段时间刚用Spring4+S2H4做完了自己的毕设,但是很明显感觉对Spring尤其是IOC容器的实现原理理解的不到位,说白了,就是仅仅停留在会用的阶段,有一颗想读源码的心 ...
- 代码的坏味道(11)——霰弹式修改(Shotgun Surgery)
坏味道--霰弹式修改(Shotgun Surgery) 霰弹式修改(Shotgun Surgery) 类似于 发散式变化(Divergent Change) ,但实际上完全不同.发散式变化(Diver ...
- .NET 同步与异步之封装成Task(五)
本随笔续接:.NET 实现并行的几种方式(四) 前篇随笔已经介绍了几种可以实现并发的方式,其中异步方法.是最简便的方式.而 异步方式是基于 Task 和 async修饰符和await运算符实现的. 换 ...
- Autofac 组件、服务、自动装配 《第二篇》
一.组件 创建出来的对象需要从组件中来获取,组件的创建有如下4种(延续第一篇的Demo,仅仅变动所贴出的代码)方式: 1.类型创建RegisterType AutoFac能够通过反射检查一个类型,选择 ...
- bzoj1854--并查集
这题有一种神奇的并查集做法. 将每种属性作为一个点,每种装备作为一条边,则可以得到如下结论: 1.如果一个有n个点的连通块有n-1条边,则我们可以满足这个连通块的n-1个点. 2.如果一个有n个点的连 ...