使用Ansys Mechanical 获得精确数值结果(4)自适应收敛

我们知道,有限元数值方法是模拟各种情况的非常强大的工具。挑战现实世界的机械问题。然而,成功找到“一个”解并不能保证数值准确性。让我们看一下这个非常简单的悬臂梁问题。

求解器可以生成一个在整个厚度上仅包含一个元素的解,如下所示。

或者可以用很多元素来解决问题,就像这样。

两个案例均已顺利求解。然而,结果很清楚,例如变形、应力和应变从这两组结果来看是有很大不同的。我们可能直观地认识到,对于这种情况,结果包含更多元素应该更准确。但它有多准确,是否足够准确?是否有规则来决定解决方案的准确性水平?我们如何才能实现解决问题的准确性?

在这个讲座中,我们将尝试回答这些问题。

自适应收敛的定义

首先,我们来介绍一下术语—有限元分析的自适应收敛。自适应收敛是指系统响应(例如应力或变形)收敛为定义明确的模型提供减小单元尺寸的可重复解决方案。因此,结果不再随着网格的进一步细化而改变。

当实现自适应收敛时,这意味着解的数值精度是在您规定的限度内获得的。既然我们谈论“准确性”,那么我们应该知道我们用来参考的结果是什么事。

相对精度和相对误差的定义

事实上,对于大多数实际的机械工程问题,由于材料的复杂性、非线性接触和非线性变形,是没有精确的解决方案或解析解。因此,我们在分析中需要跟踪的不是绝对准确度,而是“相对”准确度准确度,或者更准确地说,在一个网格和更细的网格之间,结果的百分比变化。

自适应收敛需要用不同的方法多次解决问题网格离散化级别。也就是说,它从较粗的网格开始,然后移动到更细的网格。

相对误差(Relative Error)是根据模型结果之间的比较来定义的不同的网格密度。

这里,“Phi”表示结果数量,下标“i”表示细化迭代。大写“E”是用户指定的精度。因此,当结果的变化小于用户指定的容差时,满足收敛性。

自适应收敛与求解非线性问题时收敛的区别

现在,说到“收敛”这个词,有些人可能会觉得很熟悉,在其它地方,我们用于尝试迭代地求解非线性系统通过数值方法。例如,用Newton-Raphson方法求解非线性系统,收敛意味着平衡时的不平衡力最小化到定义的标准。我们不应该混淆这两种不同场景中融合的含义。

回到自适应收敛,我们提到它需要多次解决问题随着网格的不断细化。过去,工程师需要手动确定在何处细化网格以获得良好的数值精度,这可能是一个容易出错的过程。在 Ansys 的帮助下,这个过程现在可以自动完成用于有限元分析。

现在,让我们看一个使用自适应收敛工具的简单示例。

如果所示简单零件,材料为铝合金。

采用系统默认网格设置生成网格:

零件尾部设为固定支撑:

沿着负Y方向施加一个20KN的力。

在零件的圆孔内壁施加一个1000MPa的压力:

预见到该零件会发生挠性变形,在设置中打开大变形:

要确定是否需要大变形公式,您也可以先运行问题不开启大挠度,对比检查变形是否明显到几何尺寸。如果是这样,则需要大挠度公式。当然,对于大变形问题,我们可以说收敛性研究更重要。必要且有意义,因为如果网格不充分,误差可能会很大。

运行分析,查看总变形和应力情况:

运行结果变形和应力的分布符合我们的预期。

下面我们来看如何使用自适应收敛的方案,在总变形中插入收敛(Convergence):

在Worksheet中可以看到目前的收敛历史:

可以看到表格里的变形数字就是零件的最大变形量。这意味着我们将跟踪身体的最大总变形值自适应细化过程。一旦最大变形不再在您指定的允许限制内变化网格不断细化,我们可以说该结果已达到收敛。我们还可以选择其他结果来在细化过程中进行跟踪。例如,范围表面的最大结果,或者我们甚至可以跟踪结果在特定节点。我们只需在该特定结果下插入“收敛”工具即可。在这里,我们从跟踪最大总变形值开始。

我们需要定义收敛工具的允许变化,这可以被视为作为用户特定的准确度,即上述表达式中的大写“E”。我们将其更改为 5%。这意味着仅当先前网格的结果,同当前细化网格的结果对比其变化于5%,即可视为收敛。

定义细化深度

我们还可以通过调整细化来控制自适应细化的激进程度自适应网格细化下的深度设置,位于“详细信息”视图中解决方案对象。对于结构分析,默认值为 2。因此,当发生自适应收敛时,程序将细化到 2 个元素的深度。如果用户想要更激进的细化,这个数字可以增加,但是因为随着细化区域的增加,求解时间可能开始成为一个问题。由于问题的几何形状相当简单,让我们将细化深度设置为 1。

定义最大细化循环

我们需要定义的另一个属性是优化循环的最大数量。此属性使您能够更改应用程序执行的优化循环的数量。默认值为 1。这意味着,在一次迭代内,它将尝试仅细化网格 1 次

自适应收敛流程:

  • 采用基本网格初始化求解器
  • 基于模拟结果,元素会被检查
  • 如果元素的误差高于设定值,它们会被优化
  • 继续优化知道误差低于设定值

重新运行模拟,查看最大变形的收敛结果,变更为0.13%,小于5%,可以视为收敛。

查看结果的变形云图,可以发现元素确实被细化了:

选择零件的内表面,查看等效应力结果插入收敛,运行模拟:

这样,我们可以获得与网格无关的解——即不改变的结果。

小结

一般来说,自适应收敛是验证网格是否足够的好工具。然而,总是依赖它可能不是一个好主意,因为它可以通过计算来实现对于复杂模型来说价格昂贵。此外,我们应该意识到自适应收敛并不是传统网格控制规范中的一个。因此,所以它对于新模型来说是不可重复的。

最后,模拟的准确性取决于许多因素,其中最重要的是几何形状、材料属性、载荷和准确反映实际的物理系统的边界条件。

自适应收敛是帮助我们理解网格在数值计算中的影响的工具准确性,但它无法补偿不正确的输入,例如不正确的边界条件。我们可以使用自适应收敛作为学习工具来了解局部网格控制在哪里需要或验证当前网格是否足够。这将有助于为未来模型定义更好的网格,以确保数值准确性,或我们的解决方案的网格独立性。