上次说了线性屈曲分析,有限元基础知识:线性屈曲分析
这次说一下非线性屈曲,非线性屈曲一般用于分析后屈曲问题,诸如汽车行业:控制臂的后屈曲分析,诸如土木行业的:钢结构后屈曲分析。
与线性屈曲不同的点在于,非线性屈曲可以考虑在屈曲发生过程中的:
一般来说对于上述非线性问题,我们会采用牛顿法进行迭代求解,然而对于载荷-变形行为较为复杂的仿真分析(如后屈曲),传统的牛顿法无法求解,应该采用弧长法进行求解。目前最为常用的弧长法采用改进Riks方法 (Modified Riks),这里Riks是个人名,没啥含义。
之所以需要选用这一类型的方法,原因在于比如在一个力加载的系统中,力的大小是随着加载增加的,而当计算之前用户其实无法预估最大的力,所以可能会加载到一个结构永远无法承受的力,这样结构的计算就永远不收敛,如下图所示:
而如果采用位移加载,在一定程度上则可以避免上述的情况,却由于位移或单调递增或以一个函数的形式施加,没法准确的捕捉后屈曲的snap-back(跳回失稳)行为,如下图所示:
所以对于一个典型的非线性后屈曲问题,有以下的特征:
- 屈曲发生后承载力可能迅速下降后又提升(变形到了另外一个相对稳定的状态)
那么弧长法由于其既可以处理snap-through(载荷下降),又可以处理 snap-back(位移减少)就成了我们处理后屈曲问题的当前的唯一选择。
具体的做法为,在弧长法中,我们会引入一个新的变量,
, 这里我们以力加载为例, 可以认为就是载荷系数,那么现在我们有如下的公式:
而上述公式由于 是与 相关的(考虑几何、材料、边界非线性的结果),我们需要对上述公式进行非线性方程求解,但现在别说非线性方程了,线性方程都解不了,因为我们假设原系统有 个未知数,现在引入了 , 上述方程其实是一个 个方程求解 个未知数的问题,是肯定求解不了的,那么我们就再“人为”的多引入一个方程,即约束方程,改进的Riks中认为,每一步的增量的 , 正交于 ,即:
那么我们就多了一个方程:
那么我们就可以有 个方程求解 个未知数,而这里由于引入了 ,这个待求解的系数,可以增大可以变小,在某个增量步中可正可负,也就完美的解决了传统牛顿法力控制、位移控制的问题。
对于上述非线性方程的求解,其实真正求解过程还有很多技巧,我们下次来说一说。
最后说一些应用上需要注意的点:
- 虽然我们采用弧长法时候经常需要设置总弧长,但一般来说用户比较难以预估构件发生后屈曲时的总弧长,现在商业软件中会默认对载荷向量进行归一化处理,所以如果预估的极限载荷为设置载荷的 n 倍,建议设置总弧长为 倍。
- 而对于弧长增量则更多的是起到控制其收敛的作用,比如如果设置的载荷为10N,那么如果弧长增量设置为1,则可以认为大概每个增量进行1 * 10N 左右的载荷提升。对于自动Riks增量设置,弧长增量会在最大最小增量之间自动的调整,以达到更好的收敛性与提升计算效率。
- 尽可能通过设置停止准则的方式来达到结束计算的效果,一般软件中如Abaqus,支持对于最大载荷比例系数p进行设置,默认值为1.0,这意味着当迭代过程中的载荷超过了设置载荷的p倍后,软件就会停止计算。
- 一个常用的经验是在不考虑非线性的情况下,做个线性屈曲分析,然后考虑初始缺陷与各种非线性将该线性屈曲的极限载荷作为非线性屈曲的输入载荷
- 一般来说在进行后屈曲分析中,应该默认打开几何非线性,考虑其在大变形下的力学性能。