Fluent快速计算插值教程
在使用 Fluent 做 CFD 计算时,我们经常会遇到一种情况:
同一个模型、同一套计算工况,只是网格数量发生了变化,却需要重新初始化并重新计算。
最典型的就是做 网格无关性验证。
通常我们需要建立 疏网格、中等网格、密网格 三套甚至更多网格。如果每套网格都从零开始初始化,不仅计算时间较长,而且有时候第一套网格很好收敛,换一套网格之后却可能变得比较难收敛。
其实 Fluent 自带了一个非常实用的功能:
Interpolation(插值)
我们可以把已经收敛算例中的流场数据导出,再将这些数据插值到另一套不同网格上,直接作为新算例的初始场。
这样可以明显减少重新计算所需的迭代步数,加快收敛。
1. 示例说明
这里以一个机翼外流场计算为例。
首先建立机翼计算模型,如图1所示。
将第一套网格定义为 mesh1。
计算工况保持不变,例如本案例采用压力远场边界,来流马赫数设置为:
Mach Number = 0.8
具体边界条件如图2所示。
完成 Fluent 设置并进行计算后,可以得到当前网格下的流场结果。
例如图3所示为计算得到的静压分布。
此时,mesh1 已经得到一个较好的收敛流场。
接下来我们的目标就是:
把 mesh1 的流场结果传递给另一套不同网格数量的 mesh2,作为 mesh2 的初始场。
2. 导出 mesh1 的插值数据
在已经计算完成的 mesh1 算例中,依次点击:
File
→ Interpolate
进入 Interpolate Data 面板。
选择:
Write Data
然后在左侧 Cell Zones 中选择需要导出的流体区域。
本案例中的流体域名称为:
air
右侧 Fields 中选择需要导出的变量。
为了尽可能完整地保留已有流场信息,可以直接将相关变量全部选择,例如:
Pressure
Temperature
Turbulent Kinetic Energy
Specific Dissipation Rate
X Velocity
Y Velocity
Z Velocity
...
最后点击:
Write...
将文件保存为:
NACA_data.ip
具体操作如图4所示。
这里生成的 .ip 文件就是 Fluent 的插值数据文件。
其中保存了当前算例中的压力、速度、湍流参数等流场信息。
3. 准备第二套网格 mesh2
接下来建立第二套网格 mesh2。
需要注意:
mesh1 和 mesh2 的网格数量可以不同。
例如本案例中,两套网格的单元数量分别为:
mesh1:约 207 万 Cells
mesh2:约 103 万 Cells
两套网格数量存在明显差异,如图5所示。
这也是 Interpolate 功能非常实用的地方:
它并不是简单地读取原来的 .dat 文件,而是根据空间位置将旧网格中的流场变量插值到新网格上。
因此特别适合用于:
- 网格无关性验证
- 局部网格加密
- 网格数量调整
- 网格拓扑相近算例
- 同一模型不同网格之间的数据迁移
4. 将 mesh1 结果插值到 mesh2
打开 mesh2 对应的 Fluent 算例。
在正式计算之前,不需要重新进行常规初始化。
依次点击:
File
→ Interpolate
然后选择:
Read and Interpolate
如图6所示。
点击:
Read...
选择前面由 mesh1 导出的:
NACA_data.ip
然后点击:
OK
具体操作如图7所示。
Fluent 会自动读取 .ip 文件,并根据 mesh2 当前网格的位置,将原来的流场变量插值到新的计算域中。
读取完成后,可以在 Fluent 控制台中看到类似提示:
Reading IP data ...
x-coord
y-coord
z-coord
pressure
omega
temperature
k
x-velocity
y-velocity
z-velocity
Done.
Initializing values...
Done.
如图8所示。
出现:
Initializing values...
Done.
基本就说明插值数据已经成功写入当前计算域。
5. 查看插值后的初始流场
完成插值后,即使还没有正式开始迭代计算,也可以直接查看当前的流场结果。
例如再次绘制静压云图,可以看到 mesh1 中原有的流场结构已经被较好地映射到了 mesh2 上。
如图9所示。
可以看到,机翼前缘高压区、上表面低压区以及周围压力梯度都已经基本建立。
也就是说:
mesh2 不再从一个均匀的初始场开始计算,而是直接从一个已经非常接近最终结果的流场开始迭代。
此方法对于:
网格无关性验证、局部网格加密、多套网格计算以及相似工况计算都非常实用。
相比每套网格都重新初始化、重新建立整个流场,利用已有结果作为初始场通常可以显著减少前期迭代过程,让计算更容易收敛。
如果平时经常需要批量计算多套 CFD 算例,这个功能还是非常值得掌握的。

还没有公开评论,欢迎留下第一条交流。