【FLUENT案例】06:与EDEM耦合计算
折腾了很久才把耦合模块搞定,用的还是网上别人编译好的UDF,不完美。自己编译的时候,老是提示无法找到fluent中的一些头文件,个人怀疑是操作系统和visual studio的问题,有时间换个系统和VS再试试,其实也挺简单。
此测试案例是EDEM官方提供的。
软件设置分为两部分,其中包括在FLUENT设置和EDEM设置,计算模型可以采用同一模型,也可以采用不同的网格模型,这里采用同一套网格模型。(EDEM可以读入msh文件)。
1 案例描述
案例模型很简单,如下图所示的交叉管,流经模型的介质包括连续相的水和颗粒相。

2 FLUENT设置
2.1 导入网格文件
- 启动FLUENT,利用菜单File | Read | Mesh…导入网格文件intersection_vertical.msh
- 选择General面板中的Scale…按钮,确保网格模型尺寸,如下图所示。

2.2 General面板及Material
- 设置Time为Transient,采用瞬态计算
- 设置Z轴方向重力加速度-9.81
- 添加材料water-liquid




2.3 Cell Zone Conditions
- 设置Cell Zone Conditons里头的区域介质为water-liquid,如下图所示。

2.4 Boundary Conditions
- 设置inlet边界入口速度为5m/s,如下图所示

2.5 Models
- 采用标准k-epsilon模型计算

2.6 加载EDEM宏
- 打开user-defined > Functions > Manage…

- 在library Name中输入udf所在路径,点击load按钮加载udf宏

- 加载完毕后,在Models树节点下出现EDEM子节点,如下图所示
点开来看,设置对话框如下图所示。
此对话框一会儿再设置。现在转入EDEM设置。
3 EDEM设置
3.1 设置模型描述
- 启动EDEM,点击菜单**File > Save”,在弹出的文件保存对话框中保存工程文件,默认名称New EDEM input deck.dem
- Global标签页中,设置Title为2-phase Eulerian
3.2 设置材料
- 创建新的材料“Particle”,设置材料属性如图所示。

- 单击 Transfer 按钮打开 Material/Interactions Transfer 对话框.
- 从材料数据库中 Transfer steel 到 simulation。
- 设置 material interactions, particle – particle 和 particle – steel,使用默认值
3.3 定义颗粒
- 单击颗粒标签。
- 单击 + 按钮输入名字 „Eulerian particle‟。
- 设置半径 2mm。
- 设置 X 为-0.5 mm。
- 单击+创建一个新的表面。
- 设置半径为 2mm。
- 设置 X 为 0.5 mm。
- 颗粒的材料为’particle’。
- 点击 lculate Properties,自动计算出颗粒的质量、体积等属性。


3.4 定义几何
- 定义几何材料
- 打开 Geometry 标签。点击Import…按钮,导入网格文件intersection_vertical.msh
在 Details 标签中,选择材料为 steel。

创建颗粒工厂几何
- 单击+按钮选择 polygon,命名 “factory”。
- 在 Details 中选择 Virtual。
- 选择 Polygon 按钮,设置如下:

3.5 创建颗粒工厂
- 创建颗粒工厂、设置颗粒工厂类型
- 点击 Fcatories 标签。
- 点击+按钮,添加一个新的颗粒工厂。
- 设置工厂类型为 Dynamic。
- 选择 Unlimited Particles。
选择速率 to 2.5e3 particles/s。

设置初始条件
- 在下拉菜单中确定选择„factory‟ 。
- 选择速度为 linear 或者 spray 点击设置按钮。
- 设置速度大大小 z=5m/s。
固相的设置已经完成。

