首页/文章/ 详情

有限元基础知识:线搜索

1月前浏览331

上次说到了完全牛顿法与修正牛顿法,有限元基础知识:牛顿法与修正牛顿法

修正牛顿法往往与线搜索(Line search)算法共同使用,线搜索这个算法,顾名思义,就是沿着当前这条线进行搜索,这条线在改进牛顿法中就是已经计算好的     (回顾上文可知,这个     可能是每隔好多个迭代步才会更新的),那是搜索什么呢?答案就是:沿着这个方向去搜索多大的步长才能达到势能最低。也就是说现在前进的方向由     固定了,具体沿着这条路走多远则由线搜索确定。 在没有引入线搜索的时候:

 

那么在引入线搜索后,就变成了

 

所以可以发现这里我们引入了一个额外的系数    , 去对位移增量进行一定的放缩,也就是沿着这条方向决定步长。


由于我们希望在线搜索后系统达到势能最小,那么也就是

 

即残余的载荷向量与增量位移向量相正交。由这些公式我们就可以计算得到     , 然而呢,准确的得到     首先是会非常繁琐,其次在大多数情况下也没有必要,我们实际中往往是根据一些迭代算法取得一些相较当前步长更优的解也就足够了,所以我们一般情况下会定义

 

而当在不断的线搜索迭代中,当我们得到了

 

也就是说当     有所减小的时候就认为可以了, 其中    是个系数一般取为    .

一般来说上述line search的内部迭代可以选用以下几种方法(后续可以详细介绍):

  • 二分法或Illinois步长
  • Wolfe方法
  • Goldstein方法

在完全牛顿法中,我们其实无需要使用线搜索方法,因为每一步的切线刚度都是给予当前状态进行计算的,已经达到了步长最优,而在改进牛顿法、拟牛顿法法等牛顿法的改进型,由于     方面的简化计算,我们往往都需要用线搜索方法来确定一个最合适的增量。

在Abaqus等商软中,其实也是可以去修改线搜索的一些默认参数,如下图所示,可以从 Others >> Gerneral Solution Controls >> Line Search Control 这里修改线搜索的参数,其中

  •        : 线搜索迭代的最大迭代数,对于完全牛顿,其为0,对于拟牛顿法(quasi),默认为5
  •      : 最大与最小的      参数限值
  •      : 残余载荷向量的最小放缩系数,默认为0.25
  •      : 最小的步长放缩系数,默认为0.1
最后我们来看一下线搜索算法的效果,如下图的一个大变形壳的迭代过程,在使用线搜索后可以看到其相对不用线搜索的修正牛顿法迭代数少了很多,然而因为在线搜索中需要重复的计算内力向量,线搜索并不是没有代价的,效率最终很大程度上需要在线搜索和迭代数量之间找到一个平衡。
下一次继续说说拟牛顿法。

来源:大狗子说数值模拟
Abaqus
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-03-14
最近编辑:1月前
大狗子说数值模拟
博士 传播国际一流的数值模拟算法
获赞 7粉丝 13文章 54课程 0
点赞
收藏
作者推荐

有限元基础知识:关联插值与 Allman膜实现

大家经常会有一些困惑就是我按着教科书写出来的单元算法实现,为啥没有商软算的好,之前已经介绍了多种方法:单元计算基础知识:缩减积分有限元基础知识:假设应变(ANS)今天在基于这些讲一讲关联插值(Linkedinterpolation),对于膜来说呢,就是很多人熟知的Allman膜实现,这里Allman是个人名没有特殊含义。这种单元实现可以很好的解决膜单元的平面内自锁问题。我们在之前说过:我所常用的单元:薄膜单元我所常用的单元:壳单元大家可以把膜单元还有壳单元中的平面内部分,理解为空间中的一个“平面应力”单元,当其在该平面内受弯的时候,我们往往需要很多单元才能比较准确的得到计算结果。那么Allman这个人就想了,我是否可以通过引入中间节点的方式,将1阶单元变类似于2阶单元的精度呢?所以他就做了这样的操作,比如下边这个四边形的膜单元,我们先来到他的单元坐标系上,我们将4节点的单元,转化为8节点的单元,进行以下步骤:得到中心节点的位移,但如果仅仅是这样,那么中心节点就是完全由边节点插值而来的,跟直接用四节点的一阶单元没有任何区别引入另一个自由度,绕z轴的旋转,很多地方也叫drillingdof,,来给中心节点处的位移加一加火候,我们就有了这里我们通过引入一个新的自由度,对原有中间插值进行了一些补充,使其更“柔”了一些,其中为单元边的长度,而为这条边与局部坐标下轴的夹角。那么对于1个四节点的单元,在单元局部坐标系下,现在我们就每个节点有3个自由度,,,对于四节点单元共有12个自由度,对于3节点三角形单元共有9个自由度。接下来我们展开进一步的单元计算,我们假设我们有如右图所示的8节点单元,我们直接采用8节点的等参单元的方式计算其刚度矩阵,得到其中为位移-应变矩阵,D为材料属性矩阵,那么对于一个单元坐标系下的标准8节点平面应力单元,我们得到为()的刚度矩阵,因为每个节点有个自由度,即,,而接下来的步骤就好办了,由于我们之前已经建立好了一个中心节点与边界点位移及的关系,我们可以通过上述等式,得到其关系,类似于约束关系,我们得到如下的公式:其中T为一个()的转换矩阵,用来将4节点单元的12个自由度与8节点单元的16个自由度建立联系,其基本形式为:其中就是一些与节点局部坐标有关的数,大家可以回想上边的那个跟边长相关的公式然后我们将上述的矩阵通过局部到全局坐标系的变化再组装到全局矩阵就好了,整体流程还是比较清晰的。整体上来看由于引入了我们一定程度上增加了平面内单元的灵活度,使其更柔了,有效的解决了低阶膜单元、壳单元平面内的自锁问题,而对于平面外的弯曲,剪切,其实还需要别的办法,这些我们且听下回分解。总体上来说Allman这套技术在线性分析上,表现比较好,而在非线性中由于材料的不确定,及大变形效应,上述约束方程未必成立,所以需要另寻办法,也且听下回分解。来源:大狗子说数值模拟

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