Luis_sun 发表于 2014-5-23 01:07

ANSYS非线性计算不收敛

想用ANSYS做一个非线性计算。但是结果不收敛,一直不知道是哪里出问题了,哪位大神帮忙看一看啊?!
感激不尽!!
FINISH
/CLEAR
/PREP7
PI=ACOS(-1)
!the area of upper steel
A1=2*PI*(0.001/2)**2
!the area of lower steel
A2=2*PI*(0.0016/2)**2
!the width of the concrete
Bc=0.2
!applied load 200kN
P=200000
!concrete compressive strength
FC=27.3E6
!concrete tensile strength
FT=2.5E6
!element size
ELESIZE=0.01

!concrete
ET,1,PLANE42
KEYOPT,1,3,3
MP,EX,1,FC*0.19/0.0002
MP,PRXY,1,0.2
MP,DENS,1,2400
R,1,Bc
!define the nolinear property of concrete
TB,CONCR,1
TBDATA,,0.5,0.95,FT,-1
TB,MISO,1,,10
TBPT,,0.0002,FC*0.19
TBPT,,0.0004,FC*0.36   
TBPT,,0.0006,FC*0.51   
TBPT,,0.0008,FC*0.64   
TBPT,,0.0010,FC*0.75   
TBPT,,0.0012,FC*0.84   
TBPT,,0.0014,FC*0.91   
TBPT,,0.0016,FC*0.96   
TBPT,,0.0018,FC*0.99   
TBPT,,0.0020,FC*1.00

!steel
ET,2,LINK1
MP,EX,2,2.1E11
MP,PRXY,2,0.33
R,2,A1
R,3,A2
!define the steel property of concrete
TB,BISO,2
TBDATA,,650E6

!
!MODELING
!concrete
BLC5,0,0,3.5,0.4
AATT,1,1,1

!steel
WPROTA,,-90
WPOFF,,,0.2-0.026
ASBW,ALL
WPOFF,,,-0.2+0.026-0.2+0.026
ASBW,ALL
LSEL,S,LOC,X,0
LSEL,R,LOC,Y,0.2-0.026
LATT,2,2,2
LESIZE,ALL,ELESIZE
LMESH,ALL

LSEL,S,LOC,X,0
LSEL,R,LOC,Y,-0.2+0.026
LATT,2,3,2
LESIZE,ALL,ELESIZE
LMESH,ALL
WPCSYS,-1

ALLSEL
AGLUE,ALL
ESIZE,ELESIZE
MSHAPE,0
AMESH,ALL
NUMMRG,ALL

!constrain nodes
NSEL,S,LOC,X,-3.5/2
NSEL,R,LOC,Y,-0.2
D,ALL,ALL
NSEL,S,LOC,X,3.5/2
NSEL,R,LOC,Y,-0.2
D,ALL,UY

/SOLU
ANTYPE,0
NSUBST,20
OUTRES,ALL,ALL
!apply step load
NSEL,S,LOC,X,0
NSEL,R,LOC,Y,0.2
F,ALL,FY,-P
ALLSEL
SOLVE

弗朗索瓦 发表于 2014-5-23 06:09

非线性计算无法收敛是非常头疼的问题,往往不同的分析过程会有不同的提示,总结不收敛的原因,主要可从以下几大类着手:

1 检查模型是否存在不完全约束或刚体位移的情况:这主要是通过施加合理的约束方法来解决。如果刚体位移不可避免,可以人为施加合理的约束使其收敛,workbench就是通过施加弱弹簧来消除刚体位移的。

2 检查网格:尤其是错误信息提示有“单元出现严重扭曲”的语句时,这种情况发生在原模型计算前存在严重网格畸变的情形,可以通过 check,esle,warn 选择存在警告的单元位于何处,找到位置后再在该处细化。

3 检查载荷子步和时间步设置:一般是增加子步数或者减少时间步长,这点不用多说了,很实用很有效的方法。

