我现在需要进行一个fluent仿真,如图所示这个焚烧炉的流体域,顶部入口直径4m,侧边入口直径0.6...

创建于:2026年8月24日

使用 GPT-5.6 Thinking 回答 Chat01

问题

image.png

我现在需要进行一个fluent仿真,如图所示这个焚烧炉的流体域,顶部入口直径4m,侧边入口直径0.6m,大入口流量为19.226kg/s,温度为1775k,小入口流量为2.26kg/s,温度为533k,现在我希望先把这个稳态场跑完,然后再添加喷嘴,一共有24个喷嘴,我只是希望看到颗粒的分布和速度,先不考虑蒸发的问题。在此之前我尝试过把24个喷嘴,每个喷嘴number of steam设置为500,时间步长是1e-5s,然后在控制台会输出advancing DPM injection,这一过程耗时很长,我不确定是什么原因,你也要结合这个问题,给出解决方法。因此,按照上述内容,给出一份操作手册

思考

Searched 1 website

Worked for 1m 10s

回答

:::writing{variant="document" id="48317"}

Fluent 焚烧炉稳态流场 + 24 喷嘴 DPM 颗粒跟踪操作手册

1. 仿真目标与推荐总体方案

本项目建议分成两个阶段完成,不要一开始就把稳态流场、24 个喷嘴和瞬态颗粒全部耦合起来。

第一阶段:只计算焚烧炉连续相稳态流场

已知条件:

项目顶部大入口侧面小入口
入口直径4 m0.6 m
质量流量19.226 kg/s2.26 kg/s
温度1775 K533 K
流动方向向炉内、总体向下从侧面射入炉内

总入口质量流量为:

m˙total=19.226+2.26=21.486 kg/s\dot m_{\mathrm{total}}=19.226+2.26=21.486\ {\rm kg/s}

稳态计算结束以后,出口质量流量应基本稳定在 21.486 kg/s 附近。

第二阶段:在已经收敛的稳态气相流场上加入 24 个喷嘴

你的当前目标只是:

  • 看颗粒运动轨迹;
  • 看颗粒空间分布;
  • 看颗粒速度;
  • 暂时不考虑蒸发;
  • 暂时不考虑颗粒对烟气流场的反作用。

因此最推荐的模型是:

稳态连续相 + Steady DPM + One-Way Coupling + Inert Particle

也就是说:

目前完全没有必要使用 Unsteady Particle Tracking + 1e-5 s

Fluent 本身支持在固定连续相流场中采用 one-way coupling 预测颗粒轨迹,即气体影响颗粒,但颗粒不反过来改变气体流场。(Ansys Help)

对于 Steady Tracking,颗粒释放后 Fluent 会直接把该颗粒追踪到最终状态,例如 escapedtrapped 或达到最大追踪步数,而不是按照真实时间每隔 10510^{-5} s 不断释放新颗粒。(Ansys Help)

这正适合你现在的研究目的。


2. 为什么你之前会一直出现 “Advancing DPM Injection”,而且非常慢

你之前的设置大致是:

  • 喷嘴数量:24;
  • 每个喷嘴 Number of Streams = 500;
  • 总 streams:
24×500=1200024\times500=12000
  • Unsteady Particle Tracking;
  • Particle Time Step = 1×1051\times10^{-5} s。

问题的核心不是单纯“500 太大”,而是:

500 streams × 24 个喷嘴 × 极小的颗粒时间步 × 连续喷射。

在 Fluent 的标准非稳态 parcel release 方法下,每一个 injection stream 在每一个颗粒释放时间步都可以产生一个 parcel。官方文档明确说明,Standard Parcel Release Method 默认是每个 injection stream、每个 injection time step 释放一个 parcel。(Ansys Help)

因此,你的计算规模增长得极快。

例如只模拟颗粒运动 0.01 s

Nt=0.01105=1000N_t=\frac{0.01}{10^{-5}}=1000

理论上的释放事件数量可达到:

12000×1000=1.2×10712000\times1000=1.2\times10^7

也就是约 1200 万次 parcel release

如果模拟 0.1 s:

12000×10000=1.2×10812000\times10000=1.2\times10^8

1.2 亿

如果做到 1 s,则可能达到十亿量级的释放事件。

而且每一个 parcel 被生成以后并不是计算一次就结束,它还需要不断穿越网格单元并求解颗粒运动方程。因此控制台长时间显示:

Advancing DPM Injection...

是完全可以理解的。

如果同时还有以下设置,计算会进一步变慢:

  • Interaction with Continuous Phase 开启;
  • Discrete Random Walk;
  • Number of Tries > 1;
  • High Resolution Tracking;
  • 很大的 Maximum Number of Tracking Steps;
  • 炉内存在大面积回流;
  • 很细的网格;
  • 颗粒不断撞壁或反弹;
  • 颗粒持续喷射很长物理时间。

