本文摘要(由AI生成):
文章介绍了BatchMesher的使用流程、Criteria文件和parameters配置文件的相关内容,以及一些常见的网格划分技巧。BatchMesher是一个批量网格划分工具,可以在HyperMesh中调用,也可以单独运行。Criteria文件用于定义网格划分的质量要求,而parameters配置文件则用于控制网格划分过程中的各种参数。文章还介绍了一些常见的网格划分技巧,如孔边的单元数、washer宽度等。
一切推理都必须从观察与实验中得来。
— 伽利略
培训、文档、网络检索都有用处,但没什么能替代亲自观察,实验和思考,“实践是检验真理的唯一标准”。
BatchMesher 顾名思义就是批量地对零件进行网格划分,在2D网格划分方面有很明显的速度和质量优势,其实质是根据 Criteria 文件里面的单元质量要求和Parameters 文件中的特征处理/ 网格划分等控制参数进行自动迭代处理。
Part 1
BatchMesher 的使用流程
目前有两种方法可以打开 BatchMesher。一种是从automesh面板中调用,对当前HyperMesh中的曲面进行网格划分,划分后还可以结合HyperMesh的其它工具对零件进行处理,比较灵活,适用于曲面相对较少或者网格质量要求较高的场合。
另外一种方法是从windows开始菜单下打开单独的 BatchMesher,可以一次划分多个文件中的模型,适合大量零件的网格划分。划分完后也可以通过HyperMesh 打开查看网格是否需要修改。
首先,通过一个简短的视频了解一下 BatchMesher 的使用流程。
打开单独的 BatchMesher 后,界面上有4个标签页,简要说明如下:
1. Run Setup 标签页
主要用于选择要进行网格划分的零件以及相应的输出文件和目录,并为每个文件选择配置文件。此外,可以对每个文件进行tcl脚本的选择。
2. Run Status 标签页
用于查看当前网格划分的进度等信息。
可以看到队列中还有多少个文件等待划分。对于已经划分好的文件可以直接点击左下方的HyperMesh按钮可以在HyperMesh中打开查看(同时也会载入对应的配置文件)。
3. Configurations 标签页
用于加载和编辑用户自定义配置文件,然后可以在 Run Setup 选择使用这些配置文件。该标签页是发挥BatchMesher 巨大威力的根本所在。
4. User Procedures 标签页
主要用于加载和设置用户子程序。用户子程序也是普通的tcl脚本,不过编写的时候需要使用BatchMesher 特有的一些约定。
关于如何编写tcl脚本的知识可以参考【HyperMesh宝典】前面的内容或者参加我们线下的培训哦~(文末附参加方式)
Part 2
Criteria文件介绍
Criteria文件不仅仅用于 BatchMesher,还可以在QualityIndex 或者 element cleanup 等面板中看到它的身影。
通常用户不需要设置 Advanced Criteria Table,里面的加权系数和各个参数值是已经调试好的值。
➡ 最小单元尺寸和最大单元尺寸的范围要足够大,常用的最小单元尺寸是目标单元尺寸的25%左右,最大单元尺寸是目标单元尺寸的两倍左右,这样得到的网格划分结果更好。适当减小最小单元尺寸可以获得更好的网格。
➡ Use min length from time step calculator 只用于显式分析的网格。显式分析时候对最小单元尺寸有明确要求,但是由于 timestep 还取决于很多网格尺寸以外的参数,所以这里的结果只是个给定材料条件下的大概值。
➡ 一般即使不选择三角形百分比控制,BatchMesher 也会尽量控制三角形数量,所以通常的做法是不选该项目,这样得到的网格流向更好。
➡ 翘曲对网格划分有较大影响,一般推荐值是20~25度。设置太小的翘曲值会导致大量四边形被切割成三角形或者节点脱离几何面。
单元质量只是实际单元偏离理想形状程度的一种度量,不同的求解器会有不同的定义。HyperMesh 的单元质量计算方法尽可能与主流的求解器保持一致,用户也可以在上图中为不同的质量检查项目选择不同的计算方法。
2D单元部分质量检查项目的 HyperMesh 计算方法如下表(某些指标有多种计算方法,只列出其中一种):
➡ Aspect Ratio 纵横比:最长边与最短边或者顶点到对边最短距离(最小标准化高度)的比值。
➡ Chordal Deviation 弦差:近似直线段与实际曲线的最短垂向距离
➡ Interior Angles 内角:三角形和四边形的内角
➡ Jacobian 雅可比:雅可比反映了单元偏离其理想形状的程度。雅可比的取值范围为0.0到1.0, 雅可比矩阵的行列式关系到单元从参数空间到全局坐标空间的转换。
HyperMesh 在单元的每个高斯积分点或者单元的顶点计算雅可比矩阵,并报告每个单元最小值和最大值之比。雅可比在0.7以上时单元质量较高。可以在Check Element Settings 中设定使用哪种计算方法(高斯积分点或顶点)。
➡ Length (min.)最小边长:
最小边长有以下两种计算方法:
1. 单元最短边长:适用于四面体单元之外的所有单元;
2. 顶点到对边(对于四面体单元而言是对面)的最短距离。
可以在Check Element Settings中设定使用哪种计算方法,如下图
注意:该设置同时会影响纵横比的计算方法
Skew扭曲度:扭曲度=90-MIN(a, b),其中a,b为中线与底边平行线的夹角
➡ Taper锥形度:表征组成四边形的两个三角形的大小关系
对于三角形单元,taper值定义为0
➡ Warpage翘曲角:将四边形沿着对角线分为两个三角形,这两个三角形的法向夹角就是翘曲角。该项只对四边形进行检查。
注意:将四边形沿着对角线分为两个三角形有两种分法,取较大值为单元翘曲角。
Part 3
parameters配置文件
这里的目标单元尺寸和 parameters 文件中的值必须相等
目前有中面抽取和直接中面网格两种方法都可以得到中面网格。
第二种方法主要应用于注塑件等复杂结构。如果几何文件已经是中面了,这里就不要再重新抽取中面。对于钣金件推荐使用skin offset方法进行中面的抽取。
钣金件通常都有一些孔,孔的处理是一件费时费力的工作,所以 BatchMesher 对平面孔的处理方面有很强的自动识别-几何处理-网格划分能力。只要配置文件设置合适,孔附近就可以得到不错的网格。
可以通过半径范围把孔分成不同的范围,可以填充孔或者调整孔的半径或者在孔的周边增加washer。创建washer时还可以指定孔边的单元数以及washer的优先级。
用户需要确保按照规则得到的washer的最小单元尺寸不小于单元质量要求的最小值。
最小单元尺寸的计算公式如下 ⬇
例如:半径为2.5mm的孔,如果孔边放6个单元,结果网格的最小单元尺寸为2.5mm。
可以在 Compose 简单验证如下:
输入: r=2*2.5*sin(pi/6)
输出: r = 2.5
孔边的单元数通常应该是大于6的偶数
Elems mode 推荐使用“minimal”, 如果外径超过目标单元尺寸的140%或者小于60%,可以考虑“exact” 模式;
Washer宽度推荐使用auto,因为1*radius模式可能导致单元尺寸过小或者雅可比太小。
如果两个孔的距离过近,那么系统就无法同时满足两个孔的washer要求,这时可以通过最后一列来设置哪个半径的孔具有高优先级。
下图所示,如果设置为小孔优先,则大孔的washer要求被忽略,反之如果是大孔优先,则小孔的washer要求将被忽略。
如果你有哪一项设置没有理解清楚,不妨拿一个简单的零件试一试。
首先在Altair Evolve软件中创建一个具有各种不同半径的孔的平面。
接下来设置相应的控制文件
然后在 automesh 或者在 BatchMesher 中进行测试,结果如下:
局部放大后
1
成功填孔并创建圆心tag
2
半径为4的孔,3层washer
3
半径30的孔,2层washer
4
两个washer设置有冲突的孔的处理结果
另外,在右上角的位置的几个孔的washer数量大于要求的层数(当然,买一送一在这里并没有什么害处),原因可能是因为孔的附近没有其它特征约束,但是这些帮助文档是没有解释的。可以自己动手验证一下,比如,在孔的附近加一个特征。
重新划分后的结果如下:
再看一个logo remove的控制项,parameters文件的控制项目如下 ⬇
Logo remove
各参数的几何意义:
contour_accumulated_turn_angle:等高累积转角
user guide 中的解释如下 ⬇
The contour_accumulated_turn_angle is the sum of angles between a letters contour straight parts. Curved parts of a contour letter are approximated by a segmented line composed of short straight segments. For completely concave contour (such as circles, quads, and hexagons) concavity factor contour_accumulated_turn_angle = 360 degrees and concavity factor = 0.
To extend the recognition and removal of a logo, the Concavity factor should be reduced.
翻译如下 ⬇
等高累积转角是一个字符中等高且平直的面间的夹角的总和。弯曲部分会先用一系列直线段进行近似。对于完整的凹等高面(比如圆形,四边形或正六边形凹台),总角度的和为360,根据公式可以计算得到凹度为0。具体计算的公式恐怕只有看到源代码才能明白了。
通常你只需要知道:降低凹度可以增强logo面的识别。
选项并不难理解,但是没有实际测试一下总还是不大放心的。
直接在HyperMesh中打开一个零件,一个X字符的高度大约0.8mm,长度大约8mm
设置好参数(这次我们只处理几何,不划网格试试)
然后到automesh面板下点击mesh
得到的结果如下图所示
说明通过设置正确的参数可以找到logo曲面!
从上面的介绍不难发现,BatchMesher 设置参数的好坏和几何中的特征以及特征间的关系是密切相关的。
所以针对不同的零件可能需要调整配置文件才能得到比较好的网格。