3.6 求解器
- 设置时间步长
- 点击 Simulator 标签。
- 设置时间步长为 39%。
调整时间步长为 8e-5s。 EDEM 里面的时间步长与 Fluent 里面的时间步长比例一般在 1:1 到 100:1 之间。 EDEM 时间步长不能大于 Fluent 的时间步长。
- 设置 data write-out frequency
- 设置 write out frequency 为 0.01s。
如果有必要按时返回,从一点重新进行模拟,自动保存 case 和 data 必须在 fluent 选
择。
- 设置网格
- 设置网格尺寸为 3.5 Rmin。这将生成约 60,000 网格。
- 跟踪碰撞
- 标记 Track Collisions 。

3.7 启动耦合器
- 选择菜单Tools > EDEM Coupling Options > Show Coupling Server
- 在右下角对话框中点击按钮Start,之后EDEM处于监听状态


4 fluent其他设置
返回到FLUENT中继续设置
- 设置 2-phase 模拟
- 选择 Eulerian 作为耦合方法。
- 选择”fluid‟ 。
- 设置 sample points 为 10。
如果 sample points 为 10, 一个大的颗粒可以在 10 个网格中传输。增加 samplepoints 的大小,增加了模拟的稳定性但是减少了速度。 - 设置 momentum („MTM‟) under-relaxation 为 0.7。
减少松弛因子增加了模拟的稳定并且更加容易收敛。然而可能会使用到更多的迭代来实现收敛 。 - 设置 volume under-relaxation 为 0.6。
- 点击Open按钮,选择New EDEM input deck.dem文件
- 点击 OK。

此时看TUI输出窗口信息如下图所示,表示已经成功耦合。
此时看EDEM中耦合服务器状态,如下图所示。已经成功耦合。

- 初始化、设置文件选项
- 初始化。
a) 选择 Solve > Initialize > Initialize。
b) 选择 Compute from Inlet, 单击 Init t。 - 设置 autosave case and data option 为 25。
a) 选择 File > Write > autosave。
b) 设置为 25。时间步长为 2e-3 s,即数据文件每隔 0.05s 保存一次。 点击 File > Write > Case & Data 保存 case(.cas)和 data (.dat)文件。
.dat 文件包含了在 0s 点的几何、边界条件和其他液相(固相)信息。这个文件包含了几何、边界条件和其他仿真参数。
在仿真过程中, case 和 data 自动保存, EDEM 的文件也自动保存。
在 Fluent 设置时间
- 选择 Solve > Iterate,设置时间步长为 2e-3. 。这个味 EDEM 的时间步长的 25 倍。
- 设置时间步数为 500 步。也就是说仿真一共进行 1s。
- 设置每个时间步长的迭代步数为 60.对于 Eulerian-Eulerian 仿真,步数为 50-200。
- 选择 Iterate 开始模拟仿真。 EDEM 将会自动运行。

5 后处理