其中 DRW 的 Number of Tries 会直接重复计算颗粒轨迹,例如 Number of Tries=5,相当于一个 stream 进行 5 次随机轨迹计算。(Ansys Help)

所以,你当前最重要的优化并不是把 10510^{-5} 改成 5×1055\times10^{-5},而是:

直接改成 Steady Particle Tracking。


3. Fluent 启动设置

建议使用:

  • 3D;
  • Double Precision;
  • CPU Solver;
  • Parallel;
  • 8~32 CPU cores,根据工作站配置选择。

对于 DPM,Fluent 支持 Hybrid、Message Passing 等并行方式;现代版本默认推荐 Hybrid。(Ansys Help)

如果你准备按照本文建议使用 Steady DPM,不建议使用 Fluent GPU Solver,因为目前 GPU Solver 的 DPM 只支持 transient particle tracking,不支持 CPU Solver 中的 steady particle tracking。(Ansys Help)


4. 网格检查

进入:

Mesh → Check

首先保证:

  • 没有 negative volume;
  • 没有严重 skewness;
  • 入口、出口和壁面方向正确;
  • 炉内所有区域属于连续的 fluid zone。

重点加密:

  1. 顶部 4 m 大入口下游;
  2. 侧面 0.6 m 射流入口;
  3. 两股流体交汇区域;
  4. 预计出现大回流的区域;
  5. 将来 24 个喷嘴所在高度。

尤其是 0.6 m 小入口射流区域,速度梯度会明显高于主体区域,不建议使用和炉膛主体完全一样的粗网格。

目前的 24 个颗粒喷嘴如果只是为了 DPM 喷射,并不一定要在几何模型中真正建立 24 根小管和 24 个圆孔

Fluent 可以直接使用 Point/Cone Injection 给出:

  • 喷嘴坐标;
  • 喷射方向;
  • 初速度;
  • 颗粒直径;
  • 锥角。

这样可以避免为了 DPM 把网格数量大幅增加。

只有在你还需要研究:

“喷嘴携带气流本身如何改变炉膛连续相流场”

时,才有必要真正建立喷嘴流体域。


5. General 设置

进入:

Setup → General

推荐:

Solver

Pressure-Based

Time

Steady

Velocity Formulation

Absolute

Gravity

建议开启。

这个炉膛温度达到 1775 K,冷热气体密度差非常明显,因此浮力可能对流场产生影响。

假设竖直方向是 Z 方向,并且 Z 正方向向上:

gz=9.81 m/s2g_z=-9.81\ {\rm m/s^2}

如果你的坐标方向不同,则按照实际模型填写。


6. Models 设置

6.1 Energy

进入:

Models → Energy

选择:

ON

必须开启 Energy,因为两个入口分别为:

  • 1775 K;
  • 533 K。

不计算能量方程就无法合理获得温度混合和密度变化。


6.2 湍流模型

第一版建议:

Models → Viscous → Realizable k-epsilon

壁面处理:

Scalable Wall Functions

或者根据你的版本选择对应 wall treatment。

对于当前这种:

  • 炉膛;
  • 高温流动;
  • 射流;
  • 回流;
  • 混合;

Realizable kεk-\varepsilon 是比较稳健的第一选择。

以后如果重点研究壁面附近流场或者喷嘴附近细节,可以再对比 SST kωk-\omega


6.3 Radiation

1775 K 已经属于非常高的温度,因此最终进行真实焚烧炉温度场分析时,辐射通常不能忽略。

不过你当前首要目的是:

跑通稳态流场 → 再研究颗粒分布。

因此第一轮调试可以暂时:

Radiation = OFF

这样更容易收敛。

等整个 DPM 流程确认正确以后,如果需要准确温度场,可以再加入:

  • P1;
  • DO;

以及真实壁面 emissivity。


7. Materials 设置

如果目前没有详细烟气组分,可以先将连续相近似成 air

进入:

Materials → Fluid → air

最重要的是:

Density

选择:

ideal-gas

不建议直接使用 Constant Density。

因为:

T=5331775 KT=533\sim1775\ {\rm K}

温度变化太大,气体密度变化不能简单忽略。

Cp

优先使用温度相关性质,例如:

piecewise-polynomial

如果暂时只是调试,也可以先使用软件已有的 air properties。

Viscosity

可以使用:

Sutherland

或者 Fluent 自带的温度相关空气性质。

如果你有真实烟气组分,例如:

  • CO₂;
  • H₂O;
  • N₂;
  • O₂;

以后再改成 mixture/species 模型。


8. Operating Conditions

建议:

Operating Pressure = 101325 Pa

如果设备实际上接近常压运行。

