首页/文章/ 详情

117、Fluent 如何将旧网格的计算结果映射到新网格?

3小时前浏览0

0. Fluent结果映射

Fluent中经常需要不同模型之间的数据转移,以便在新的模型或网格基础上继续已有的计算结果,常见于网格更新、重构、不同工况或几何间的数值数据传递。


 


本质上就是将已有的模型A的计算结果通过插值的方式映射到模型B上面,这在OpenFOAM 中通过mapFields可以轻松实现。Fluent通过Interpolate(插值)也可以实现这样的功能


 



1. 常见的应用插值的情况

1.1 换网格继续计算(网格细化)

初始计算在粗网格上完成,为提高精度,需要更换为细网格继续计算;


比如:先在初始粗网格(10W网格)上进行模拟,快速得到大致速度与压力分布;为获取更精确的壁面剪切应力分布和湍流特性,构建了更精细网格(100W网格);


利用 interpolate 将粗网格结果插值到细网格上,避免从零开始迭代,节省大量计算时间。

 


网格质量出现退化或局部调整(如自适应网格 refinement);


比如:在高温梯度区域,原网格出现 skewness 偏大,影响收敛性;修改该区域网格细化或重新划分局部网格,整体几何不变;使用 interpolate 将原计算结果映射到新网格中,再继续迭代,保持连续性。

 



1.2 不同几何之间的数据迁移

几何略有改变(如出口截面位置移动、进口扩径),但希望保留之前的速度场、温度场等;

 


模拟过程中某些参数(如边界条件)发生变化,几何基本保持一致。

 


注意事项:

  • 新旧几何必须保持整体结构和拓扑大致相同;

  • 插值误差可能在几何边界附近较大;

  • 可以在边界条件重新设定后再次初始化部分区域patch。



1.3 用之前的部分物理数据进行初始化

比如模型A计算了速度场,同时还计算了其他的数据。现在想在速度场的基础上耦合计算温度场,同时不需要模型A的其他数据。


当然可以从头计算速度场,但是一些情况下,模型比较复杂,计算速度较慢。此时就可以将模型A的速度场单独插值出来,然后导入到模型B中,然后再进行温度场的计算

 




1.4 多区域/多模型耦合中的数据转移

  • 分区求解:将大型计算域拆分为多个区域单独求解;

  • 不同模拟软件之间的数据传递(如CFX → Fluent);

  • Fluent内部模型间耦合,需传递初始场。


 

2. 插值的使用步骤

我们将模型A的数据插值给模型B


2.1 写出数据

在读取数据之前,我们看一下模型A的温度场。我们需要将A的温度场导入到B模型中


 


模型A:File---Interpolate

 

在Interpolate界面需要设置以下内容

 

a. Options

  • Read and Interpolate:表示读取数据并且插值,当插值数据被保存好后需要读取时,选择此选项

  • Write data:写数据,即模型A的数据需要写出来


b. Cell Zones:可以在此处选择那部分区域需要插值


c. Fields:选择需要导入的物理场。这里选择的数据,同时会自动保存坐标数据(x,y,z的坐标)


d. Binary File:勾选这个选择,表示数据以二进制文件存储。不勾选,则数据以ACSII码保存


保存的数据会已ip为后缀名

 

点击Write后,控制栏会输出如下信息

 


注:ip文件数据如下

 



2.2 读取数据

还是同样的模型,这次我们改变边界条件,让流速增加10倍,同时导热系数减小10倍。目的就是让模型B的温度场计算值和模型A不同。下图为模型B的温度场

 


下面将模型A的温度场导入模型B中,同时还不影响其他数据


还是打开Interpolate Data界面,勾选Read and Interpolate


 


注:这里的Fields是无法选择的状态,读取数据时不需要选择Fields。读取的数据Fluent自己能够识别是什么数据。


点击Read,读取刚才保存的ip文件

 


控制栏显示如图,没有出现Ignoring data,说明数据成功导入


 

 

回到云图,查看温度场

 


3. 注意事项

  • 只有导入的物理场会影响模型B,模型B其他的物理量不会受到影响


  • 导入的数据Fluent会自动识别是什么数据。比如模型A的是温度场,导入到模型B中会自动识别到是温度场,然后替换掉B的温度场。


  • 由于是这种识别方法,要求模型B中必须有模型A的物理场,比如模型A是温度场,模型B必须也要有温度场,否则就无法导入数据。


我们关闭模型B的能量方程,然后再按照之前的流程插值,控制栏会出现下列信息。这说明Temperature温度场没有导入成功。

 

 
  • 即使模型B有模型A的物理量,还必须保证两者物理量名称完全相同。比如模型A是单相流三个方向的速度,模型B是多相流。两者的物理量名称不相同

 


此时模型B导入模型A的速度场,还是会忽略数据,导入失败

 


来源:Fluent学习笔记
FluentCFXOpenFOAM多相流湍流控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-07-08
最近编辑:3小时前
Fluent学习笔记
博士 签名征集中
获赞 153粉丝 458文章 163课程 3
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