案例演示利用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之道








评论前必须登录!
注册