压力出口使用:

Gauge Pressure = 0 Pa

这样绝对压力约为一个大气压。


9. 顶部大入口设置

选择顶部直径 4 m 的入口。

Boundary Type:

mass-flow-inlet

填写:

Mass Flow Rate

19.226 kg/s\boxed{19.226\ {\rm kg/s}}

Temperature

1775 K\boxed{1775\ {\rm K}}

Flow Direction

如果入口表面法向正确:

Normal to Boundary

即可。

如果模型法向不正确,则使用方向分量显式指定。

Turbulence

第一版建议:

Intensity and Hydraulic Diameter

例如:

  • Turbulence Intensity = 5%;
  • Hydraulic Diameter = 4 m。

如果你有入口实验数据,则以实验数据为准。


10. 侧面 0.6 m 入口设置

Boundary Type:

mass-flow-inlet

Mass Flow Rate

2.26 kg/s\boxed{2.26\ {\rm kg/s}}

Temperature

533 K\boxed{533\ {\rm K}}

Hydraulic Diameter

0.6 m\boxed{0.6\ {\rm m}}

Turbulence Intensity

第一版可使用:

5%

Direction

这一项非常重要。

必须保证侧面射流是:

沿管道轴线向炉膛内部喷射。

不要仅仅看箭头,最好在 Fluent 中 Display/Vector 检查入口方向。


11. 出口设置

如果炉膛底部为出口:

Boundary Type:

pressure-outlet

Gauge Pressure

0 Pa0\ {\rm Pa}

Backflow Temperature

可以先取一个合理值,例如:

1000~1500 K。

该参数只有发生反向流动时才会发挥作用。

如果出口存在明显反流,不要仅仅依靠残差判断收敛,需要继续检查炉膛内部回流结构是否合理。


12. Wall 设置

第一轮推荐:

  • No Slip;
  • Stationary Wall;
  • Thermal:Adiabatic。

这样先减少问题复杂度。

如果之后有:

  • 实际壁温;
  • 炉墙热损失;
  • 耐火材料参数;

再加入壁面传热。


13. Solution Methods

第一阶段为了尽快得到稳定流场,推荐:

Pressure-Velocity Coupling

先使用:

SIMPLE

如果机器性能允许,也可以用:

Coupled

复杂回流流场下 Coupled 有时收敛更快,但每一步计算成本也更高。

Spatial Discretization

第一阶段:

  • Gradient:Least Squares Cell Based;
  • Pressure:Standard;
  • Momentum:First Order Upwind;
  • Turbulent Kinetic Energy:First Order Upwind;
  • Turbulent Dissipation Rate:First Order Upwind;
  • Energy:First Order Upwind。

先获得一个稳定解。


14. Initialization

使用:

Solution Initialization → Hybrid Initialization

点击:

Initialize

然后开始计算。

建议先:

300~500 iterations

观察流场。


15. 从一阶切换到二阶

当:

  • residual 开始稳定下降;
  • 入口和出口质量流量稳定;
  • 炉内速度结构不再明显变化;

以后,将:

  • Momentum;
  • Energy;
  • k;
  • epsilon;

逐步切换成:

Second Order Upwind

Pressure 可以根据情况使用:

Second Order

然后继续计算,例如 500~1500 iterations。

具体迭代次数不应作为收敛标准。


16. 稳态场真正的收敛判断

不要只看 residual。

至少同时检查以下四项。

16.1 Residual

可以参考:

  • Continuity < 10410^{-4}
  • Momentum < 10410^{-4}
  • k、epsilon < 10410^{-4}
  • Energy < 10610^{-6}

并不是必须机械达到某一个数字,更关键的是整体稳定。


16.2 质量守恒

总入口:

21.486 kg/s21.486\ {\rm kg/s}

检查:

Reports → Fluxes → Mass Flow Rate

出口应该接近:

21.486 kg/s\boxed{21.486\ {\rm kg/s}}

质量不平衡建议至少控制在:

0.5% 以内

更理想是:

0.1%~0.2%以内


16.3 监测出口质量流量

创建 Report Definition:

Mass Flow Rate → outlet

观察其随 iteration 是否趋于水平。


16.4 监测炉内速度

建议在以下位置分别建立一个 plane:

  • 炉膛上部;
  • 侧入口下游;
  • 炉膛中部;
  • 炉膛下部。

分别监测:

Area-Weighted Average Velocity Magnitude

如果 residual 看起来不错,但这些速度仍一直漂移,则还没有真正稳定。


17. 保存稳态流场

确认连续相收敛后:

File → Write → Case & Data

例如保存:

furnace_steady_converged.cas.h5

furnace_steady_converged.dat.h5

这个文件非常重要。

后面所有 DPM 设置都基于这个稳态结果进行。

