1.Fluent 文件类型
在使用Fluent做CFD仿真时,很多同学都会注意到这样一个现象:
保存计算文件时,软件默认会生成保存类型:
- Case Files (*.cas)
- Case Files (*.cas.gz)
- Case Files (*.cas.h5)
- 还有 *.dat、*.dat.gz、*.dat.h5、*.msh、*.msh.gz
都是case文件,为什么有这么多种?保存哪种格式比较好?有什么区别?
可能很多已经用了Fluent好几年的同学都不太清楚,实际使用的时候都是混用的。
今天我们就来彻底搞清楚Fluent这些文件格式的区别,以及该如何选择。
2.Fluent文件的基本分类
Fluent主要有两类必要的文件,cas和dat。当然还有很多其他的文件,比如msh文件、.jou文件、.trn文件、.set文件。我们这里只说case和dat、
2.1 Case文件(.cas系列)
Case文件的作用是存储网格和设置信息,是数据的容器。主要包含:
网格数据(节点坐标、单元连接关系)
边界条件设置
物理模型设置(湍流模型、能量方程等)
材料属性
求解器设置
初始化信息
case 类似于你买的毛坯房,里面只有墙体、结构、水电布线这些“基础框架”,一切都还停留在“设计和配置”的层面;
2.2 Data文件(.dat系列)
Data文件的作用是存储计算结果,主要包含:
流场数据(速度、压力、温度等)
残差历史
监测数据
统计信息
data 就是装修之后的房子---墙面颜色、家具布置、灯光效果都已经确定下来,对应的就是计算结果:流场分布、温度场、压力场、颗粒轨迹等等。
2.3 文件关系
换句话说,case定义了怎么计算,data记录了算出来什么。前者决定了房子的“骨架”,后者体现了房子的“灵魂”。
有时候你只想看模型结构,不需要结果,就只打开.cas;而想看完整的流场,就必须同时加载 .cas + .dat ,这就像看一套房子,不仅要看“设计图”,还得看“装修效果图”。
总结一下就是:
完整的计算 = Case文件 + Data文件
启动计算:只需要.cas
继续计算:需要.cas + .dat
后处理:需要.cas + .dat
所以单独的.cas可以用,但没有计算结果;单独的.dat不能用,必须配合对应的.cas
3.为什么有 .cas/.dat、.gz、.h5?
这三者的区别,主要来自文件存储方式与压缩方式的演变。Fluent为了适应更复杂的仿真场景与更大的网格规模,在不同版本中逐步引入了新的文件格式。
3.1.msh、.cas、.dat:传统的文件类型
这是最早期的Fluent文件体系:纯文本与传统二进制
在早期(大约Fluent 6.x 之前),Fluent的文件主要有两种格式:
ASCII文本格式(纯文本)
文件后缀:.msh、.cas、.dat
打开后能直接看到类似 (12 (xyz 1 2 3)) 这样的命令式数据结构。
优点:可读性强,可以用文本编辑器直接查看甚至修改。
缺点:文件体积大,读取速度慢,且对大规模计算(上千万单元)效率很低。
b. 传统二进制格式(Binary Format)
同样是.cas、.dat后缀,但存储内容是二进制。
优点:体积小、读写速度快;
缺点:跨平台兼容性差,比如Windows下保存的文件在Linux上可能打不开。
这就是最初Fluent文件的“根”:文本版本可读但慢,二进制版本快但封闭。
3.2.gz:压缩版本的文件
简单说,就是用gzip算法压缩后的.cas文件。
原始.cas文件 → gzip压缩 → .cas.gz文件 为什么进行压缩呢?这是因为随着模型越来越大,Fluent的cas和dat文件变的非常大。因此Fluent引入了压缩机制,即使用 gzip算法 对文件进行压缩,于是就出现了.gz文件。
.msh.gz:压缩网格文件,相当于把.msh用gzip打包后直接读取,不需要手动解压。
.cas.gz / .dat.gz:压缩后的案例与数据文件,节省存储空间,适合存档或传输。
所以你可以理解为:
.msh → 原始网格.msh.gz → 压缩版网格.cas → 普通案例.cas.gz → 压缩版案例
文件内容结构是一样的,只是压缩包装不同。
注:
.gz 文件只是“压缩壳”,内部依然是传统的.msh或.cas格式;
Fluent在读取时会自动识别并解压,不需要用户手动操作;
优点是体积小,缺点是读取稍慢(因为要实时解压)。
比如对于上面的cas和dat文件,相同的case和data文件,.cas和.dat文件大小是9M和21M;而.cas.gz和.dat.gz的文件大小是2M和4M
对于更加大型的文件,.cas文件为72M左右,而.cas.gz文件大小只有30M。所以.gz文件能够大大压缩文件的大小。
什么时候用.cas.gz?
推荐场景:
大网格(>50万网格)需要长期保存需要传输文件硬盘空间紧张
而对于比较小的网格,且频繁读写的情况就不需要使用.gz格式
3.3.h5:新一代高性能文件格式
从 ANSYS Fluent 2021R1 起,官方逐步引入了一种新的数据结构标准----HDF5。
这是一种科学计算通用的数据存储方式,类似于一个可层级组织的数据库文件,被广泛用于气象、天文、材料等领域(比如NASA和OpenFOAM也在用)。
.cas.h5 新格式的案例文件,包含网格、模型设置等信息;
.dat.h5 新格式的数据文件,存储求解结果;
类比:
.cas/.cas.gz:像一个Word文档,从头到尾读
.cas.h5:像一个数据库,可以快速定位和读取任意部分
HDF5格式有很多的优势:
读写速度快
比如相同的案例,.cas读取时间45s,.cas.ge读取需要50s,而.cas.h5只需要15s。比其他类型的文件快2-3倍!
文件更小
.h5文件大小和.gz差不多,这是因为HDF5也使用了压缩算法,且数据结构更优化。
Fluent官方也说明:未来的版本中,.h5 将逐步取代传统 .cas / .dat,成为默认存储格式。
3.4 各个类型文件对比
这三者的区别,主要来自文件存储方式与压缩方式的演变。
Fluent为了适应更复杂的仿真场景与更大的网格规模,在不同版本中逐步引入了新的文件格式。
4.为什么“都是cas文件,还分这么多种”?
因为Fluent的功能与计算规模在不断进化,而文件格式必须兼顾以下三个目标:
兼容性:旧文件不能报废(所以保留.cas);
高性能:面对大规模并行,需要高效的存取结构(所以引入.h5);
存储效率:考虑存档与传输(所以有.gz压缩版)。
因此你会看到:
.cas 是“祖宗格式”,兼容性最好;
.cas.gz 是节省空间的“压缩版”;
.cas.h5 是新一代“高性能版”。
它们本质上存储的是同样的逻辑信息(网格、模型、边界条件),只是“包装壳”和“内部结构”不同。
如果用一个比喻:.cas 像一个普通文件夹,.cas.gz 是这个文件夹打成的zip压缩包,.cas.h5 则是把所有内容装进一个高效的数据库。
5.各个类型的文件如何保存
在Fluent 2022版本之后,Fluent默认的保存格式就是.h5格式。只要正常保存,就会是这个格式。
如果将Files of type类型更改为.cas.gz,则保存的就是.gz格式
然后再回到write case界面,默认格式就变成了.cas文件了,此时再进行保存即可