STAR CCM+|利用Coarse Grain Particle模型模拟流化床
本案例演示利用STAR CCM+的粗颗粒(Coarse Grain Particle)模型模拟流化床问题。
注:本案例为STAR CCM+随机案例,相关文件可自行在官网下载。
1 问题描述
流化是指通过在气体或液体中悬浮,将固体颗粒转化为类似流体的状态的过程。颗粒流化是许多工业过程的一部分,包括生物质燃料生产、流体催化裂化(FCC)和流化床气化器。容纳流化床的容器称为流化床反应器。
本教程演示了使用DEM技术建模流化床的工作流程,该工作流程在结果的准确性和仿真速度之间达到了平衡。在这个仿真中,不考虑热量和质量传递。使用一个简单的圆柱形几何体来模拟流化床反应器。几何体的底部入口边界模拟了气体分配器(如喷射器)的行为,将反应器的鼓风室多孔区域与被流化颗粒占据的内部空间分开。
下图显示了本教程中使用的几何体:
空气以1.49 kg/s的指定流量通过质量流量入口流入反应器,从而提供恒定的表观速度,该速度高于最小流化速度。空气通过压力出口离开计算域。流入和流出边界对固体颗粒不透水。所有固体颗粒都在第一个时间步进入区域,从而减少了它们在反应器中沉降所需的时间。
对于涉及相对较少颗粒的流动,可以为每个颗粒制定并求解控制方程。但是,如果颗粒数量很大,则统计方法更实用。为此,STAR-CCM+提供了Parcel Contact Coarse Grain Particle模型,其中减少数量的计算包裹统计地代表多个较小的相同颗粒。这种方法减少了DEM仿真的计算时间,特别是那些具有高装载量的小固体颗粒(如流化床应用)的仿真。线性内聚模型也被应用于模拟颗粒之间的分子吸引力或湿颗粒之间的内聚作用。该模型与接触模型同时起作用,因此当颗粒附着时,Parcel Contact Coarse Grain和Linear Cohesion模型同时工作。双向耦合模型从仿真开始就被激活,允许颗粒相与连续相交换质量和动量。
2 加载及启动仿真文件
可以通过加载一个包含圆柱反应器几何体、预定义网格操作、区域和边界的仿真文件来开始本教程。仿真中的几何体和其他各种设置都是参数化的。基础参数已经包含在开始仿真文件中。要加载开始仿真文件,请按照以下步骤操作:
-
启动STAR-CCM+,然后选择 File > Load…。 -
在 Load a File
对话框中: -
选择一个合适的 Process Option。串行和并行进程都适合本教程。 -
点击 Browse。 -
在Open对话框中,选择 fluidizedBed.sim。 -
点击 Open,然后点击 OK。 -
要生成网格,请右键单击 Geometry > Operations > Automated Mesh节点,然后选择 Execute。 -
要查看网格,请创建一个新的网格场景。
-
展开 Tools > Parameters节点,查看预定义的参数。下表列出了它们的定义:
Parameter | Value | Definition |
---|---|---|
Fluid Density | 1.18415 kg/m^3 | 流化床中流体的密度,本案例中流体为空气,密度指定为恒定值。 |
Fluid Mass Flow Rate | ${Fluid Density}*${Fluid Velocity}*acos(-1)*pow(${Reactor Radius},2) |
进入流化床的流体质量流量 |
Fluid Velocity | 2.5 m/s | 入口边界处流体速度的恒定设定值 |
Parcel Diameter | 20.0 mm | 颗粒包直径。每个颗粒包包含多个颗粒 |
Particle Count | floor(pow(${Parcel Diameter}/${Particle Diameter},3)) |
颗粒数量 |
Particle Diameter | 4.0 mm | 颗粒直径 |
Parcel Number | floor(0.6*6*${Reactor Radius}*${Reactor Radius}*${Reactor Fill Level}/pow(${Parcel Diameter},3)) |
颗粒包数量 |
Pi | 3.141592654 | 圆周率 |
Reactor Fill Level | 0.4 m | 反应器最初填充颗粒的高度 |
Reactor Height | 2.0 m | 反应器高度 |
Reactor Radius | 0.4 m | 反应器半径 |
其中流体质量流量:
其中, 为流体密度; 为流体速度; 为反应器半径。
颗粒包数量:
其中, 为平均颗粒包直径; 为平均颗粒粒径。
颗粒包数量:
其中,其中0.6是假定的颗粒包随机包装量; 为反应器初始充填高度。
3 选择模型
使用离散元模型来模拟空气和固体颗粒的非稳态双向耦合流动。使用空气的默认材料属性,但是将流体密度参数化,以便在需要时进行简单的修改。
-
对于物理连续体Continua > Physics 1,选择以下模型:
-
Three Dimensional -
Gas -
Coupled Flow -
Constant Density -
Implicit Unsteady -
Laminar -
Gravity -
Lagrangian Multiphase -
Discrete Element Model (DEM) -
选择模型树节点 Continua > Physics 1 > Models > Gas > Air > Material Properties > Density > Constant ,设置其值为**${Fluid Density}**
-
保存仿真模型
4 定义粗粒度颗粒
使用拉格朗日相来定义模拟中的固体颗粒。使用了Parcel Contact Coarse Grain颗粒形状模型,这个模型非常适合流化床应用,其中流体-颗粒相互作用的准确性很重要。在这个模型中,每个模拟的颗粒都是一个包裹,统计地代表多个较小的相同颗粒。该模型对单个代表性颗粒计算流体-颗粒相互作用,并将结果应用于包裹中的所有较小颗粒。每个粗粒包裹中的单个颗粒的数量取决于您稍后为喷射器指定的包裹和颗粒大小。
要定义粗粒颗粒,请按以下步骤操作:
-
右键单击 Continua > Physics 1 > Models > Lagrangian Multiphase > Lagrangian Phases节点,选择 New。 -
将新相重命名为Particle。 -
双击 Particle > Models节点,按顺序选择以下模型: -
DEM Particles -
Parcel Contact Coarse Grain -
Solid -
Constant Density -
Drag Force -
Two-Way Coupling -
选择 Particle > Models > Drag Force > Drag Coefficient节点,将 Method设置为 Gidaspow。 -
设置颗粒的材料属性。 -
设置 Density
为 2200 kg/m3 -
设置 Young's Modulus
为 100 MPa -
展开 Models > Solid节点,将 Rubber重命名为 Catalyst。 -
展开 Catalyst > Material Properties节点,设置以下属性: -
保存模拟。
5 指定边界条件
空气通过底部边界以2.5 m/s的入口速度进入圆柱形反应器,相当于1.49 kg/s的质量流量。空气通过顶部的压力出口边界离开反应器。这两个流动边界对固体颗粒都是不透水的。
要指定边界条件,请按以下步骤操作:
-
展开 Regions > Domain > Boundaries节点。 -
选择Bottom并在 Properties节点中将 Type设置为 Mass Flow Inlet。 -
选择 Bottom > Phase Conditions > Particle节点,将Type设置为Phase Impermeable。 -
选择 Bottom > Physics Values > Mass Flow Rate节点,将Value设置为${Fluid Mass Flow Rate}。 -
选择 Boundaries > Top节点,将Type设置为Pressure Outlet。 -
选择 Top > Phase Conditions > Particle节点,将Type设置为Phase Impermeable。 -
保存模拟
6 定义DEM颗粒相间作用
使用Hertz-Mindlin模型来模拟这些情况下的接触效应。为了考虑颗粒表面之间的分子间吸引力,例如范德华力或凝聚力,案例选择了线性凝聚模型。
要定义DEM颗粒相互作用,请按以下步骤操作:
-
定义粗粒颗粒之间的相互作用: -
指定 Static Friction Coefficient
为 0.6 -
指定 Normal Restitution Coefficient
为 0.1 -
指定 Tangential Restitution Coefficient
为 0.1 -
指定 DEM Contact Model
为 Hertz Mindlin -
指定 Optional Models
为 Linear Cohesion -
右键单击 Continua > Physics 1 > Models > Multiphase Interaction > Phase Interactions节点,选择 New > Particle > Particle。 -
将 Phase Interaction 1节点重命名为 Particle-Particle。 -
双击 Particle-Particle > Models节点,按顺序选择以下模型: -
在Particle-Particle Model Selection对话框中,取消选择 Rolling Resistance。 -
选择 Particle-Particle > Models > Hertz Mindlin节点,设置以下属性: -
选择 Models > Linear Cohesion > Work of Cohesion节点,将Value设置为1.0 N/m。 -
定义颗粒与墙壁之间的相互作用: -
指定 Static Friction Coefficient
为 0.15 -
指定 Normal Restitution Coefficient
为 0.1 -
指定 Tangential Restitution Coefficient
为 0.1 -
右键单击 Continua > Physics 1 > Models > Multiphase Interaction > Phase Interactions节点,选择 New > Particle > Wall。 -
将 Phase Interaction 1节点重命名为Particle-Wall。 -
双击 Particle-Wall > Models节点,在 DEM Contact Model组中选择 Hertz Mindl in。在 Enabled Models组框中,取消选择 Rolling Resistance。 -
选择 Particle-Wall > Models > Hertz Mindlin节点,设置以下属性: -
定义颗粒与对颗粒不透水的流动边界之间的相互作用。 -
复制并粘贴 Particle-Wall节点到 Phase Interactions节点上,并将副本重命名为Particle-Phase Impermeable。 -
选择 Particle-Phase Impermeable > Models > DEM Phase Interaction节点,将Second Phase设置为Phase Impermeable。 -
保存模拟。
7 定义颗粒入射
创建一个喷射器,用于将颗粒随机注入反应器。喷射器输入所选的部件是初始文件中创建的Injection Volume几何部件。这将注入限制在反应器的那个区域内。喷射器将包裹注入到Injection Volume中,分布接近真实反应器中颗粒的随机堆积。包裹以-0.1 m/s的速度沿负Z方向注入。
要设置喷射器,请按以下步骤操作:
-
右键单击Injectors节点,选择New。
-
选择Injectors > Injector 1节点,设置以下值:
-
指定 Lagrangian Phase为 Particle -
指定 Type为 Random Injector -
指定 Inputs为 Parts > Injection Volume -
选择Injector 1 > Conditions > Particle Packing Specification节点,将Method设置为Particle Count。
-
选择Injector 1 > Values节点,设置以下值:
-
指定 Number of Seeds为 ${Parcel Number}*12
-
指定 Number of Particles为 ${Parcel Number}
-
指定 Particle Count为 ${Particle Count}
-
指定 Particle Diameter为 ${Particle Diameter}
-
指定 Velocity为 [0.0, 0.0, -0.1] m/s
-
保存模拟。
8 可视化运动中的 DEM颗粒
创建一个可视化场景,用于显示DEM颗粒的速度大小,并在圆柱形反应器的横截面上显示空气的速度大小。为了能够创建流化床的动画,需要设置一个求解历史文件。可视化场景和解决方案历史文件都已经在初始文件中创建,以方便您使用,但您需要完成设置。
要可视化DEM颗粒,请按以下步骤操作:
-
创建包裹和颗粒计数报告 -
指定 Field Function
为 Particle > Particle Count -
指定 Parts
为 Lagrangian Phases > Particle -
右键单击 Reports节点,选择 New > User > Element Count,并将新报告重命名为Element Count Parcels。 -
选择 Element Count Parcels节点,并将Parts设置为 Lagrangian Phases > Particle。 -
右键单击 Reports节点,选择 New > User > Sum,并将新报告重命名为 Sum Particle Count。 -
选择 Sum Particle Count节点,并设置以下属性: -
设置DEM场景 -
指定 Parts
为 Derived Parts > Particle -
指定 Scalar Field > Function
为 Velocity > Lab Reference Frame > Magnitude -
指定 Scalar Field > Auto Range
为 Off -
指定 Parts
为 Derived Parts > Plane Section -
指定 Scalar Field > Function
为 Velocity > Lab Reference Frame > Magnitude -
指定 Scalar Field > Auto Range
为 Off -
打开 Scenes > DEM Scene并选择 Scene/Plot选项卡。 -
在工具栏中单击 Save-Restore-Select Views,并选择 Standard Views > (-Y) left。 -
在工具栏中单击 Reset View以调整反应器的位置,使其完全适应场景。 -
展开 Scalar Fluid节点,并设置以下属性: -
展开 Scalar Particles节点,并设置以下属性: -
使用报告为场景创建注释 -
指定 Text
为Particles: $SumParticleCountReport Parcels: $ElementCountParcelsReport
-
指定 Default Height
为 0.1 -
在 Simulation选项卡中,右键单击 Tools > Annotations节点,选择 New > Simple Text。 -
将 User节点重命名为Particle Data。 -
选择 Particle Data节点,并设置以下属性: -
将 Particle Data节点拖到DEM场景的左上角。 -
将 Solution Time节点拖到场景的左下角。
-
设置解决方案历史文件,以便在模拟运行后能够对结果进行动画处理: -
选择 Solution Histories > fluidizedBed_start节点并设置以下属性:
Property | Value |
---|---|
Functions | Parcel > Parcel Index |
Particle > Particle Velocity > Magnitude | |
Velocity > Lab Reference Frame > Magnitude | |
Inputs | Derived Parts > Plane Section |
Lagrangian Phases > Particle |
5.保存模拟。
9 仿真求解
设置物理时间为4.0 s,时间步长为0.01 s。为了稳定模拟,将耦合隐式求解器的CFL值线性地增加。
要定义求解器参数,请按以下步骤操作:
-
选择 Solvers > Implicit Unsteady节点,将Time-Step设置为0.01 s。 -
编辑 Solvers > Lagrangian Multiphase节点,设置以下属性:
Node | Property | Setting |
---|---|---|
Load Balancing | Enabled | Activated |
Implicit Unsteady | Maximum Sub-Steps | 2000000 |
Update Frequency | Once per Time Step | |
Two-Way Coupling > Volume Source Smoothing Method | Method | Cell Cluster |
Volume Source Smoothing Method > Cell Cluster > Cluster Length | Method | Absolute |
Cluster Length > Absolute | Length | ${Parcel Diameter}*1.3 |
-
选择 Partitioning > Load Balancing Options并在Properties中将Rebalance Frequency设置为5。 -
选择 Solvers > DEM Solver节点,将Reordering Frequency设置为100。 -
编辑 Solvers > Coupled Implicit节点,设置以下属性:
Node | Property | Setting |
---|---|---|
Coupled Implicit | CFL Control Method | Linear Ramp |
Coupled Implicit > Linear Ramp CFL | Target CFL | 1000.0 |
End Iteration | 20 |
要设置停止条件,请按以下步骤操作:
-
选择 Stopping Criteria节点,设置以下值:
Node | Property | Setting |
---|---|---|
Maximum Inner Iterations | Maximum Inner Iterations | 3 |
Maximum Physical Time | Maximum Physical Time | 4.0 s |
Maximum Steps | Enabled | Deactivated |
-
单击Run。 -
当模拟运行完成后,保存文件。
10 计算结果
按照以下步骤操作创建动画:
-
在 Scene/Plot选项卡中打开 DEM Scene场景。 -
选择 Scalar Fluid节点,并将 Representation设置为 fluidizedBed_start。 -
选择 Scalar Particles节点,并将 Representation设置为 fluidizedBed_start。 -
选择 DEM Scene > Attributes > Annotations > Solution Time节点,并将 Representation设置为 fluidizedBed_start。 -
创建粒子的动画: -
点击 Animation工具栏中的 (Write Movie) 图标。 -
在Write animation对话框中,将 File Name设置为fluidizedBed.mp4。 -
点击 Save。
可以在标准的媒体播放器中查看fluidizedBed.mp4文件。
(完)
文章来源:CFD之道