不要修改一次 DPM 就重新从头计算气相。


18. 第二阶段:开启 DPM

进入:

Models → Discrete Phase → Edit

对于你当前目标,最关键的设置是:

Particle Treatment

选择:

Steady Tracking\boxed{\text{Steady Tracking}}

而不是:

Unsteady Particle Tracking

Fluent 的 Steady Tracking 会把释放后的颗粒直接追踪到最终 fate,因此非常适合在已经收敛的稳态流场上做颗粒轨迹后处理。(Ansys Help)


19. Interaction with Continuous Phase

一定先关闭:

Interaction with Continuous Phase = OFF\boxed{\text{Interaction with Continuous Phase = OFF}}

也就是 one-way coupling。

此时:

气体颗粒\text{气体}\rightarrow\text{颗粒}

但:

颗粒↛气体\text{颗粒}\not\rightarrow\text{气体}

这是你当前最需要的。

因为你的目标只是:

“看看颗粒去哪里、速度是多少。”

没有必要每算一次颗粒又重新修正气体动量方程。

官方对 one-way coupling 的定义就是:基于固定连续相流场预测离散相运动,而不让离散相源项改变连续相。(Ansys Help)


20. 颗粒类型

如果喷嘴喷的是水,但你明确要求:

暂时不考虑蒸发。

第一版推荐直接用:

Particle Type = Inert

不要使用 evaporation。

颗粒材料可以建立一个类似:

water-inert

例如:

  • Density = 998~1000 kg/m³;
  • Cp 可使用水的相应数值。

这样虽然物理上把水滴简化成了不会蒸发的惰性球形颗粒,但正好满足你目前单独研究:

  • 惯性;
  • 气动力;
  • 重力;
  • 颗粒速度;

的目标。


21. DPM Physical Models

第一轮只保留最基本模型。

建议:

Drag

ON。

一般使用默认:

Spherical

Gravity

如果 General 中已经开启 gravity,则颗粒会受到重力作用。

Turbulent Dispersion

第一轮:

OFF\boxed{\text{OFF}}

Particle Radiation

OFF。

Evaporation

OFF。

Boiling

OFF。

Breakup

OFF。

Collision

OFF。

Wall Film

OFF。

Thermophoresis

第一轮 OFF。

Saffman Lift

第一轮 OFF。

你的第一轮目标是把最基本的:

mpdvpdt=Fdrag+Fgravitym_p\frac{d\mathbf v_p}{dt} = F_{\rm drag}+F_{\rm gravity}

跑清楚。


22. DPM Tracking Parameters

进入 DPM 的 Tracking/Numerics 页面。

建议第一轮:

Step Length Factor

5\boxed{5}

这是一个很合适的起始值,也是 Fluent 常用默认值。

它不是你之前的 10510^{-5} s。

Step Length Factor 控制颗粒在穿越网格单元时积分步长的大小;数值越大,积分步长越小,轨迹更精细,同时计算量也越大。官方文档也给出了这一关系。(Ansys Help)

Max. Number of Steps

可以第一轮设:

10000\boxed{10000}

然后观察 particle fate。

如果很多颗粒显示:

incomplete

而且不是因为它们长期困在回流区域,再增加为:

  • 20000;
  • 50000。

Fluent 的 steady particle tracking 默认最大追踪步数可达到较大的数值,因为回流区中的颗粒可能需要许多积分步。(Ansys Help)

但是:

不要一开始为了“保险”就设几十万或者几百万。

炉膛中一旦存在困住颗粒的回流区,会导致单个 stream 被追踪很长时间。


23. 24 个喷嘴最推荐的建立方式

如果 24 个喷嘴只负责颗粒释放,而不需要模拟喷嘴自身气流:

不要建立 24 个真实喷管流体域。

直接:

Discrete Phase → Injections → Create

建立 24 个 injection。

如果每个喷嘴形成锥形喷雾,使用:

Cone

或者根据版本选择相应的:

Solid Cone

如果只是想先测试运动方向:

Point Injection

更加简单。


24. Number of Streams 应该设置多少

你之前:

500/喷嘴500/\text{喷嘴}

一共:

12000 streams12000\ streams

对于最终定量研究并不一定离谱。

但是对于第一轮测试完全没有必要。

建议采用逐级方法:

调试阶段

2030 streams/nozzle\boxed{20\sim30\ streams/nozzle}

例如 30:

24×30=72024\times30=720

总共只有 720 条计算轨迹。

第一版正式结果

50 streams/nozzle\boxed{50\ streams/nozzle}

总计:

24×50=120024\times50=1200

网格和颗粒统计敏感性分析

继续比较:

  • 50 streams/nozzle;
  • 100 streams/nozzle;
  • 200 streams/nozzle;
  • 500 streams/nozzle。

