小弟刚接触apdl编程,麻烦各位大侠高手帮我看下下边的小程序,程序是根据《ansys11.0土木工程中的应用》一书中的命令流改编的,小程序的主要目的是想要利用apdl编程自动实现边坡强度折减法求安全系数,现程序无法终止,个人觉得是不收敛标准在程序中没有很好地表达而出现的问题,劳烦各位帮我看下程序,在下感激不尽,谢谢!(程序见下) kKwb)i
!(1)创建物理环境 yUcWX bT@
/COM, Structural t=\y|Idc
/TITLE, Slope stability Analysis zsnXPRF
/FILNAM,support,1 d[ (KgX9
!(2)建立模型 dUiv+K)ccQ
/PREP7 N0h* |
!定义单元类型 X8aNl"x
ET,1,PLANE82 !定义边坡围岩单元 2.6%?E]
KEYOPT,1,3,2 !求解类型为平面应变 &y"e|aE
!建立几何模型 dq[X:3i
!创建边坡线模型线 Y}BT|
"
K,1,,,, !创建关键点1 [h20y
K,2,-800,,, ib8@U}Vn1
K,3,-800,-800,, -E_lwK
K,4,1200,-800,, 7xidBVx
K,5,1200,,, K9h{sC
K,6,1200,378,, ~ {OBRC
K,7,430,378,, ^6tGj+D9
l,1,2 !连接关键点1、2生成直线L1 WZ`u"t^2V
l,2,3 :=!?W^J
l,3,4 ~LqjWU
l,4,5 jy#'oadS?
l,5,6 v8Gm;~
l,6,7 $|-joY
l,1,7 $6Z@0H@X
l,1,5 }cuU5WQ?%
!创建边坡面模型 9M{z@H/
al,1,2,3,4,8 !由线L1、L2、L3、L4、L8生成一个面A1 4sOo>.<x
al,5,6,7,8 !由线L5、L6、L7、L8生成一个面A2 S?n, O+q
/PNUM, area, on !打开面号开关 W=j
*set,coho,9.0e5 bC{1LY0
*set,frio,42.8 H.#<&5f
*set,ait1,0.02 rkOLTi[$
*set,k11,1.0 ,tBb$T)7<
*set,k12,4.0 1,q&A
RTS
*set,ks,(k11+k12)/2 v;4l*)$)
*set,zz,k12-k11-ait1 g9~>m JR
*set,pi,3.14 #wn`choT'
*DOWHILE,zz D0NSzCHx
*set,coh1,coho/ks H|&[,&M>
*set,fri1,atan(tan(frio*pi/180)/ks) HC4qP9Gs
!定义材料属性 w3oh8NRs_
MP,EX,1,3E10 w4w[qxV>
MP,PRXY,1,0.25 z4
4(
MP,DENS,1,2500 !定义塑性模型 KLi&TmIB
TB,DP,1 !定义数据表1 x%HX0= (
TBDATA,1,coh1,fri1 !给数据表输入数据 V4kt&61
!划分网格生成有限元模型 *mH++3h
!设置网格份数 AdV&w: ^yf
lsel,s,,,3 ,3,0 !选择线L3 R]hilb'a
lesize,all,,,26 !把所选择线分为26段 4,kdP)Md$
lsel,s,,,1,2,1 !选择线L1和L2 #5*|/LD
lsel,a,,,4 !附加选择线L1 ;^VLx)q
lesize,all,,,10 !把所选择线分为10段 @*kQZRGK7
lsel,s,,,6,8,2 !选择线L6和L8 e7rD,`NiV
lesize,all,,,16 !把所选择线分为16段 SJ4[n.tPI
lsel,s,,,5,7,2 !选择线L5和L7 R>1
lesize,all,,,12 !把所选择线分为12段 Q@zD'G>
lccat,1,8 t/xWJW2
mat,1 !给边坡围岩1赋予1号材料特性 \=3V]7\&
type,1 w+c%Y\:
mshkey,0 !设定自由网格划分 .
Z 93S|q
mshape,0 !设定四边形网格划分 oqeA15k$
amesh,1 !划分面积A1 .=rS,Tpo
amesh,2 !划分面积A2 %!Z9: +;B
allsel YmXh_bk
!保存网格模型 /, T@/
save,Slope-grid.db _)AX/%^%
!(3)施加约束和荷载 rbfP6t:c3
!边坡两侧施加X方向约束 1#BMc%
nsel,s,loc,x,-800 !选择X=-800线上所有节点 "i3wc&9!?W
nsel,a,loc,x,1200 !选择X=1200线上所有节点 >;I$&
d,all,ux !对所选择节点约束X方向位移 T 2Uu/^
allsel b7&5>Q/g
!边坡底部施加约束 8bT]Nv CA
nsel,s,loc,y,-800 !选择Y=-800线上所有节点 t@dv$W2
"
d,all,uy !对所选择节点约束X、Y方向位移 @AM;58.
d,all,ux 0 8*bYJu
!施加重力加速度 ;
C/:$l
acel,,9.8 t;g=@o9YA
!(4)求解 kOi@QLdN
/solu <49Gsm&0
!求解设置 Hg<d%7.
antype,static !设定为静力求解 .URCuB\{
nsubst,100 !设定最大子步数为100 )xKZ)SxV
pred,on !打开时间步长预测器 8XFs)1s[
nropt,full !设定牛顿-拉普森选项 imGg3'
nlgeom,on !打开大位移效果 q^5j&jx Vl
lnsrch,on !打开线性搜索 |Et8FR3[m
outres,all,all !输出所有项 Y#[jDS(ip
*set,ITLIM,0.005 iK&s_}i:
cnvtol,f,,ITLIM,2,0.5 !力收敛准则设定 Qf0 ]7
cnvtol,u,,0.05,2,1 !位移收敛准则设定 'a8{YT4
!二分法实现过程 .dqV fa
*IF,ITLIM,LT,0.005,THEN oNW5/W2e;
k11=ks yr=$a3web;
k12=k12 4H@:|
*ELSEIF,ITLIM,GT,0.005 RlJt+lnV
k12=ks #w_cos[I
k11=k11 ?J[m)Uo/K
*ELSE `a*_b9
ks=(k11+k12)/2 "_!D
b&AH
*ENDIF 7OSk0%Q,
allsel 4O}ZnE1[
solve !进行求解 T \d-r#{
save,F1,db !把F=1时求解结果保存 t.0F
*ENDDO a B(_ZX'L
!(5)后处理 Lh eOGM
/POST1 (.Q.S[<Y
INRES,ALL DL$O274uZ
FILE,file,rst w<}kY|A"=-
SET,LAST DbDi n
*GET, nessus_result, ,ks, , <OF2\#Nh
parsave,scaler,ansys_respe,param \C<|yD
1nHQ)od