OpenFOAM格式 — CAE用语解释
OpenFOAM格式
OpenFOAM的原生网格格式称为"polyMesh",由constant/polyMesh目录中的points、faces、owner、neighbour、boundary五个文件组成。基于面的数据结构,能够自然地表示多面体网格。
有5个文件啊。points是坐标,faces是面的定义,我能理解。但owner和neighbour是什么意思呢?
每个面都被两个单元格夹住,对吧。owner记录的是面"正面"侧的单元格编号,neighbour记录的是"背面"侧的单元格编号。正因为这样的结构,在有限体积法计算通量时,"夹住这个面的单元格是哪两个?"就能快速求出。边界面没有neighbour,所以内部面和边界面也很容易区分。
怎样才能把用商用网格划分软件生成的网格导入OpenFOAM呢?
OpenFOAM配有fluentMeshToFoam、ideasToFoam、gmshToFoam等转换工具。对于Fluent的.msh文件,可以直接用"fluentMeshToFoam mesh.msh"一键转换。不过在某些情况下,需要手动编辑boundary文件来调整边界条件的名称或类型。
ASCII和二进制格式该怎样选择呢?
对于调试和学习,ASCII格式更方便。可以直接用文本编辑器查看内容。但对于100万单元格以上的大规模网格,文件大小和读取速度的差异就很明显了,正式计算必须用二进制格式。可以通过system/controlDict中的"writeFormat"来切换。
OpenFOAM的网格格式看起来复杂,但其实是为了有限体积法优化的结构。有了转换工具,也可以联合使用商用网格划分软件了。
完全同意。最初理解polyMesh结构需要花点时间,但一旦理解了,就可以通过脚本操作网格,编写自定义工具。这正是开源软件的灵活性优势所在。
准确理解CAE术语是团队内部沟通的基础。 — Project NovaSolver也着眼于为实务者提供学习支持。
Project NovaSolver — 面向CAE实务课题的研究开发
"能否更高效地分析OpenFOAM格式?"——我们倾听实务者的声音,致力于改进现有工作流的下一代CAE项目。具体功能尚未公开,但我们将及时分享开发进展。
订阅进展通知 →相关主题
帮助
更详细
错误