如果 100 和 200 得到的:

  • 喷雾覆盖范围;
  • 截面平均颗粒速度;
  • 撞壁比例;
  • 出口比例;

变化已经很小,就没有必要使用 500。

需要特别理解:

Number of Streams 不是现实中的液滴数量。

一个 Fluent parcel/stream 可以代表大量真实液滴。


25. 颗粒直径是必须认真给定的

如果不知道颗粒粒径,仅仅知道喷嘴数量,那么:

颗粒速度和颗粒分布实际上无法得到唯一的物理解。

例如:

  • 10 μm 水滴;
  • 100 μm 水滴;
  • 500 μm 水滴;
  • 1 mm 水滴;

在同一个气流中的行为完全不同。

小颗粒很容易跟随烟气;

大颗粒惯性和重力明显,会保持自己的喷射方向更长时间。

因此至少需要知道:

  • 平均直径;
  • SMD/D32;
  • 或者粒径分布。

如果现在暂时没有数据,可以先做三组敏感性分析,例如:

dp=50 μmd_p=50\ \mu m dp=100 μmd_p=100\ \mu m dp=200 μmd_p=200\ \mu m

看结果的变化。

最终再换成喷嘴厂家的实际粒径数据。

如果有实际粒径分布,可以以后采用 Rosin-Rammler。


26. 喷嘴初速度同样非常重要

每个 injection 至少需要确定:

  • X;
  • Y;
  • Z;
  • Velocity Magnitude;
  • Direction;
  • Diameter;
  • Mass Flow Rate;
  • Cone Angle。

颗粒从喷嘴出来的初速度不能随意设置成:

0 m/s

否则模拟的是颗粒在出口位置“凭空出现以后,被气体逐渐带走”。

真正的喷雾通常本身就具有明显初速度。

如果有:

  • 单喷嘴液体流量;
  • 喷嘴孔径;

可以估算:

U0=m˙ρlAU_0=\frac{\dot m}{\rho_l A}

再作为颗粒初速度的参考。


27. 24 个喷嘴均匀圆周布置时的方向设置

如果 24 个喷嘴沿炉膛圆周均匀排列:

Δθ=36024=15\Delta\theta=\frac{360^\circ}{24} = 15^\circ

ii 个喷嘴:

θi=θ0+(i1)15\theta_i=\theta_0+(i-1)15^\circ

如果全部水平向炉膛中心喷射,并假设炉膛轴线是 Z 轴,则单位方向可以写成:

dx=cosθid_x=-\cos\theta_i dy=sinθid_y=-\sin\theta_i dz=0d_z=0

如果喷嘴同时向下倾斜 α\alpha,则可写成:

dx=cosαcosθid_x=-\cos\alpha\cos\theta_i dy=cosαsinθid_y=-\cos\alpha\sin\theta_i dz=sinαd_z=-\sin\alpha

颗粒初速度为:

up=U0dxu_p=U_0d_x vp=U0dyv_p=U_0d_y wp=U0dzw_p=U_0d_z

这样 24 个喷嘴的方向不会手工输错。


28. Injection Point 不要正好放在壁面上

这是 DPM 很常见的问题。

如果喷嘴没有真实建立成一个 fluid inlet,而只是一个 point/cone injection:

不要把颗粒初始点精确放在 wall surface 上。

否则颗粒一生成就可能:

  • 被判断为 trapped;
  • escape;
  • 找不到所属 cell;
  • 出现异常 trajectory。

建议把 injection point 向炉膛内部移动一点。

典型做法是:

从壁面沿喷射方向向流体域内部移动约半个到一个局部网格尺度。

确保初始位置确实位于 fluid cell 内。


29. 每个喷嘴的 Mass Flow Rate

如果已经知道总喷液流量:

m˙l,total\dot m_{l,\rm total}

而 24 个喷嘴完全相同:

m˙nozzle=m˙l,total24\dot m_{\rm nozzle} = \frac{\dot m_{l,\rm total}}{24}

填入每个 injection。

如果当前真的只是:

看轨迹和速度,不考虑颗粒影响烟气;

那么在 one-way coupling 下,mass flow rate 对单个颗粒的运动轨迹并不像:

  • 粒径;
  • 初速度;
  • 密度;

那么敏感。

但是为了后面统计结果有实际意义,还是建议填写真实值。


30. DPM Boundary Conditions

需要检查 wall 和 outlet 的 DPM boundary condition。

炉墙

第一轮建议:

Trap\boxed{\text{Trap}}

这样只要颗粒撞墙,就停止追踪,并被统计为 trapped。

这样非常适合回答:

“多少颗粒撞到了炉壁?”

如果设置成 Reflect,颗粒会反弹回来,会增加大量追踪时间,也会使模型更复杂。

