现代工程仿真软件都可以进行复杂的网格划分,控制网格单元大小是所有复杂网格划分中最常用到的功能。按照指定几何实体来区分,常见的单元尺寸控制分别体现在几何点,几何边,几何面,和几何体四个层级。一个很好的单元尺寸控制功能,可以帮助使用者快速地得到高质量且优化的网格,有助于后续的数值计算。本文从开发者角度,讨论精确控制单元尺寸的应用与技术细节。

特征长度
特征长度是网格划分中的最重要数值。在对几何体(如STEP文件导入生成的BRep实体)进行有限元网格划分时,我们都会设置一个或多个全局特征长度,最常见的特征长度就是最大单元尺寸,这个值限制了单元的大小,从而达到控制网格密度的效果。当然,算法上也可以根据几何体的Bounding Box大小或曲线曲率,内部生成一些特征长度,在每个节点位置比较这些特征长度并取最小值。
实际网格划分中,由于几何体的复杂性,需要人为对某一特定位置加密网格,这就需要对特定位置设定局部特征长度。而局部特征长度优先级会大于全局特征长度,覆盖全局特征长度,参与网格划分。虽然用户常选择的局部位置是点、线、面,而在网格空间,这些选择的区域都转化为笛卡尔坐标。生成网格时,算法会根据当前节点的位置,通过判定和比较,而决定最终的特称长度大小。
示例
以三维立方体模型为例,选择六个面中的一个,并设置所选面的最大单元尺寸为0.2。

网格划分后,可以看到,在所选面及其附近,网格密度明显大于其他位置。

本例只选择了一个面,用户也可以选择多个面,如果是装配体模型,可以选择多个体上的不同的面。同样的,如果选择一条几何边进行加密,也是可以实现。

或者是选择一个几何节点,可以实现对局部节点的网格加密。

总结
有限元网格的局部密度取决于局部单元的特征长度。当同一区域有多个特征长度时,算法上会比较得出最小的特征长度,用于网格划分。对于常见的Delaunay或者Advancing Front算法,特征长度会用于确定下一个相邻网格节点的位置。因为所选的几何实体都会转换为笛卡尔空间坐标,无论前端GUI选择的是几何面,边,还是点,算法层面都没有区别,都是根据每个节点的空间位置来确定特征长度。

官网:https://welsim.com
QQ群:913069921

求关注,请长按二维码
夜雨聆风