小弟刚接触apdl编程,麻烦各位大侠高手帮我看下下边的小程序,程序是根据《ansys11.0土木工程中的应用》一书中的命令流改编的,小程序的主要目的是想要利用apdl编程自动实现边坡强度折减法求安全系数,现程序无法终止,个人觉得是不收敛标准在程序中没有很好地表达而出现的问题,劳烦各位帮我看下程序,在下感激不尽,谢谢!(程序见下) oOc-1C
y
!(1)创建物理环境 dl3;A_ 2
/COM, Structural Pwj|]0Y@
/TITLE, Slope stability Analysis q6*i/"mN*
/FILNAM,support,1 S(U9Dlyarg
!(2)建立模型 $a8,C\me?
/PREP7 R!%HQA1U
!定义单元类型 PjX V.gz
ET,1,PLANE82 !定义边坡围岩单元 6&5D4
V
KEYOPT,1,3,2 !求解类型为平面应变 N34-z|"q
!建立几何模型 gG@4MXq.
!创建边坡线模型线 ]'7Au]Us`
K,1,,,, !创建关键点1 N@Oe[X8
K,2,-800,,, ~ES%=if~Y
K,3,-800,-800,, <7>1Z
82)
K,4,1200,-800,, AbhR*
K,5,1200,,, 00'SceL=`
K,6,1200,378,, {qlcTc
K,7,430,378,, ~(^pGL3<
l,1,2 !连接关键点1、2生成直线L1 0 'THL%lK
l,2,3 mR|5$1[b
l,3,4 <KK.f9^o(
l,4,5 4!OGNr$V@
l,5,6 u,nn\>Y
l,6,7 l.]wBH#RS
l,1,7 ES!e/l
l,1,5 T{^ P
!创建边坡面模型 GRJ6|T$!?$
al,1,2,3,4,8 !由线L1、L2、L3、L4、L8生成一个面A1 r73W.&
al,5,6,7,8 !由线L5、L6、L7、L8生成一个面A2 "g)bNgGV}
/PNUM, area, on !打开面号开关 l*]hUP J
*set,coho,9.0e5 ',!jYh}Uxk
*set,frio,42.8 ]b]J)dDI
*set,ait1,0.02 OiXO<1'$
*set,k11,1.0 glc<(V
*set,k12,4.0 vE8BB$D
*set,ks,(k11+k12)/2 ?{}P#sn
*set,zz,k12-k11-ait1 %~k>$(u6
*set,pi,3.14 >Ut: -}CS
*DOWHILE,zz tl{{Vc[
*set,coh1,coho/ks j!NXNuy:
*set,fri1,atan(tan(frio*pi/180)/ks) l53Q"ajG
!定义材料属性 @;KYvDY
MP,EX,1,3E10 Ywv\9KL
MP,PRXY,1,0.25 aeI0;u
MP,DENS,1,2500 !定义塑性模型 +."|Y3a
TB,DP,1 !定义数据表1 %WKBd\O
TBDATA,1,coh1,fri1 !给数据表输入数据 <,0/BMz
!划分网格生成有限元模型 A`JE(cIz3
!设置网格份数 ? %8%1d
lsel,s,,,3 ,3,0 !选择线L3 0>Td4qr+u
lesize,all,,,26 !把所选择线分为26段
[B`4I
lsel,s,,,1,2,1 !选择线L1和L2 YlUh|sK7m
lsel,a,,,4 !附加选择线L1 u{va2n/
lesize,all,,,10 !把所选择线分为10段 l5=ih9u
lsel,s,,,6,8,2 !选择线L6和L8 bcvm]aPu
lesize,all,,,16 !把所选择线分为16段 (3$DUvx7
lsel,s,,,5,7,2 !选择线L5和L7 QcX\z\'vg
lesize,all,,,12 !把所选择线分为12段 ,Y6]x^W
lccat,1,8 [0105l5
mat,1 !给边坡围岩1赋予1号材料特性 V=5S=7 Z:
type,1 ~OsLbz:
mshkey,0 !设定自由网格划分 iLJ@oM;2
mshape,0 !设定四边形网格划分 z;P#
amesh,1 !划分面积A1 p-_9I7?
amesh,2 !划分面积A2 KAD2_@l
allsel i$p2am8f
!保存网格模型 U}DE9e{/!
save,Slope-grid.db !hM`Oe`S
!(3)施加约束和荷载 }aVzr}!
!边坡两侧施加X方向约束 T@{ab1KV
nsel,s,loc,x,-800 !选择X=-800线上所有节点 R) :Xs .
nsel,a,loc,x,1200 !选择X=1200线上所有节点 rr2!H%:
d,all,ux !对所选择节点约束X方向位移 ykJ+LS{+
allsel JNXzZ4U
!边坡底部施加约束 [<{r~YFjWW
nsel,s,loc,y,-800 !选择Y=-800线上所有节点 )eT>[['fm
d,all,uy !对所选择节点约束X、Y方向位移 0G-obHe0
d,all,ux j0X^,ot@m
!施加重力加速度 aem gGw<
acel,,9.8 jIr\.i
!(4)求解 C>x)jDb?
/solu /n(0w`
!求解设置 ?<^8,H
antype,static !设定为静力求解 2A@oa9
nsubst,100 !设定最大子步数为100 1kpw*$P0
pred,on !打开时间步长预测器 l'_]0%o]
nropt,full !设定牛顿-拉普森选项 4i{Xs5zk
nlgeom,on !打开大位移效果 ~E((n
lnsrch,on !打开线性搜索 [ dVBsi
outres,all,all !输出所有项 )`{m |\b
*set,ITLIM,0.005 XEbVsw
cnvtol,f,,ITLIM,2,0.5 !力收敛准则设定 ,wM}h
cnvtol,u,,0.05,2,1 !位移收敛准则设定 Vt3*~Beb
!二分法实现过程 ?wlRHVZ
*IF,ITLIM,LT,0.005,THEN {]8|\CcY?
k11=ks (y6q}#<
k12=k12 7g]mrI@
*ELSEIF,ITLIM,GT,0.005 -C(Yl=
k12=ks RCYv 2=m>Q
k11=k11 CJCxL\
*ELSE vdvnwzp!l
ks=(k11+k12)/2 s@iY'11
*ENDIF o6;
allsel )92(C
solve !进行求解 QICxSk
save,F1,db !把F=1时求解结果保存 B+~ /-3
*ENDDO qD\9h`a
!(5)后处理 Xe_djy'8
/POST1 2)}*'_E9
INRES,ALL f OR9 N/
FILE,file,rst (B$>o.(JA
SET,LAST w'
J`$=
*GET, nessus_result, ,ks, , !ry+{v+A
parsave,scaler,ansys_respe,param D&"lu*"tg
wT- <#+L\