所以第一轮不要用 Reflect。

出口

设置:

Escape\boxed{\text{Escape}}

颗粒到达出口以后结束追踪。


31. 第一轮推荐的 24 喷嘴 DPM 参数汇总

参数第一轮推荐
Continuous Phase已收敛稳态流场
DPM TrackingSteady
Interaction with Continuous PhaseOFF
Particle TypeInert
EvaporationOFF
BreakupOFF
CollisionOFF
Wall FilmOFF
Turbulent DispersionOFF
GravityON
DragON
Number of Streams20~50/nozzle
总 Streams480~1200
Step Length Factor5
Max Tracking Steps10000 起步
Wall DPM BCTrap
Outlet DPM BCEscape
Particle Diameter实际值/敏感性分析
Particle Initial Velocity实际喷嘴出口速度
Cone Angle实际喷嘴参数

这一套配置通常会比:

24 × 500 streams + Unsteady DPM + 10510^{-5} s

快非常多。


32. 开始计算 DPM 时,不需要重新跑连续相

这是一个非常重要的操作逻辑。

稳态气相已经计算完成以后:

不要再点击 Run Calculation 跑几千步气相迭代。

对于你现在的 one-way Steady DPM:

直接进入:

Results → Graphics → Particle Tracks

选择 24 个 injection。

点击:

Display

Fluent 会基于当前已经存在的气相速度场计算这些颗粒轨迹。


33. 如何查看颗粒速度

进入:

Results → Graphics → Particle Tracks

选择:

Release From Injections

把所有 24 个喷嘴勾选。

Color By 选择:

Particle Variables → Particle Velocity Magnitude

即可得到:

颗粒轨迹按照速度大小着色。

建议显示范围不要一直用自动范围,可以统一 color scale,方便不同算例比较。

例如比较:

  • 50 μm;
  • 100 μm;
  • 200 μm;

三种粒径时使用相同 velocity range。


34. 如何查看颗粒分布

如果你的“颗粒分布”指的是:

从哪里喷入、怎么扩散、覆盖到炉膛什么范围。

Steady Particle Tracks 已经足够。

可以分别:

Color by Velocity

看速度。

Color by Residence Time

看停留时间。

Color by Particle Diameter

如果采用粒径分布,看不同粒径去了哪里。


35. 建立多个截面检查颗粒分布

推荐沿炉膛高度建立几个 plane,例如:

  • Plane-1:喷嘴附近;
  • Plane-2:喷嘴下方;
  • Plane-3:炉膛中部;
  • Plane-4:下部;
  • Plane-5:出口附近。

然后利用:

DPM Sampling

统计颗粒穿过各个截面时的:

  • X/Y/Z Position;
  • Particle Velocity;
  • Diameter;
  • Residence Time;
  • Mass Flow;
  • Particle Fate。

Fluent 支持在指定 sampling surface 上记录颗粒通过时的数据,用于后续统计分析。(Ansys Help)

这比仅仅截图看彩色轨迹更有定量意义。


36. 推荐的颗粒结果指标

你最终最好不只是输出一张 Particle Tracks 图,而是至少整理以下指标:

  1. 炉膛不同高度的颗粒覆盖范围;
  2. 平均颗粒速度;
  3. 最大颗粒速度;
  4. 最小颗粒速度;
  5. 出口颗粒比例;
  6. 撞壁颗粒比例;
  7. incomplete 比例;
  8. 不同粒径颗粒轨迹差异;
  9. 炉膛中心区域的颗粒覆盖情况;
  10. 24 个喷嘴之间是否出现明显的空白区或重叠区。

37. 第二轮:考虑湍流导致的颗粒随机扩散

第一轮确定整个流程正确以后,再开启:

Turbulent Dispersion → Discrete Random Walk

这一步可以让颗粒受到湍流瞬时脉动的影响。

此时建议:

Number of Tries

先:

3\boxed{3}

而不是直接 10、20。

因为 Steady DRW 中:

  • tries=1 → 每条流线计算 1 次;
  • tries=5 → 基本相当于重复 5 次随机轨迹;
  • tries=10 → 成本约进一步增加。

Fluent 官方也明确说明 Number of Tries > 1 会对一个 stream 进行多次不同随机湍流轨迹计算。(Ansys Help)

因此推荐:

先提高 Number of Streams,再适度提高 Number of Tries,而不是一开始两个都设得很大。


38. 推荐的颗粒收敛/独立性测试

例如固定:

  • 颗粒粒径;
  • 初速度;
  • Cone Angle;
  • 其余条件完全一样。

分别计算:

Case A

25 streams/nozzle

总计:

600600

Case B

50 streams/nozzle

总计:

12001200

Case C

100 streams/nozzle

总计:

24002400

Case D

200 streams/nozzle

总计:

48004800