附件列表
【FLUENT案例】06:与EDEM耦合计算的更多相关文章
- Fluent-EDEM耦合计算颗粒流动
虽然说Fluent提供了很多方法用于处理颗粒在流体中的运动行为,然而这些方法都有其各自的适用性.DPM适用于稀薄颗粒的情况,欧拉模型.Mixture模型及DDPM模型虽然可以考虑稠密颗粒相,但并不能考 ...
- 【FLUENT案例】02:DPM模型
1 引子1.1 案例描述1.2 学习目标1.3 模拟内容2 启动FLUENT并导入网格3 材料设置4 Cell Zones Conditions5 Calculate6 定义Injecions7 定义 ...
- arcpy地理处理工具案例教程-景观形状指数计算
arcpy地理处理工具案例教程-景观形状指数计算 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 使用方法:输入要素类即可,其余参数均默认. 商务 ...
- 【FLUENT案例】05:DDPM模型
本例利用FLUENT的DDPM模型对提升管进行模拟. 1 介绍 本案例演示在FLUENT中利用稠密离散相模型(Dense discrete phase model,DDPM)模拟2D提升管.DDPM模 ...
- 【FLUENT案例】04:利用DDPM+DEM模拟鼓泡流化床
1 引言2 问题描述3 准备4 FLUENT前处理 1 引言 DEM碰撞模型扩展了DPM模型的功能,能够用于稠密颗粒流动的模拟.该模型可以与DDPM(Dense DPM)模型何用以模拟颗粒对主相的阻碍 ...
- 【FLUENT案例】03:冲蚀
1 引子2 问题描述3 模型准备4网格5模型设置6 材料设置7 设定注入器8 修改材料9 Cell zone Conditions设置10 边界条件设置10.1 inlet入口设置10.2 出口设置1 ...
- 【FLUENT案例】01:T型管混合器中的流动与传热
案例目录 1 引子1.1 案例描述1.2 案例学习目标2 计算仿真目标3 启动FLUENT并读入网格4 FLUENT工作界面5 网格缩放及检查6 修改单位7 设置模型8 定义新材料9 计算域设置10 ...
- 基于案例贯通 Spark Streaming 流计算框架的运行源码
本期内容 : Spark Streaming+Spark SQL案例展示 基于案例贯穿Spark Streaming的运行源码 一. 案例代码阐述 : 在线动态计算电商中不同类别中最热门的商品排名,例 ...
- Vue框架(二)——Vue指令(v-once指令、v-cloak指令、条件指令、v-pre指令、循环指令)、todolist案例、Vue实例(计算、监听)、组件、组件数据交互
Vue指令 1.v-once指令 单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) <!DOCTYPE html> <html lang=" ...
随机推荐
- eclipse 突然 一直在loading descriptor for XXX (XXX为工程名)Cancel Requested
问题: eclipse 启动后,啥也不干,就一直在loading descriptor for XXX (XXX为工程名),,其他什么操作都不能操作. 如下图所示,保存文件也无法保存. 这个怎么办? ...
- Android数据存储之SQLCipher数据库加密
前言: 最近研究了Android Sqlite数据库(文章地址:Android数据存储之Sqlite的介绍及使用)以及ContentProvider程序间数据共享(Android探索之ContentP ...
- CSS知识总结(一)
一.认识CSS 1.什么是CSS? CSS (Cascading Style Sheet) 层叠样式表 是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言. 由于CSS属性或规则尚未成为 ...
- go语言结构体
定义: 是一种聚合的数据类型,是由零个或多个任意类型的值聚合成的实体. 成员: 每个值称为结构体的成员. 示例: 用结构体的经典案例处理公司的员工信息,每个员工信息包含一个唯一的员工编号.员工的名字. ...
- PyQt4入门学习笔记(一)
PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...
- Visual Studio 2013 Ultimate因为CodeLens功能导致Microsoft.Alm.Shared.Remoting.RemoteContainer.dll高CPU占用率的折中解决方案
1.为什么Microsoft.Alm.Shared.Remoting.RemoteContainer.dll的CPU占用率以及内存使用率会那么高? 在Visual Studio 2013 Ultima ...
- bzoj1878--离线+树状数组
这题在线做很麻烦,所以我们选择离线. 首先预处理出数组next[i]表示i这个位置的颜色下一次出现的位置. 然后对与每种颜色第一次出现的位置x,将a[x]++. 将每个询问按左端点排序,再从左往右扫, ...
- Mybatis配置一对多的关联关系(五)
问题:是查询一个部门中的员工? 一.web项目构架 二.lib文件的jar 三.配置大小配置和该工具类 1大配置mybatis-config.xml <?xml version="1. ...
- quartz CronExpression表达式
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素.按顺序依次为1.秒(0~59)2.分钟(0~59)3.小时(0~23)4.天(月)(0~31,但是你需要考虑你月的天数)5.月(0~11 ...
- Java名字的由来
Java语言的历程丰富多彩,被现在众多程序员和企业广泛使用,不用质疑这是Java的领先技术的结果. Java是Sun公司开发的一种编程语言,Sun公司最初的方向是让Java来开发一些电器装置程序,如: ...