1 引言

DEM碰撞模型扩展了DPM模型的功能,能够用于稠密颗粒流动的模拟。该模型可以与DDPM(Dense DPM)模型何用以模拟颗粒对主相的阻碍作用,因此可以用于鼓泡流化床、提升管、气力输送系统以及泥浆流动。特别对于以下情况,DEM模型特别有用:

  • 当颗粒粒径分布很广时
  • 当计算网格相对粗糙时

本案例演示DDPM模型的使用,其中颗粒碰撞通过DEM模型来考虑。

2 问题描述

本例中,我们将会模拟模拟一个鼓泡流化床,并且决定其在给定表观速度情况下的工作行为。矩形床的尺寸为0.2m0.2m0.4m,初始情况下预装了部分颗粒,表观速度0.5m/s,检测穿过床层的压力降,示意图如下图所示。

对于经典的流化曲线,若流化床入口的表观速度较小,则流化床不会硫化,其行为类似填充床,当速度增加时,流化床开始流化。

一种理解该现象的经典方法即为流化曲线,此时入口能够驱动流体的压力需求是表观速度的函数。当处于填充床工况时,压力与表观速度的增加成正比,然而,当初期流化条件达到后,压力始终保持某一恒定值(时间平均)。至中处于流化条件的稳定压力足够维持流化床的浮重力。换句话说:

<P>inlet×Ainlet=Buoyant weight of bed<P>inlet×Ainlet=Buoyant weight of bed

在本例中,我们将对给定表观速度下的流化床流化过程进行仿真模拟。

3 准备

  • 文件准备:拷贝bed.msh、92Kparcels.inj及view-0.vw文件到工作目录
  • 以3D模式、Double Precision开启FLUENT

4 FLUENT前处理

  • Step 1:Mesh

    • 利用菜单File | Read | Mesh…读入网格文件bed.msh
  • Step 2:General

    • 点击 右侧面板中的Check按钮,检查导入的网格,确保没有负体积的存在
    • 激活Transient选项采用瞬态计算

  • Step 3:Models

    • 设置DDPM模型,按如下图所示进行设置

  • Step 4:DPM模型设置

    • 鼠标点击模型树节点Models,双击右侧models列表中的Discrete Phase

      弹出如下图所示对话框,按图进行设置。

  • 切换至Physical Models标签页,激活DEM Collision选项,如下图所示。

  • 点击Discrete Phase Model对话框下方的Injections…按钮



    点击Create按钮,弹出set Injection Properties对话框。

    • 选择Injection Typefile
    • 选择Discrete Phase DomainPhase-2
    • 选择DEM Collision Partnerdem-anthracite
    • 设置Stop Time1e-8
    • 点击File…按钮,在打开的文件选择对话框中选择文件92Kparcels.inj
    • 切换至Physical Models标签页,设置Drag LawWen-Yu
    • 点击OK按钮关闭对话框



返回至Discrete Phase Model对话框。

  • 点击Discrete Phase Model对话框下方的DEM Collisions…按钮,弹出如下图所示对话框

    • 选择dem-anthracite,点击set…按钮。

    • 选择Collision Pairs列表项中的dem-anthracite-dem-aluminum,按下图所示进行设置

    • 选择列表项中的dem-athracite - dem-anthracite,按下图所示设置。



      点击OK按钮退出对话框。
  • Step 5:设置操作压力

    点击模型树节点Cell Zone Conditions,在右侧面板中点击按钮Operating Conditions..,如下图所示。

  • Step 6:边界条件设置

    选择模型树节点Boundary Conditions

    • 在右侧参数面板中,鼠标选择Zone列表框中选项inlet,确保Phase下拉框选择项为mixture,点击Edit…按钮弹出参数设置对话框,切换至DPM标签页,进行如下图所示设置。



      关闭OK按钮关闭对话框,返回至边界条件设置面板。
    • 依然选择inlet,设置Phase下拉框内容为phase-1,点击Edit…按钮弹出参数设置对话框。设置Velocity Magnitude0.5。点击OK按钮关闭对话框。

    • 设置outlet边界,采用类似的方法,设置Mixture类型,进行如下图所示设置。

  • Step 7:Solution Controls

    设置亚松弛因子:

    I. Pressure: 0.9

    II. Momentum: 0.2

    III. Volume Fraction: 1

    IV. Discrete Phase Sources: 1

  • Step 8:Monitors

    • 点击模型树节点Monitors,在 右侧面板中点击Surface Monitors下方的Create按钮,在弹出的对话框中按如图所示进行设置,点击OK按钮关闭对话框。

  • Step 9:Solution Initialization

    直接初始化即可。

  • Step 10:Run Calculation

    分三步进行计算:

    1.使用单一时间步将颗粒注入到计算域中

    2.计算两秒

    3.再计算两秒

    • 设置Time Step Size0.001
    • 设置Number of Time Steps1
    • 设置Report Interval5
    • 点击Calculate

附件列表

