示例案例 / 几何非线性

几何非线性

为什么变形改变几何后刚度不再恒定,以及求解器如何处理。

示例案例2 节阅读约 7 分钟更新于 2025-10-20

关于几何非线性

在有限元方法(FEM)中,当结构在变形过程中刚度发生显著变化时,就会出现几何非线性。这是因为位移、转角或应变大到足以改变构件的几何形状,进而影响其承载行为。

在标准线性分析中,我们做出一个关键假设:“小位移”。这使我们能够假定刚度矩阵 \([K]\) 为常数。控制方程为简单的线性方程:

\[[K]{u} = {F}\]

在 非线性 分析中,这一假设不再成立。刚度本身成为位移的函数 \([K(u)]\)。力与位移之间的关系不再是直线。

这种非线性主要由两种现象引起:

大位移和大转角

这是指结构发生显著移动或转动,即使材料本身并未明显拉伸(即应变较小)。典型的例子是钓鱼竿或薄壁结构。构件新的变形位置会改变其抵抗载荷的方式。这种效应也是应力刚化的成因,即拉伸载荷(如吉他弦上的拉伸载荷)会增大结构的横向刚度。

大应变

这是指材料本身发生显著拉伸或变形,例如在金属成形或橡胶构件中。应变的定义本身必须更新,以考虑这些较大的变化。

数学说明

几何非线性的数学基础在于我们如何定义应变以及如何建立平衡方程。

非线性应变-位移关系

在线性分析中,我们使用工程应变张量,它只包含位移梯度的一阶(线性)项。

对于几何非线性,我们必须使用更复杂的定义,例如 Green-Lagrange 应变张量 \((E)\)。该张量包含位移梯度的高阶(二次)项,用以反映非线性效应。

三维 Green-Lagrange 应变张量定义为:

\[E_{ij} = \frac{1}{2} \left( \frac{\partial u_i}{\partial X_j} + \frac{\partial u_j}{\partial X_i} + \sum_{k=1}^{3} \frac{\partial u_k}{\partial X_i} \frac{\partial u_k}{\partial X_j} \right)\]

对其各项说明如下:

  • \(u_i, u_j, u_k\) 为位移分量(位于 \(x, y, z\) 方向)。
  • \(X_i, X_j\) 为原始未变形位置处的坐标。
  • \(\underbrace{ \frac{1}{2} \left( \frac{\partial u_i}{\partial X_j} + \frac{\partial u_j}{\partial X_i} \right) }_{\text{Linear Part}}\):这是熟悉的线性工程应变。
  • \(\underbrace{ \frac{1}{2} \left( \sum_{k=1}^{3} \frac{\partial u_k}{\partial X_i} \frac{\partial u_k}{\partial X_j} \right) }_{\text{Nonlinear Part}}\):这些是反映大位移和大转角的二次项。

由于应变定义 \({E}\) 现在是位移 \({u}\) 的非线性(二次)函数,由此得到的刚度矩阵也将是 \({u}\) 的函数。

非线性平衡方程

由于刚度不是常数,我们无法一步求解 \([K]{u} = {F}\)。相反,问题必须迭代求解,通常采用增量载荷步方法(如 Newton-Raphson 方法)。

我们从控制平衡方程出发,该方程表明内力 \({F_{int}}\) 必须与外力 \({F_{ext}}\) 平衡:

\[{R} = {F_{int}(u)} – {F_{ext}} = 0\]

其中 \({R}\) 为残差力矢量,即不平衡力矢量。求解器的目标是找到使该残差矢量等于零的位移 \({u}\)。

为了迭代求解,我们在当前位移状态下对方程进行线性化,由此引入切线刚度矩阵 \([K_T]\)。该矩阵表示当前点处力-位移曲线的切线。

\[[K_T] {\Delta u} = {R}\]

切线刚度矩阵 \([K_T]\) 是内力矢量对位移的导数。它由两部分组成:

\[[K_T] = [K_0] + [K_G(u, \sigma)]\]
  • \([K_0]\) 是标准材料刚度矩阵(与线性分析中所用的相同)。它取决于材料属性(例如杨氏模量)和单元几何。
  • \([K_G(u, \sigma)]\) 是几何刚度矩阵(也称为“初应力”或“微分”刚度矩阵)。该矩阵显式考虑几何非线性。它取决于当前位移状态 \({u}\) 和单元中由此产生的应力状态 \({\sigma}\)。正是这一项反映了应力刚化等效应。

在实际的 FEM 求解中,求解器对每个载荷步执行以下操作:

  • 施加载荷增量 \({F_{ext}}\)。
  • 根据当前状态计算切线刚度 \([K_T]\)。
  • 求解增量位移 \({\Delta u}\)。
  • 更新总位移:\({u}_{new} = {u}_{old} + {\Delta u}\)。
  • 计算新的内力 \({F_{int}}\) 和残差 \({R}\)。
  • 如果 \({R}\) 未接近零,则重复步骤 2-5,直至解收敛。

全拉格朗日与更新拉格朗日公式

最后,应用这些方程有两种主要框架:

  • 全拉格朗日(TL):所有计算都参照原始未变形构形。它使用 Green-Lagrange 应变及相应的第二 Piola-Kirchhoff 应力张量。这常用于大位移但应变相对较小的问题(例如柔性梁)。
  • 更新拉格朗日(UL):计算相对于最近已知的平衡构形进行。每次载荷步收敛后更新坐标系和刚度矩阵。该框架通常使用 Cauchy(“真实”)应力,更适合涉及极大应变的问题,例如金属成形。