找回密码
 注册
Simdroid-非首页
查看: 422|回复: 3

[子程序] 关于ABAQUS非线性分析中每个增量步中迭代步的问题

[复制链接]
发表于 2011-10-8 12:27:52 | 显示全部楼层 |阅读模式 来自 江苏南京
最近想做弹塑性小变形UEL,在论坛上获益很多,尤其得到版主“蓝牙”的帮助。虽然到现在还没有彻底搞懂弹塑性的UEL,但是我也就ABAQUS中的增量步和迭代步的关系做了些尝试,现写出来希望和大家一起探讨。
在帖子最后也提出了自己的一些疑问,希望同大家一起探讨,尤其希望得到做过或正在做弹塑性UEL的筒子的帮助。
我邮箱:yf881031@163.com
大家都知道,在线弹性UEL,U是本增量步位移,du是U减去上一增量步末尾收敛的位移。可见,在每个增量步中有多个迭代步。为了探讨每个增量步中究竟有多少个迭代步、每个迭代步中的位移增量,我做了如下的尝试:

1.   首先,在线弹性UEL中,当KINC=1是,RHS正常更新,下面是打印出的结果,TOTAL_INC为总的调用UEL次数:
********************************
TOTAL_INC==           1
KINC==           1
RHS==  0.000000000000000E+000
DTIME,TIME(1),TIME(2)==  0.000000000000000E+000  0.000000000000000E+000
  0.000000000000000E+000
U(1)==  0.000000000000000E+000
DU(1)==  0.000000000000000E+000
U-DU==  0.000000000000000E+000
********************************
********************************
TOTAL_INC==           2
KINC==           0                                                     这里为什么是零,向大家请教
RHS==  0.000000000000000E+000
DTIME,TIME(1),TIME(2)==  1.000000000000000E-007  1.000000000000000E-007
  1.000000000000000E-007
U(1)==  0.000000000000000E+000
DU(1)==  0.000000000000000E+000
U-DU==  0.000000000000000E+000
********************************
********************************
TOTAL_INC==           3
KINC==           1
RHS==  0.000000000000000E+000
DTIME,TIME(1),TIME(2)==  0.100000000000000       0.100000000000000     
  0.100000000000000     
U(1)==  0.000000000000000E+000
DU(1)==  0.000000000000000E+000
U-DU==  0.000000000000000E+000
********************************
********************************
TOTAL_INC==           4
KINC==           1
RHS== -2.178595469228429E-009
DTIME,TIME(1),TIME(2)==  0.100000000000000       0.100000000000000     
  0.100000000000000     
U(1)==  2.486102328464841E-005
DU(1)==  2.486102328464841E-005
U-DU==  0.000000000000000E+000
********************************
********************************
TOTAL_INC==           5
KINC==           2
RHS==  1.000000047497451E-003
DTIME,TIME(1),TIME(2)==  0.100000000000000       0.200000000000000     
  0.200000000000000     
U(1)==  4.972204656929682E-005
DU(1)==  2.486102328464841E-005
U-DU==  2.486102328464841E-005
********************************
从上面可见,TOTAL_INC=1,2为初始化,变量不更新;
TOTAL_INC=3时进入第一个增量步,KINC=1,由于RHS正常更新,迭代两步之后收敛,这里有个小疑问,在ABAQUS帮助文件中说每个增量步都会事先两次CALL  UEL以便初始化,但是我在inp文件中用*print打印平衡迭代次数到msg文件,发现在
INCREMENT     1 STARTS. ATTEMPT NUMBER  1, TIME INCREMENT  0.100   
。。。
只有一次平衡迭代: EQUILIBRIUM ITERATION     1
那么,是不是说每个增量步中只有一次初始化,而后都算作迭代步

2.  而后,我令:当KINC=2时,RHS==0.001,即给RHS一个残差。(这样做显然不会最终收敛)
而后,查看总调用次数 TOTAL_INC=14、15的一些结果:
********************************
TOTAL_INC==          14
KINC==           2
RHS==  1.000000047497451E-003
DTIME,TIME(1),TIME(2)==  0.100000000000000       0.200000000000000     
  0.200000000000000     
U(1)==  3.043717958016759E-003
DU(1)==  3.018856934732111E-003
U-DU==  2.486102328464823E-005
********************************
********************************
TOTAL_INC==          15
KINC==           2
RHS==  1.000000047497451E-003
DTIME,TIME(1),TIME(2)==  5.000000000000000E-002  0.150000000000000     
  0.150000000000000     
U(1)==  3.729153492697261E-005
DU(1)==  1.243051164232420E-005
U-DU==  2.486102328464840E-005
********************************
又查看msg文件,在KINC=2,迭代9次之后,有下面的结果:
  **NOTE: THE RATE OF CONVERGENCE IS VERY SLOW. CONVERGENCE IS JUDGED UNLIKELY.
  INCREMENT     2 STARTS. ATTEMPT NUMBER  2, TIME INCREMENT  5.000E-02
说明,ABAQUS将增量步从0.1调至0.05,即在上面 TOTAL_INC=15 的时候。
现在推算一下,两个初始步,第一个增量步中的一个初始步、一个迭代步,第二个增量步中的一个初始步、九个迭代步,
2+1+1+1+9=14,正好。从15次调用开始,即为第二个增量步、第二次尝试迭代的开始,并且还是增量步开始的初始步。
最后,ABAQUS共进行了5次尝试:
INCREMENT     2 STARTS. ATTEMPT NUMBER  5, TIME INCREMENT  6.250E-03
每次,一个初始步,9个迭代步(最大允许16次)。
msg显示:
ANALYSIS SUMMARY:
     TOTAL OF     2  INCREMENTS
                         5  CUTBACKS IN AUTOMATIC INCREMENTATION
                        46  ITERATIONS INCLUDING CONTACT ITERATIONS IF PRESENT
总共46个迭代步,我的TOTAL_INC变量最终为 54 ,54 - 初始步2 - 6个增量步开始的初始步=46,正好。


现在提出我有关弹塑性小变形UEL有关非线性迭代的格式的疑问,希望得到大家的帮助:
        从上面的讨论来看,每个增量步确实有多个迭代步,并且我们可以得到不同迭代步之间的位移差值(因为,严格的说,du总是当前迭代步的位移减去上一增量步结束时的位移)。那么,在弹塑性分析中,在每一增量步内,是不是要考虑不同迭代步的位移差值?根据这个位移差值和上一步预测应力,等效塑性应变等量来预测本迭代步的应力增量,然后预测下一步的切线刚度?
这样来看的的话,每个迭代步的位移差值似乎很重要,我的想发到底对不对?恳请大家的指点。

评分

1

查看全部评分

发表于 2011-10-8 14:03:51 | 显示全部楼层 来自 大连理工大学
Simdroid开发平台
有点意思 支持一下
回复 不支持

使用道具 举报

发表于 2011-10-8 16:53:13 | 显示全部楼层 来自 德国
楼主理解一下牛顿迭代法,就通了,找本非线性的有限元数值解法 或看abaqus帮助里面的solution technique
回复 不支持

使用道具 举报

发表于 2013-6-28 11:01:24 | 显示全部楼层 来自 广东广州
好贴,引人思考,以前还真没注意,不知是否有哪位高手已有解答?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-29 23:51 , Processed in 0.033601 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表