小弟刚接触apdl编程,麻烦各位大侠高手帮我看下下边的小程序,程序是根据《ansys11.0土木工程中的应用》一书中的命令流改编的,小程序的主要目的是想要利用apdl编程自动实现边坡强度折减法求安全系数,现程序无法终止,个人觉得是不收敛标准在程序中没有很好地表达而出现的问题,劳烦各位帮我看下程序,在下感激不尽,谢谢!(程序见下) _Dwqy(
!(1)创建物理环境 f u9Cx
/COM, Structural 1NcCy!+
/TITLE, Slope stability Analysis q@jq0D)g
/FILNAM,support,1 U5r7j
!(2)建立模型 x1BobhU~Zl
/PREP7 /P
2[:[w
!定义单元类型 "t0kAG
ET,1,PLANE82 !定义边坡围岩单元 ":nQgV\9
KEYOPT,1,3,2 !求解类型为平面应变 DU=dLE6-P;
!建立几何模型 1=]kWp`i
!创建边坡线模型线 36n>jS&
K,1,,,, !创建关键点1 e*.b3z
K,2,-800,,, 2mq$H_
K,3,-800,-800,, 7K{Nb
K,4,1200,-800,, ys#i@
K,5,1200,,, 2>l,no39t+
K,6,1200,378,, J=dJsk
K,7,430,378,, -!8(bjlJ&
l,1,2 !连接关键点1、2生成直线L1 -uH#VP{0M
l,2,3 ${8?N:>t
l,3,4 7jJbo]&
l,4,5 C8L'si
l,5,6 g5q$A9.Jl
l,6,7 sk|=% }y
l,1,7 F]I=+T
l,1,5 ^xZ
e2@
!创建边坡面模型 1LY8Ma]E
al,1,2,3,4,8 !由线L1、L2、L3、L4、L8生成一个面A1 =-o'gL
al,5,6,7,8 !由线L5、L6、L7、L8生成一个面A2 U #~;)fZ
/PNUM, area, on !打开面号开关 aSP4a+\*
*set,coho,9.0e5 ~j'l.gQb
*set,frio,42.8 P%MfCpyj
*set,ait1,0.02 \` w4|T
*set,k11,1.0 c)7j QA
*set,k12,4.0 7FF-*2@
*set,ks,(k11+k12)/2 LA[g(i 7
*set,zz,k12-k11-ait1 Cbs5dn(Y
*set,pi,3.14 =@)d5^<5F
*DOWHILE,zz %AW4.3()8
*set,coh1,coho/ks 9RwawTM
*set,fri1,atan(tan(frio*pi/180)/ks) 7_# 1Ec|;
!定义材料属性 ++Ww88820
MP,EX,1,3E10 .6~`Ubr}E
MP,PRXY,1,0.25 b5:op@V
MP,DENS,1,2500 !定义塑性模型 g`>og^7g
TB,DP,1 !定义数据表1 &J!aw
TBDATA,1,coh1,fri1 !给数据表输入数据 iL7VFo:Q
!划分网格生成有限元模型 n& $^04+i
!设置网格份数 ]/cd;u
lsel,s,,,3 ,3,0 !选择线L3 3u33a"nL8
lesize,all,,,26 !把所选择线分为26段 Xes|[ *Y!V
lsel,s,,,1,2,1 !选择线L1和L2 *XWq?hi
lsel,a,,,4 !附加选择线L1 ,pBh`av
lesize,all,,,10 !把所选择线分为10段 x#C@8Bxq=
lsel,s,,,6,8,2 !选择线L6和L8 PNeh#PI6)
lesize,all,,,16 !把所选择线分为16段 M=]5WZO~A
lsel,s,,,5,7,2 !选择线L5和L7 q:8_]Qt
lesize,all,,,12 !把所选择线分为12段 \b*X:3g*
lccat,1,8 a8AYcEb
mat,1 !给边坡围岩1赋予1号材料特性 ~}DQT>7$
type,1 yGpz,X4x
mshkey,0 !设定自由网格划分 s4H2/EC
mshape,0 !设定四边形网格划分 |3?
8)z\n
amesh,1 !划分面积A1 MP>n)!R[`
amesh,2 !划分面积A2 V|MY!uV
allsel /hv#CB>1x
!保存网格模型 W@\ (nfD2
save,Slope-grid.db Ejq#~Zhr!
!(3)施加约束和荷载 z{]?h cY
!边坡两侧施加X方向约束 s0hBbL0DH
nsel,s,loc,x,-800 !选择X=-800线上所有节点 #hw/^AaD-
nsel,a,loc,x,1200 !选择X=1200线上所有节点 Brd,Eg
d,all,ux !对所选择节点约束X方向位移 IK^~X{I?
allsel VK3it3FI>3
!边坡底部施加约束 u2(eaP8d
nsel,s,loc,y,-800 !选择Y=-800线上所有节点 `3q;~ 9
d,all,uy !对所选择节点约束X、Y方向位移 4O{Avt7C
d,all,ux D';eTy Y
!施加重力加速度 N6Z{BLZ
acel,,9.8 %G3sjnI;l
!(4)求解 o{-<L
/solu 'b"TH^\
!求解设置 "zZI S6j
antype,static !设定为静力求解 KbxR
Lx]w
nsubst,100 !设定最大子步数为100 ~9$X3.+
pred,on !打开时间步长预测器 5 ZfP
nropt,full !设定牛顿-拉普森选项 sNU}n<J-
nlgeom,on !打开大位移效果 g2p"LWex-
lnsrch,on !打开线性搜索 gd6Dm4q(
outres,all,all !输出所有项 K\Eo z]?
*set,ITLIM,0.005 XT@Mzo49z\
cnvtol,f,,ITLIM,2,0.5 !力收敛准则设定 B>TSdn={>
cnvtol,u,,0.05,2,1 !位移收敛准则设定 uL?vG6% ^1
!二分法实现过程 0&fl#]oCE
*IF,ITLIM,LT,0.005,THEN ?q91:H
k11=ks 1x >iz
`A
k12=k12 u@.>WHQN
*ELSEIF,ITLIM,GT,0.005 '=cKU0
G #
k12=ks O%1/r*
k11=k11 yqSY9EX7
*ELSE NyPd5m:
ks=(k11+k12)/2 qs=tJ^<<o
*ENDIF NO>k
allsel yFpySvj}
solve !进行求解 aU<s<2O)
save,F1,db !把F=1时求解结果保存 N?23 m`3
*ENDDO AZZRa69=
!(5)后处理 fnH3CE
/POST1 %AR^+*Nu
INRES,ALL g*-2*
\
FILE,file,rst E`@43Nz
SET,LAST yBn_Kd
*GET, nessus_result, ,ks, , ESDB[
O+`x
parsave,scaler,ansys_respe,param @"1}16b#f
j Selop>N