案例演示利用Fluent宏观颗粒模型进行台球开球模拟。
1 问题模拟
使用Fluent宏观颗粒模型来执行台球桌上第一次击球的模拟,包括母球与最初排列成三角形的15个目标球的碰撞。台球桌尺寸为50英寸x100英寸,如下图所示,台球直径为56毫米。
网格生成过程这里略过。
计算结果如图所示。
2 Fluent设置
-
以 3D、Double Precision
方式启动Fluent
-
利用菜单 File → Read → Mesh… 读取网格文件 pool-table.msh
2.1 启动MPM模型
-
在TUI窗口中输入 define/models/addon-modeule/
,然后输入10
选择启用MPM模型
2.2 General设置
-
进入 General
任务页进行设置 -
指定 Time
为 Transient -
激活选项 Gravity ,并指定重力加速度
2.3 设置MPM模型
-
双击 Models
节点下的子节点Macroscopic Particles
打开模型设置对话框
-
激活选项 Enable Macroscopic Particle Model
-
进入 Injections
选项卡,点击按钮 Create… 打开设置对话框
-
在弹出的对话框中指定参数 -
指定 Diameter
为 0.056 -
指定 Density
为 1700 -
指定 Initial Location
为 [0.635 0.028 0.635] -
指定 Initial Linear Velocity
为 [5 0 0] -
点击按钮 Create/Modify 确认参数
相同方式创建其他的15个注入点,一共16个注入点,如下图所示。
Injection | Diameter (m) | Density (kg/m^3) | X-pos (m) | Y-pos (m) | Z-pos (m) | X-vel (m/s) | Y-vel (m/s) | Z-vel (m/s) | X-rot (rad/s) | Y-rot (rad/s) | Z-rot (rad/s) |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0.056 | 1700 | 0.635 | 0.028 | 0.635 | 5 | 0 | 0 | 0 | 0 | 0 |
1 | 0.056 | 1700 | 1.905 | 0.028 | 0.635 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0.056 | 1700 | 1.954363 | 0.028 | 0.6635 | 0 | 0 | 0 | 0 | 0 | 0 |
3 | 0.056 | 1700 | 1.954363 | 0.028 | 0.6065 | 0 | 0 | 0 | 0 | 0 | 0 |
4 | 0.056 | 1700 | 2.003727 | 0.028 | 0.692 | 0 | 0 | 0 | 0 | 0 | 0 |
5 | 0.056 | 1700 | 2.003727 | 0.028 | 0.635 | 0 | 0 | 0 | 0 | 0 | 0 |
6 | 0.056 | 1700 | 2.003727 | 0.028 | 0.578 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 0.056 | 1700 | 2.05309 | 0.028 | 0.7205 | 0 | 0 | 0 | 0 | 0 | 0 |
8 | 0.056 | 1700 | 2.05309 | 0.028 | 0.6635 | 0 | 0 | 0 | 0 | 0 | 0 |
9 | 0.056 | 1700 | 2.05309 | 0.028 | 0.6065 | 0 | 0 | 0 | 0 | 0 | 0 |
10 | 0.056 | 1700 | 2.05309 | 0.028 | 0.5495 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 0.056 | 1700 | 2.102454 | 0.028 | 0.749 | 0 | 0 | 0 | 0 | 0 | 0 |
12 | 0.056 | 1700 | 2.102454 | 0.028 | 0.692 | 0 | 0 | 0 | 0 | 0 | 0 |
13 | 0.056 | 1700 | 2.102454 | 0.028 | 0.635 | 0 | 0 | 0 | 0 | 0 | 0 |
14 | 0.056 | 1700 | 2.102454 | 0.028 | 0.578 | 0 | 0 | 0 | 0 | 0 | 0 |
15 | 0.056 | 1700 | 2.102454 | 0.028 | 0.521 | 0 | 0 | 0 | 0 | 0 | 0 |
也可以通过按钮 Read… 读取注入文件 poolballs.pinj
,该文件中存储了所有注入点的信息。
-
进入 Collision
选项卡,指定以下参数
-
进入 Initialize MPM
选项卡,按下图所示标记进行操作
-
点击 Display Injections...
打开设置对话框,如下图所示选择Particle ID
,点击按钮Display
显示颗粒
颗粒如下图所示。
2.4 设置Methods
-
进入 Methods
任务页,设置Transient Formulation
为 Second Order Implicit ,如下图所示
2.5 区域设置
-
双击模型树节点 Cell Zone Conditions > slate
打开设置对话框,取消选项 Source Terms ,如下图所示
2.6 设置残差监控
-
双击模型树节点 Monitors > Residual
打开设置对话框,如下图所示设置 -
取消选项 Plot -
设置 Convergence Criterion
为 none -
点击 OK 按钮关闭对话框
2.7 初始化计算
-
双击模型树节点 Initialization
打开初始化任务页,选择 Hybrid Initialization 进行初始化
2.8 设置执行命令
可以在计算过程中输出颗粒的运动轨迹。
-
双击模型树节点 Execute Commands > mpm1
打开设置对话框
-
修改命令为 (display-mpm-injections 'particle-id 0 15)
,如下图所示
-
双击模型树节点 Execute Commands > mpm3
打开设置对话框,确认如下图所示设置
2.9 迭代计算
-
双击模型树节点 Run Calculation
打开任务页,如下图所示设置参数 -
指定 Number of Time Steps
为 50 -
指定 Time Step Size
为 0.01 -
点击按钮 Calculate 进行计算
3 计算结果
计算完毕后会在工作路径下生成一系列图片,可以利用这些图片制作动画以查看颗粒运动轨迹,如下图所示。
同时每个颗粒的运动轨迹数据也会存储在文件particle.csv
中,可以提取数据进行后续处理。
(完)
案例相关文件下载链接(基于ANSYS 2024R2版本):
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册