最近动手做了一个挺有意思的小工具,选择一张图片,就可以自动生成二维网格。不用建模,也不用手动设置网格参数。
整个过程很简单。运行程序后,选择图片、选择gmsh.exe,设置一下网格算法和尺寸参数,点击“生成网格”,程序就会自动生成对应的 .geo 和 .msh 文件,并保存到原图片所在文件夹。
生成完成后还会直接弹窗提示保存位置,也可以选择是否自动打开Gmsh查看结果。
这个程序已经把Gmsh自动打包了,大家只需要打开程序,其他的什么软件都不需要下载
这里用到的Gmsh是一款开源网格生成软件,支持二维和三维网格、GUI、命令行以及 Python 等多种调用方式,在CFD和有限元前处理中都很常见。官方还支持通过背景网格尺寸场来控制不同位置的单元尺寸。
官网链接分享给大家:https://gmsh.info/
基于Gmsh软件,我做了带图形界面的程序,这个工具最有意思的地方,是可以直接利用图片来控制网格疏密。
比如圆柱、翼型、汽车外流场,都可以根据图片中的不同区域,让物体附近、尾迹区域或者局部重点位置自动加密,而远场保持相对稀疏。相比一个区域一个区域去设置尺寸控制,这种方式会直观很多。
下图是直接根据图片生成的蝴蝶网格
当然,如果想得到更好的网格效果,建议使用灰度图、黑白图或者专门制作的网格控制图。图片背景越干净、边界越清晰、灰度分区越明确,生成的网格通常越容易控制。
普通照片也可以尝试,但复杂阴影、纹理、文字和水印都有可能影响网格分布。
这个程序版本主要实现的是自动生成Gmsh网格,但这并不是Fluent可以直接使用的网格
Fluent想要正常读取msh文件,需要一定的转换这部分的功能我也正在做,也已经完成了部分功能,后面有进展也会分享给大家。
这是在Fluent中的网格展示,帅呆了
来源:Fluent学习笔记