首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >非线性 | 弧长法(Arc-Length Methods)

非线性 | 弧长法(Arc-Length Methods)

作者头像
fem178
发布2021-02-07 14:34:09
3.2K0
发布2021-02-07 14:34:09
举报

图1所示为弧长法求解过程,若以下标

i

表示第

i

个荷载步,上标

j

表示第

i

个荷载步下的第

j

次迭代,显然,当荷载增量

\delta_i^j=0

,则迭代路径为一条水平直线,即为著名的牛顿-拉夫逊方法。对于图2所示的求解问题,牛顿-拉夫逊方法不能跨过极值点得到完整的荷载-位移曲线。因此,弧长法最重要的就是求荷载增量。

而弧长法的荷载增量

\delta_i^j

是变化的,可自动控制荷载,这样在原方程组的基础之上又增加了一个未知数,因此需要额外补充一个方程。如图3所示,某一荷载步迭代至收敛时总有

(\lambda_1- \lambda_0)^2 + (\mathbf u_1 -\mathbf u_0)^{\mathbf T}(\mathbf u_1 -\mathbf u_0) = \Delta s^2

考虑系统方程组

\begin{split} \mathbf d(\mathbf u ,\lambda ) & = \mathbf f^{int} - \lambda \mathbf f_0^{ext} \\f(\mathbf u ,\lambda ) & = (\lambda- \lambda_0)^2 + (\mathbf u -\mathbf u_0)^{\mathbf T}(\mathbf u -\mathbf u_0) - \Delta s^2 \\ \end{split}

在迭代过程中,

f,d

逐渐趋于0,如果这两个值都为0,则说明该荷载步的迭代已收敛。在上一个迭代收敛点(如图1中的

(\mathbf u_0, \lambda_0)

)将

\mathbf d(\mathbf u ,\lambda ),f(\mathbf u ,\lambda )

作一阶泰勒展开

\begin{bmatrix} \mathbf K_{T} & -\mathbf f_0^{ext} \\ 2(\mathbf u - \mathbf u_0)^{\mathbf T} & 2(\lambda- \lambda_0)\\ \end{bmatrix}\begin{bmatrix} \Delta {\mathbf u} \\ \Delta {\lambda} \\ \end{bmatrix} = \begin{bmatrix} \lambda \mathbf f_0^{ext}-\mathbf f^{int}\\ -f\\ \end{bmatrix}

\begin{split} \mathbf K_{T}\Delta {\mathbf u} &= \Delta {\lambda}\mathbf f_0^{ext} + \lambda \mathbf f_0^{ext} -\mathbf f^{int}\\ &=\Delta {\lambda}\mathbf f_0^{ext} -\mathbf f^{Ⅱ} \\-f &= 2( \mathbf u - \mathbf u_0)^{\mathbf T} \Delta {\mathbf u} + 2(\lambda- \lambda_0)\Delta \lambda\\\end{split}

\Delta \mathbf u = \Delta\lambda \Delta\mathbf u^{ext} + \Delta \mathbf u^{Ⅱ}

, 则

2( \mathbf u - \mathbf u_0)^{\mathbf T} (\Delta\lambda \Delta\mathbf u^{ext} + \Delta \mathbf u^{Ⅱ} ) + 2(\lambda- \lambda_0)\Delta \lambda = -f \quad(a)
2\Delta \lambda[( \mathbf u - \mathbf u_0)^{\mathbf T}\Delta\mathbf u^{ext} + (\lambda- \lambda_0)] = -f + 2( \mathbf u - \mathbf u_0)^{\mathbf T}\Delta \mathbf u^{Ⅱ} \quad(b)
\Delta \lambda = \frac {-f + 2( \mathbf u - \mathbf u_0)^{\mathbf T}\Delta \mathbf u^{Ⅱ}}{2[( \mathbf u - \mathbf u_0)^{\mathbf T}\Delta\mathbf u^{ext} + (\lambda- \lambda_0)]} \quad(c)

弧长法通过自动建立适当的荷载增量进一步优化了牛顿-拉夫逊方法,使用弧长法,可以跟踪复杂的荷载-变形路径。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数值分析与有限元编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档