有限元仿真分析误差来源之网格划分
众所周知,有限元分析中网格划分是非常重要的,好的网格划分方式,可以提高计算的精度和计算效率。有问题的网格划分方式,往往会带来计算误差,甚至是错误。下面就探讨下有限元仿真中,网格划分的一些技巧,如有不当,欢迎大家批评指正。一、一次单元or二次单元
一次单元就是线性插值的单元,二次单元就是二次插值的单元。大家可能觉得这个说了跟没说一样。那就看图吧。
图1是solid186的单元说明,它是一个二次单元,就是具有中间节点的单元。有了这个中间节点,单元的边就可以弯曲,看图1就可以看出来。图2就是solid185,是一次单元,没有中间节点,那么它的边就只能是直的。有的同学就会问,这样对计算会有影响吗?
同一个模型图3是一次单元,图4是二次单元,可以看出,二次单元能够很好的拟合圆角,而一次单元是用多段的直线拟合圆角,拟合较差。
一般情况二次单元的计算精度要高,但是二次单元也会遇到问题,在以后的文章会讨论到。
二、四面体or六面体
六面体网格和四面体网格是有限元计算中,最常用的两种网格形式。大家都认为六面体网格不仅精度高,而且计算效率高。看下下面的算例。
由于模型比较复杂,采用理论计算的方式进行分析,比较困难。采用workbench的convergence功能进行,对网格不断细化迭代,收敛过程如下所示。
计算结果如下所示:
可以看出在局部高应力区域,网格被细化。最大应力为1992.5Pa,此时节点数量为484714个。
采用六面体网格进行计算,结果如下。
计算最大应力为1940.5Pa,节点数为51435。
为了方便对比分析,采用和图相同的网格尺寸,并同样采用带中间节点的网格类型进行计算,结果如下。
可以看出在局部高应力区域,网格被细化。最大应力为1992.5Pa,此时节点数量为484714个。
采用六面体网格进行计算,结果如下。
计算最大应力为1940.5Pa,节点数为51435。
为了方便对比分析,采用和图相同的网格尺寸,并同样采用带中间节点的网格类型进行计算,结果如下。
最大应力为1974Pa,节点数为113718。
将计算结果进行对比分析如下。
可以看出,在具有当网格数量足够时,具有中间节点四面体网格计算精度甚至比六面体网格计算精度高,当然四面体网格划分会产生较多的节点,降低计算效率,但是现在计算机性能突飞猛进,采用四面体网格进行仿真计算似乎更有效率。
三、梁单元or实体单元
当模型的截面尺寸和长度比小于5时,一般采用梁单元。那么梁单元和实体单元相比,谁的计算精度更高些呢?
一个简单悬臂梁算例,如下所示。
理论计算变形,如下所示
采用梁单元计算,结果如下
最大位移1.29*10^6。
采用六面体实体单元,结果如下。
最大位移 。梁单元计算和实体单元计算结果基本相同。
如果进一步减小网格数量,采用一个梁单元进行划分,计算结果如下。
计算结果为 ,精度并没有下降。
如果将实体单元减少到一层,会发现直接报错,主要是产生了沙漏效应,导致模型的刚度为零。同样如果是模态分析,在局部有只有一层六面体单元,就会产生固有频率为零的情况。
四、结论
1、在具有相同单元尺寸的前提下,带中间节点的四面体单元和六面体单元相比,计算精度并不差,但是模型的节点数目会很多,在计算机硬件较高时,采用带中间节点的四面体单元直接划分网格,会节省较多的前处理工作,提高效率。
2、对于细长模型,梁单元计算效率更高,精度也不低,还能避免沙漏效应。
页:
[1]