Hypermesh二次开发:开发个球

文摘   2025-01-22 08:23   重庆  

标题少写了几个字,完整标题是Hypermesh二次开发:开发个球体的六面体划分工具。

在有限元分析领域,六面体网格对于提高计算效率和结果精度具有重要意义。那么球体的六面体网格划分,堪称六面体网格划分的经典案例。从轴承中的钢珠到座椅的滚珠,诸多应用场景都离不开六面体球体的创建。接下来,让先通过一段视频创建出的效果:

在众多关于球体六面体划分的视频教程中,常见的方法是

1、先将球切割为八分之一;

2、再对分割后的球体加点,加线切割出内部小正方形;

3、再添加正方体的面与球面的引导线;

4、然后再通过正方形与球体表面进行切割实体;

5、再合并多余的切割面,得到四个可以映射的实体;

6、再通过映射生成六面体;

7、最后利用旋转对称完成整个球体的网格划分。

二次开发按照上述逻辑开发虽然可行,但存在一个棘手的问题——每次切割实体后,其solid,line的ID都会发生变化,切割后要重新去获取ID,这无疑给开发带来了诸多不便。

为了少写代码

本篇文章展示的二次开发方法采用了不同的策略。虽然六面体映射的基本思路与传统方法一致,也是中间划分正方形,但并没有对模型进行实际切割。而是采用了单元对单元映射的方式,直接进行六面体映射,再配合上旋转完成球体网格的划分。这种方法不仅避免了切割导致的ID变化问题,还简化了操作流程,提高了开发效率。
但是这个方法对于球面网格生成提出了要求,如果球面的网格和中间六面体的网格不一致,那么实体映射将会失败,当前程序未考虑到这一点,球面网格生成是自动的,这一点可以通过对圆球表面进行切割,指定edge的种子数量确定,让程序变得稳健。

对其他软件生成的球的六面体,例如LS-prepost,ansys,ansa对于球的六面体网格生成也是按照上述逻辑,中心一个正方形,外侧则是一个球映射六面体。

如果你对二次开发脚本感兴趣,欢迎后台留言“六面体球体划分”。



TodayCAEer
花有重开日,人再无少年
 最新文章