比较:

  • trapped fraction;
  • escaped fraction;
  • 各截面平均速度;
  • 喷雾覆盖半径。

如果:

100200100\rightarrow200

结果变化已经小于例如 2%~5%,那么没有必要继续增加到 500。


39. 如果以后确实需要“某一时刻颗粒云团在哪里”

这个需求和现在的“轨迹和速度”是不同的。

例如你以后要研究:

0.2 s 时整个炉膛内有多少水滴,0.5 s 时颗粒云移动到了哪里。

这时才需要:

Unsteady Particle Tracking

但是也不建议马上回到:

105 s10^{-5}\ {\rm s}

建议首先尝试:

103 s\boxed{10^{-3}\ {\rm s}}

然后进行时间步敏感性测试:

10310^{-3}

与:

5×1045\times10^{-4}

如果结果基本不变,就没有必要使用 10510^{-5}

需要注意,这个 Particle Time Step 与 steady tracking 中的 Step Length Factor 是两个不同概念。


40. 如果必须做 Unsteady DPM,如何避免再次出现极慢的问题

建议第一版:

参数推荐
Continuous Flow保持已经收敛的稳态场
DPMUnsteady
Interaction with Continuous PhaseOFF
Particle Time Step10310^{-3} s 起步
Number of Streams10~30/nozzle
Start Time0
Stop Time根据实际喷射时间
DRW第一版 OFF
CollisionOFF
BreakupOFF
EvaporationOFF

如果只是想观察“一团颗粒喷进去以后怎么运动”,还有一个非常实用的办法:

Pulse Injection

令:

Start Time = 0

Stop Time = 0

在 Fluent 的 Unsteady Particle Tracking 中,start 和 stop 都设为 0 时,颗粒只会在计算开始时释放一次,而不是以后每一个时间步不断生成。(Ansys Help)

这时候即便:

500 streams/nozzle500\ streams/nozzle

也只是初始释放约:

24×500=1200024\times500=12000

个计算 streams/parcels。

而不是:

12000×Ntimestep12000\times N_{\rm timestep}

因此会快很多。

这非常适合你以后制作:

“喷射颗粒云团随时间进入炉膛的动画”。


41. Steady DPM 与 Unsteady DPM 到底怎么选

可以按下面这个原则判断。

只想知道:

“从喷嘴喷出来的颗粒最后往哪里走?”

Steady DPM

只想知道:

“颗粒速度是多少?”

Steady DPM

想知道:

“哪些颗粒撞墙,哪些到出口?”

Steady DPM

想比较不同粒径的轨迹:

Steady DPM

想看统计意义上的喷雾覆盖:

Steady DPM + DRW

想知道:

“第 0.15 s 时炉内颗粒云具体在哪里?”

Unsteady DPM

想考虑碰撞、聚并等时间相关喷雾过程:

→ 通常需要 Unsteady DPM。Fluent 对需要粒子同时随时间演化的模型也要求使用 transient tracking。(Ansys Help)


42. 你的项目现在最建议采用的计算路线

按照以下顺序执行即可。

Step 1

暂时完全关闭 DPM。

Step 2

建立:

  • Pressure-Based;
  • Steady;
  • Energy ON;
  • Ideal Gas;
  • Realizable kεk-\varepsilon
  • Gravity ON。

Step 3

顶部入口:

19.226 kg/s,1775 K19.226\ {\rm kg/s},\quad1775\ {\rm K}

Step 4

侧入口:

2.26 kg/s,533 K2.26\ {\rm kg/s},\quad533\ {\rm K}

Step 5

出口:

Pressure Outlet = 0 Pa gauge

Step 6

Hybrid Initialization。

Step 7

一阶计算至基本稳定。

Step 8

改二阶继续计算。

Step 9

确保:

m˙outlet21.486 kg/s\dot m_{\rm outlet} \approx21.486\ {\rm kg/s}

并且各监测点稳定。

Step 10

保存:

steady_gas_converged

Step 11

开启 DPM。

Step 12

选择:

Steady Tracking\boxed{\text{Steady Tracking}}

Step 13

关闭:

Interaction with Continuous Phase\boxed{\text{Interaction with Continuous Phase}}

Step 14

Particle:

Inert

Step 15

建立 24 个 injections。

Step 16

第一轮每喷嘴:

30 streams\boxed{30\ streams}

共:

720720

Step 17

输入真实:

  • 坐标;
  • 喷射方向;
  • 初速度;
  • 粒径;
  • Cone Angle。

Step 18

Wall:

Trap

Outlet:

Escape

Step 19

Tracking:

  • Step Length Factor = 5;
  • Max Steps = 10000。

Step 20

显示:

Particle Tracks

Color By:

Particle Velocity Magnitude

Step 21