【FLUENT案例】04:利用DDPM+DEM模拟鼓泡流化床的更多相关文章

  1. 【FLUENT案例】06:与EDEM耦合计算

    折腾了很久才把耦合模块搞定,用的还是网上别人编译好的UDF,不完美.自己编译的时候,老是提示无法找到fluent中的一些头文件,个人怀疑是操作系统和visual studio的问题,有时间换个系统和V ...

  2. 【FLUENT案例】01:T型管混合器中的流动与传热

    案例目录 1 引子1.1 案例描述1.2 案例学习目标2 计算仿真目标3 启动FLUENT并读入网格4 FLUENT工作界面5 网格缩放及检查6 修改单位7 设置模型8 定义新材料9 计算域设置10 ...

  3. 利用Telnet来模拟Http请求 有GET和POST两种

    利用Telnet来模拟Http请求---访问百度.       1.打开"运行"->cmd进入命令环境:       2.输入"telnet www.baidu.c ...

  4. 学习Hadoop+Spark大数据巨量分析与机器学习整合开发-windows利用虚拟机实现模拟多节点集群构建

    记录学习<Hadoop+Spark大数据巨量分析与机器学习整合开发>这本书. 第五章 Hadoop Multi Node Cluster windows利用虚拟机实现模拟多节点集群构建 5 ...

  5. 利用系统函数模拟实现nginx 系统脚本启动的特殊颜色专业效果

    利用系统函数模拟实现nginx 系统脚本启动的特殊颜色专业效果/etc/init.d/nginxd {start/stop/restart/reload}利用if语句实现: ============= ...

  6. 如何利用 Chrome 来模拟移动网络来调试 FastAdmin 网站

    如何利用 Chrome 来模拟移动网络来高度 FastAdmin 网站 因为目前大多数都在开发移动类的网页,所以客户端的速度下载速度要也考虑. 虽然都已经 4G 了,但还是要看看在网络质量很差的情况 ...

  7. Android手机上,利用bat脚本模拟用户操作

    ………… 那么你就可以来看看这篇帖子了. 言归正传 利用bat脚本模拟用户操作,需要用到两点: ①就是adb命令了,adb命令可以用来模拟用户在手机上的操作 ②bat语言,就是批处理语言,主要用来进行 ...

  8. 利用OSG实现模拟飞机尾迹-粒子系统

    利用OSG实现模拟飞机尾迹-粒子系统 粒子系统简介:         粒子系统是用于不规则模糊物体建模及图像生成的一种方法.         粒子系统是一种过程模型,即利用各种计算过程生成模型各个体素 ...

  9. web综合案例04

    web综合案例02 web综合案例02 web综合案例04 待补充 ... ...

随机推荐

  1. Xshell生成密钥key(用于Linux 免密码登录)

  2. 基本数据结构(2)——算法导论(12)

    1. 引言     这一篇博文主要介绍链表(linked list),指针和对象的实现,以及有根树的表示. 2. 链表(linked list) (1) 链表介绍      我们在上一篇中提过,栈与队 ...

  3. JavaScript权威设计--命名空间,函数,闭包(简要学习笔记十二)

    1.作为命名空间的函数 有时候我们需要声明很多变量.这样的变量会污染全局变量并且可能与别人声明的变量产生冲突. 这时.解决办法是将代码放入一个函数中,然后调用这个函数.这样全局变量就变成了 局部变量. ...

  4. 使用SuperSlide 实现标签切换

    小颖之前还写过一篇jquery实现标签切换的文章  jquery实现Tab选项卡菜单 今天小颖逛博客园时看到了用SuperSlide 实现标签切换的文章,所以小颖就自己试了下,试了后发现SuperSl ...

  5. [C#] 走进异步编程的世界 - 剖析异步方法(上)

    走进异步编程的世界 - 剖析异步方法(上) 序 这是上篇<走进异步编程的世界 - 开始接触 async/await 异步编程>(入门)的第二章内容,主要是与大家共同深入探讨下异步方法. 本 ...

  6. javascript中的函数式声明与变量式声明

    观察下面两段代码,试写出hello('word');的运行结果: // 变量式声明 function hello(msg){ alert(msg); var msg = function(){}; a ...

  7. 压缩SWF文件大小!减少40%体积!

     使用FlashBuild作为IDE的痛苦是显著的!如果开发的项目比较大,那么卡顿.崩溃.白屏是常事,使用别的IDE开发如Sublime.FlashDevelop.IDEA等,然后再用mxmlc编译出 ...

  8. Java 二叉树遍历右视图-LeetCode199

    题目如下: 题目给出的例子不太好,容易让人误解成不断顺着右节点访问就好了,但是题目意思并不是这样. 换成通俗的意思:按层遍历二叉树,输出每层的最右端结点. 这就明白时一道二叉树层序遍历的问题,用一个队 ...

  9. 执行插入语句,object val = cmd.ExecuteScalar() val = null

    在写接口的过程中遇到错误:空对象不能转换为值类型 因为我们使用的是petapoco,经过调试后发现是 object val = cmd.ExecuteScalar() 这一句造成的报错, val = ...

  10. [Oracle] Bulk Insert Data

    命名空间:Oracle.DataAccess.Client 组件:Oracle.DataAccess.dll(2.112.1.0) ODP.NET 版本:ODP.NET for .NET Framew ...