线性静力学大家都非常熟悉,无论是从结构力学的桁架、梁体系出发,还是从弹性力学的平面应力、应变出发,或是从偏于数学的变分理论出发,我们都拿线性静力学作为初始案例。我们在有限元中计算单元的刚度矩阵,并组装成整体的刚度矩阵,通过多种方式施加边界条件进而进行求解,得到以下的公式
其中 为刚度, 为位移, 为外力,这个其实也非常向我们最熟悉的胡克定律,即你知道弹簧的刚度,知道力算弹簧的伸长量。
那么非线性静力学又是什么样子呢,或者说非线性分析又是什么样呢,总的来说我们可以把上述的式子改造一下
这里 表示刚度是位移 的函数,也就是说刚度是随着位移的变化而变化的,比如一个弹簧伸长率为0.1的时候他的刚度是1N/mm, 伸长率为0.5的时候刚度为0.5N/mm。另外 表示外力也是随着位移的变化而变化的,想象气球的内压力,其实一直垂直于气球的表面,但是气球的形状可以改变,当气球的形状改变时也就造就了外力的变化。
一般情况下教科书上肯定不会像上述这样描述一个非线性问题,但事实就是,非线性问题到头来的本质就是 或者 并不是一个定值了。通常来说,有三种因素会导致上述变化(我们生活中大部分问题都是非线性的,只是我们为了计算方便很多时候简化为线性):
正如大家熟悉的应力应变曲线,大家可以看到其并不是一条直线,我们通常所说的弹性模量,对于金属来说一般也指的就是初始段的弹性模量。那么我们可以看到应力与应变边的关系并不是一个常数。由于有限元中应变是由于位移计算而来的,所以我们可以看到 , 刚度矩阵是一个随着位移变化的量。
正如上述说的气球问题,当变形比较大的时候,物体的形状、位置都发生较大的改变,刚度矩阵同样随着位置进行改变,且如果有上述气球中的那种一直保持着垂直的气压,那么外力也随着变形进行改变。
上述两种非线性大家一般在教科书中都有学到,但是很少有有限元的教科书会讲一下接触,或是讲的一般非常简短,其实接触非线性也很好理解,当两个物体发生接触的时候,两个物体的边界(接触边界),边界上的力(接触力)不断地随着变形的变化而发生变化,这也就造成了 与 都随着 的变化而变化。
很多不是很熟悉Abaqus的朋友们,第一次用这种软件就用Static分析,而Static分析其实是通用分析,指的就是非线性静力学,而如果想用线性静力学,则需用到Linear perturbation中的linear static。
求解非线性问题的办法也有很多,最为常见的就是牛顿法,牛顿法的基本思想就是根据当前的状态求出切线矩阵,并求出残余向量,进行位移增量的求解,即:
这本质上是一种“以直代曲”的思想去逐步迭代接近真实值,如下图所示:pic而对于具体的 怎么求解,针对不同的材料本构、大变形单元算法及接触算法均有不同的推导,今天就不进行详细的介绍了。
为了帮助大家更好的理解非线性牛顿迭代中 的由来,结合着差分,下次讲一下差分与线性化。