4 检查材料参数设置:这一错误通常不容易发现,然而非常重要。材料模型不正确意味着不合理的应力应变关系,在施加载荷后往往出现不合理的结构响应,导致自由度位移过大而不收敛。具体说就是材料的EX,PRXY,金属材料的双线性和多线性参数等是否正确。

5 检查结构是否有不稳定:如果我们分析的结构是一个局部或全局不稳定结果,这一点必须考虑。比如在结构变形过程中出现了屈曲、刚度突变的情况,这个错误是非线性不收敛的一个重要错误。

6 检查接触的设置:接触是一个状态非线性问题,ansys中可选的参数很多,对于不同的接触其中的参数需要个别设置,其中主要的参数有接触行为方式,法向罚刚度因子,pingball域,初始穿透等等。

7 检查积分参数的设置:在瞬态分析采用完全求解方法时,默认的方法是Newmark方法,四个积分参数由γ控制,在一些特殊情况下,考虑数值衰减效果更加理想的HHT方法,或者手动设置四个积分参数(但是这必须在你非常清楚积分参数的影响和保证无条件收敛的情况下才可以)。

8 检查非线性求解器的选择:ansys默认的求解方法是iterative,即迭代法,即Newton-Raphson迭代,很多情况下该方法是可行的,但有时候直接迭代法direct能更好的收敛。

9 检查大变形分析中约束方程的设置,一旦约束方程的节点的位移不满足方程存在的条件的话就会产生变形不合理、不收敛的情况。

总而言之,最好的方法就是从out信息中寻找突破点。

弗朗索瓦 发表于 2014-5-23 06:12

下面的文档时更加详细的方法,碰到这类问题最好还是自己耐心的去检查,多个方面一点点研究,因为是个细致活,别人帮你一点点检查的可能性不大

Luis_sun 发表于 2014-5-23 16:44

好的,我再仔细看看。非常感谢回复!

henrythoreau 发表于 2014-5-23 22:41

嗯,本人也遇到类似问题,是个接触分析,头疼的很
多谢楼上的解释

htbbzzg 发表于 2014-5-24 09:50

本帖最后由 htbbzzg 于 2014-5-24 09:53 编辑

    你的命令流有几个问题,主要的一个是:载荷为单点集中力;约束是单点位移约束。因此在加力点和约束点都存在应力集中,导致计算不能收敛。
    我将你的集中力分散到周围的共 5 个节点;将两端的 Uy 约束都分散到底部的各 10 个节点上,计算就能收敛了。
    结果如附图:

htbbzzg 发表于 2014-5-24 09:53

修改后的命令流如下,其中还给出了可以进一步改进的地方,用 !*** 作为标识:

FINISH
/CLEAR
/filn,luis_sun
/PREP7
PI=ACOS(-1)
!the area of upper steel
A1=2*PI*(0.001/2)**2
!the area of lower steel
A2=2*PI*(0.0016/2)**2
!the width of the concrete
Bc=0.2
!applied load 200kN
P=200000
!concrete compressive strength
FC=27.3E6
!concrete tensile strength
FT=2.5E6
!element size
ELESIZE=0.01

!concrete
ET,1,PLANE42
KEYOPT,1,3,3
MP,EX,1,FC*0.19/0.0002
MP,PRXY,1,0.2
MP,DENS,1,2400
R,1,Bc
!define the nolinear property of concrete
TB,CONCR,1
TBDATA,,0.5,0.95,FT,-1
TB,MISO,1,,10
TBPT,,0.0002,FC*0.19
TBPT,,0.0004,FC*0.36   
TBPT,,0.0006,FC*0.51   
TBPT,,0.0008,FC*0.64   
TBPT,,0.0010,FC*0.75   
TBPT,,0.0012,FC*0.84   
TBPT,,0.0014,FC*0.91   
TBPT,,0.0016,FC*0.96   
TBPT,,0.0018,FC*0.99   
TBPT,,0.0020,FC*1.00
!*

