参考资料:
[1] 清华大学教学课件《有限元法应用》
[2] 非线性有限元书稿
实际的结构问题往往都是非线性的,而且考虑了非线性肯定是最准确的,但很多情况下没有必要采用非线性解法,因而出现很多的线性问题。线性问题和非线性问题目前多采用有限元法进行求解计算,尤其是非线性问题。
在线性有限元分析中作了以下假设:
(1)小位移(小变形);
(2)材料线弹性;
(3)边界条件不变。
最终线性有限元归结于求解线性方程组的问题:
这个方程肯定不陌生,[K]是刚度矩阵,[δ]是节点自由度,[P]是节点载荷。
事实上,在计算单元刚度矩阵时,积分是在单元的初始体积内完成的,也就是将结构变形后的体积用变形前的体积来描述,这正是基于小变形假设而来的;而单元的应变与位移关系满足转换矩阵B,B与单元节点位移无关,这正是基于小变形假设而来的;应力与应变关系满足材料常数矩阵D,这正是基于材料的线弹性假设而来的。
一旦不满足上述的三个假设,结构的力学行为将出现非线性。
基于以上,可以看出来,非线性问题一般分为以下几种:
(1)材料非线性,也即应力与应变之间的关系不是单纯的矩阵D;材料非线性包括非线性弹性,即类似橡胶的超弹性材料,混泥土的次弹性材料,金属的弹塑性,粘弹性材料(应力松弛和蠕变),以及粘弹性(主要是聚合物材料)。
(2)几何非线性,包括大位移和大变形;
(3)接触非线性。这类问题的边界条件在求解之前是未知的,是求解的结果。
上面式子是线性问题的方程组,而非线性问题依然归结于求解方程组的问题:
刚度矩阵不再是常数,而是和变形有关。
求解非线性问题的方法有几种:
(1)增量法
增量法将施加的载荷分成许多增量,逐步施加增量,逐步求解,在每一步中将刚度矩阵处理为常数,当然,每一步刚度矩阵的值不同。增量法是用一系列的线性问题去近似非线性问题。而计算不同载荷步时的刚度矩阵有始点刚度法和中点刚度法。
始点刚度法,顾名思义,将第i-1载荷步末的刚度矩阵来作为第i步的刚度矩阵来计算。该种方法精度较低。
中点刚度法是采用平均刚度,也即先用Ki-1计算初步的位移增量,再有初步计算后的位移计算第i步末的刚度矩阵Ki,将Ki-1与Ki平均,当做第i步的刚度矩阵,再计算第i步的位移增量。改进后的中点刚度法是将初始载荷步计算到载荷增量的一半。
(2)迭代法
迭代法求解非线性问题时一次施加全部载荷,然后逐步调整位移,最终使位移满足上述方程。
具体包括直接迭代法和牛顿-拉夫逊(Newton-Raphson).
直接迭代法先给出初始近似解,根据初始近似解求出初始刚度矩阵,代入非线性方程组可以求得第一个改进的近似解,一直重复这样的过程,最终使得前后两次的求解结果充分接近为止。
至于收敛准则有位移准则和力准则,判定两次求解结果接近的程度,在软件里默认的一个很小的系数,这个系数貌似可以自己修改。
牛顿法的原理如图所示:
对于单变量的非线性方程f(x)=0,在x0点泰勒展开,得到f(x)=0在x0附近的线性化近似方程:
一直重复,最终趋近于真实解。
混合法即是同时利用增量法和迭代法,把载荷划分为较小的几个增量,对每一个增量进行迭代计算。