检查:

  • trapped;
  • escaped;
  • incomplete。

Step 22

如果正常,再把 streams 增加:

30 → 50 → 100 → 200。

Step 23

最后再开启 DRW,研究湍流扩散。

Step 24

只有确实需要“颗粒随真实时间变化的云团”时,再做 Unsteady Particle Tracking。


43. 你现在最不应该做的设置

当前研究阶段不推荐:

24×500 streams+Unsteady DPM+Δtp=105s+Continuous Injection\boxed{ 24\times500\ streams + Unsteady\ DPM + \Delta t_p=10^{-5}s + Continuous\ Injection }

因为这种设置计算的是:

大量 parcel 按极高频率连续生成,并且每一个 parcel 都要继续追踪。

而你现在其实只想解决:

“24 个喷嘴喷出的颗粒在这个已经收敛的炉内气流中会去哪里、速度怎么样?”

两者的计算任务完全不是一个量级。


44. 推荐的最终第一版配置

如果现在让我直接替你确定第一版参数,我建议使用:

连续相

  • Pressure Based;
  • Steady;
  • Energy ON;
  • Gravity ON;
  • Ideal Gas;
  • Realizable kεk-\varepsilon
  • 顶部 19.226 kg/s,1775 K;
  • 侧面 2.26 kg/s,533 K;
  • Pressure Outlet;
  • 首先一阶,再二阶;
  • 完全收敛后保存。

颗粒相

  • CPU Fluent;
  • DPM;
  • Steady Tracking
  • Interaction with Continuous Phase OFF
  • Inert Particle;
  • Density ≈ 1000 kg/m³,如果代表水滴;
  • Evaporation OFF;
  • Breakup OFF;
  • Collision OFF;
  • Wall Film OFF;
  • DRW 第一轮 OFF;
  • Gravity ON;
  • 24 个 Cone/Point injections;
  • 30~50 streams/nozzle
  • Step Length Factor = 5;
  • Max Steps = 10000;
  • Wall = Trap;
  • Outlet = Escape。

如果以 50 streams/nozzle 为例:

Ntotal=24×50=1200N_{\rm total}=24\times50=1200

Fluent 只需要处理约 1200 条主要计算轨迹,而不是随着每一个 10510^{-5} s 时间步不断增加新 parcel。

这应该作为你下一次计算的起点。


45. 后续必须补充的 4 个喷嘴参数

虽然上述设置已经可以把 Fluent 的整个流程跑起来,但要得到具有实际物理意义的颗粒分布和颗粒速度,还缺少四类重要信息:

  1. 每个喷嘴的喷液质量流量;
  2. 颗粒/液滴粒径或粒径分布;
  3. 喷嘴出口初速度;
  4. 喷雾锥角以及 24 个喷嘴的具体方向。

其中尤其是:

粒径 + 初速度\boxed{\text{粒径 + 初速度}}

对颗粒轨迹影响非常明显。

所以目前不建议凭经验随便设置以后就直接将结果作为最终结果。

可以先利用 Steady DPM 把整个流程验证正确,再加入真实喷嘴参数。


46. 最后给你的计算流程图

text
检查网格 设置连续相 Pressure-Based + Steady Energy ON Ideal-Gas Realizable k-epsilon Gravity ON 顶部入口 19.226 kg/s 1775 K 侧入口 2.26 kg/s 533 K Pressure Outlet Hybrid Initialization 一阶计算 二阶计算 检查质量守恒 Outlet ≈ 21.486 kg/s 检查速度/压力/温度监测值稳定 保存 Steady Case/Data 开启 DPM Steady Tracking Interaction with Continuous Phase = OFF Inert Particle No Evaporation No Breakup No Collision 24 个喷嘴 30~50 streams/nozzle Step Length Factor = 5 Max Steps = 10000 Wall = Trap Outlet = Escape Particle Tracks Color by Particle Velocity 检查 Escaped / Trapped / Incomplete Streams 敏感性 50 → 100 → 200 需要时开启 DRW 最后才考虑 Unsteady DPM / 蒸发 / Breakup / Two-Way Coupling

针对你现在遇到的 Advancing DPM Injection 耗时问题,最关键的一句话就是:先不要用 10510^{-5} s 的 Unsteady DPM。对于“固定稳态气相流场中观察 24 个喷嘴的颗粒分布和速度”这个目标,优先使用 one-way 的 Steady DPM。 :::

如果你下一步能提供24 个喷嘴的布置图、喷嘴出口直径、单喷嘴流量、喷射速度/压力、喷雾角和液滴粒径,我可以进一步直接按你的几何坐标给出“24 个 Injection 每一项在 Fluent 里具体填什么”,包括 24 个喷嘴的 X/Y/ZX/Y/Z Velocity 参数表。

分享这个问答