!steel
ET,2,LINK1
!*
R,2,A1
R,3,A2
!***
!ET,2,BEAM3          !将 link1改为 beam3,并修改效应的实常数,效果更好
!KEYOPT,2,6,1
!KEYOPT,2,9,0
!*
!R,2,1.5707963267949e-006,3,0.5,0,0,0,   
!R,3,4.0212385965949e-006,10,1.2,0,0,0,
!*


!*
MP,EX,2,2.1E11
MP,PRXY,2,0.33
!define the steel property of concrete
TB,BISO,2
TBDATA,,650E6      !*** 建议改为 TBDATA,,650E6, 1e9,即不要使用理想塑性

!
!MODELING
!concrete
BLC5,0,0,3.5,0.4
AATT,1,1,1

!steel
WPROTA,,-90
WPOFF,,,0.2-0.026
ASBW,ALL
WPOFF,,,-0.2+0.026-0.2+0.026
ASBW,ALL
LSEL,S,LOC,X,0
LSEL,R,LOC,Y,0.2-0.026
LATT,2,2,2
LESIZE,ALL,ELESIZE
LMESH,ALL

LSEL,S,LOC,X,0
LSEL,R,LOC,Y,-0.2+0.026
LATT,2,3,2
LESIZE,ALL,ELESIZE
LMESH,ALL
WPCSYS,-1

ALLSEL
AGLUE,ALL
ESIZE,ELESIZE
MSHAPE,0
AMESH,ALL
NUMMRG,ALL

!constrain nodes
NSEL,S,LOC,X,-3.5/2
NSEL,R,LOC,Y,-0.2
D,ALL,ALL
!NSEL,S,LOC,X,3.5/2
!NSEL,R,LOC,Y,-0.2
!D,ALL,UY

/SOLU
ANTYPE,0
NSUBST,20
OUTRES,ALL,ALL
!apply step load
!NSEL,S,LOC,X,0
!NSEL,R,LOC,Y,0.2
!F,ALL,FY,-P

!**** 以下修改是关键的
allsel,all

FLST,2,5,1,ORDE,2   
FITEM,2,1932
FITEM,2,-1936   
F,P51X,FY,-P/5            !***将单个节点的集中力分散到 5 个节点上
!*
FLST,2,10,1,ORDE,3
FITEM,2,703
FITEM,2,705
FITEM,2,-713
D,P51X, , , , , ,UY, , , , ,   !***将左端单个节点的集中约束分散到 5 个节点上
!*
FLST,2,1,1,ORDE,1
FITEM,2,703
D,P51X, , , , , ,UX, , , , ,   !***保留左端单个节点的 Ux 约束
!*
FLST,2,10,1,ORDE,3
FITEM,2,704
FITEM,2,1045
FITEM,2,-1053   
D,P51X, , , , , ,UY, , , , ,   !***将右端单个节点的集中约束分散到 5 个节点上
!*
!****

ALLSEL
SOLVE

Luis_sun 发表于 2014-5-27 20:27

原以为帖子就沉下去了,没想到真有大侠回复啊!
而且这么认真仔细!真的太感动了!!
再次感谢 htbbzzg 的耐心解答!感激不尽啊!!!

Luis_sun 发表于 2014-5-28 16:43

@htbbzzg:
再多问一句,
FLST,2,5,1,ORDE,2   
FITEM,2,1932
FITEM,2,-1936   
F,P51X,FY,-P/5   
这几句里面对节点的操作1932~1936,节点的编号是在GUI里面查看的吧??
如果是纯命令流的方法,用NSEL也能代替吧?

螺旋桨 发表于 2014-8-7 12:32

不收敛,你调节一下参数,然后检查一下是不是约束住了
页: [1]
查看完整版本: ANSYS非线性计算不收敛