我们知道有限元算法的精髓是划分网格,网格对结果有非常大的影响。目前市面上软件对复杂几何模型进行网格划分非常简单,但是用户却不得不问自己:我如何知道网格是否真的好?我需要多少单元呢?网格密度对结果会产生怎样的影响呢?本文我们就聊一聊在设置网格时应该考虑什么,以及如何检查产生的网格。
一、网格密度考虑
理论上讲,模型中使用的单元越多,结果就越接近真实结果。然而,我们不可能去分析无限多的单元,一方面是为了节省计算资源;另一方面网格划分也是一种艺术,它能体现出cae老鸟和新手的区别。所以在计算时,我们需要找到计算的规模(网格数量)和计算的准确性之间的平衡。建议在此之前,我们不妨问自己如下问题:
我在进行什么类型的分析?非线性分析往往比线性分析有更严格的网格要求。例如滑动接触问题可能需要一个更精细的网格来捕捉变化的状态行为;高级材料,如塑性、超弹性等,通常需要更精细的网格来捕捉大应变梯度;大变形分析需要更精细的网格来适应分析过程中形状的大变化。
我关注的区域在哪里?如果事先知道关注区域在哪里,与其细化整体网格,不如将单元集中在关注的区域,粗网格通常足够用于力传递,可以用于不需要应力信息的区域。如果事先不知道关注的区域,可先进行粗网格分析,确定后续分析中需要细化的区域。
小特征将会如何影响结果?小孔、圆角、凸角、窄边都将自动生成一个非常精细、局部化的网格。我们需要评估这些特性是否会影响分析:它是否在关键区域?它会影响加载路径吗?这些需要用户在求解精度和时间中做出权衡。
我需要一个什么样的结果?对于线性分析,精确的位移结果不需要像应力结果那样精细的网格——如果分析是为了确保位移不会太大,那么可以使用较粗的网格,如果分析需要评估结构的应力,在关键的区域需要加密网格。
我在使用什么样的单元?有些单元在弯曲时比较“刚”,需要在零件的厚度上加密网格来正确地捕捉弯曲行为。这类问题通常被称为“锁定”,原则上有中间节点的单元(二次单元)比线性单元更不容易被锁定,但如果弯曲非常显著,即使使用带中节点的单元,也建议厚度上大于一个单元。此外,某些单元的形状对变形更敏感。例如,一个六面体单元可以拉长,但仍然提供良好的结果。然而,一个四面体单元在一个方向上伸长时会产生小角度,这可能会提供不那么精确的结果。