WeCFD 流体空间我要提问
返回经验库

Fluent快速计算插值教程|利用已有结果加快新网格收敛

本文以机翼网格无关性计算为例,介绍 Fluent 中 Interpolation 插值功能的使用方法。通过将已收敛网格的压力、速度及湍流参数等流场数据导出为 .ip 文件,再插值到另一套不同网格中作为初始场,可以减少重新初始化后的迭代过程,从而加快计算收敛。该方法操作简单,适用于网格无关性验证、局部网格加密及相似模型之间的流场数据迁移。

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 算例,这个功能还是非常值得掌握的。

加快收敛
2 条评论

评论交流

补充经验、提出疑问,和大家一起完善这篇内容。

0/2000

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