- 积分
- 4
- 注册时间
- 2006-4-23
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2007-11-9 13:02:02
|
显示全部楼层
来自 广东深圳
*SET,layer_num,9
*dim,y_div,array,layer_num
*dim,z_div,array,layer_num-1
*dim,x_left,array,layer_num-1
*dim,x_right,array,layer_num-1
*dim,k_num,array,layer_num
*dim,idx_up,,16,layer_num
*dim,idy_up,,16,layer_num
*dim,idy_down,,16,layer_num
*dim,idx_down,,16,layer_num
*dim,idz,array,layer_num
*dim,edge_kp,,4,layer_num-1,100
*SET,y_div(1),2,3,3,4,4,5,5,5,5
*SET,z_div(1),3,3,3,3,3,3,3,3
*SET,x_left(1),0,0,0,0,0,0,1,1
*SET,x_right(1),0,0,0,0,0,0,0,1
*SET,k_num(1),5,5,5,5,5,5,5,5,3
*SET,idx_up(1,1),82.3,65.52,0,-98.152,-123.211
*SET,idy_up(1,1),480.894,488.679,502.501,471.159,452.749
*SET,idx_up(1,2),77.81,59.856,0,-92.365,-117.969
*SET,idy_up(1,2),484.767,493.231,505.969,476.688,457.897
*SET,idx_up(1,3),73.225,60.785,0,-93.063,-113.998
*SET,idy_up(1,3),487.889,494.45,509.444,477.094,460.159
*SET,idx_up(1,4),70.271,56.922,0,-81.864,-108.246
*SET,idy_up(1,4),489.444,497.305,512.526,485.654,464.056
*SET,idx_up(1,5),67.836,51.222,0,-56.512,-99.979
*SET,idy_up(1,5),490.354,500.969,514.986,501.67,471.275
*SET,idx_up(1,6),62.047,51.692,0,-57.073,-93.714
*SET,idy_up(1,6),494.176,501.088,516.595,502.222,475.97
*SET,idx_up(1,7),57.774,24.536,0,-25.535,-82.37
*SET,idy_up(1,7),496.916,513.394,517.123,514.036,484.817
*SET,idx_up(1,8),51.456,24.265,0,-25.464,-57.08
*SET,idy_up(1,8),500.937,512.739,516.341,513.165,501.546
*SET,idx_up(1,layer_num),23.24,0,-25.045
*SET,idy_up(1,layer_num),511.193,513.111,511.447
*SET,idx_down(1,1),74.772,57.122,0,-95.45,-120
*SET,idy_down(1,1),476.44,484.049,497.499,466.942,448.9
*SET,idx_down(1,2),73.82,56.962,0,-87.632,-111
*SET,idy_down(1,2),477.686,486.557,499.698,469.62,450.161
*SET,idx_down(1,3),67.367,56.222,0,-85.741,-103.5
*SET,idy_down(1,3),478.651,485.703,501.501,467.68,449.931
*SET,idx_down(1,4),62.401,50.946,0,-73.657,-95
*SET,idy_down(1,4),478.647,486.932,502.643,474.687,452.276
*SET,idx_down(1,5),58,44.228,0,-50.088,-85.117
*SET,idy_down(1,5),478.398,489.133,502.976,489.317,458.037
*SET,idx_down(1,6),51.023,42.775,0,-49.084,-77.759
*SET,idy_down(1,6),480.732,487.519,502.351,487.977,461.609
*SET,idx_down(1,7),46,19.484,0,-21.344,-66.637
*SET,idy_down(1,7),481.805,497.322,500.622,497.672,468.452
*SET,idx_down(1,8),40.164,18.692,0,-20.257,-44.54
*SET,idy_down(1,8),483.374,494.5,497.64,494.361,481.214
*SET,idx_down(1,layer_num),18,0,-18
*SET,idy_down(1,layer_num),488.667,491.834,486.663
*SET,idz(1),232.3,218,203,188,173,158,143,128,109
/prep7
*dim,bt1,array,k_num(layer_num)
*dim,bt2,array,k_num(layer_num)
*dim,tempx,,16
*dim,tempy,,16
*do,i,1,layer_num,
*do,j,1,y_div(i)
ksel,none
*do,k,1,k_num(i)
*set,tempx(k),idx_up(k,i)+(j-1)/(y_div(i)-1)*(idx_down(k,i)-idx_up(k,i))
*set,tempy(k),idy_up(k,i)+(j-1)/(y_div(i)-1)*(idy_down(k,i)-idy_up(k,i))
*enddo
*do,k,1,k_num(i)
k,,tempx(k),tempy(k),idz(i)
*enddo
bspline,all
*enddo
*enddo
*SET,amax1,0
*SET,l_num,0
*do,i,1,layer_num,1
allsel
*do,j,1,y_div(i)-1
*SET,l1,l_num+j
lsel,,,,l1
ksll,
*get,k1,kp,0,num,min
*get,k3,kp,0,num,max
*SET,l2,l_num+j+1
lsel,,,,l2
ksll,
*get,k4,kp,0,num,max
*get,k2,kp,0,num,min
allsel
*get,lmax,line,0,num,max
l,k1,k2
l,k3,k4
al,l1,lmax+1,l2,lmax+2
*enddo
*SET,l_num,l_num+y_div(i)
*enddo
*get,amax2,area,0,num,max
l_num=0
*do,i,1,layer_num-1
allsel
*do,j,1,y_div(i),
l1=l_num+j
lsel,,,,l1
ksll
*get,k1,kp,0,num,min
*get,k3,kp,0,num,max
l2=l_num+j+y_div(i)
lsel,,,,l2
ksll
*get,k2,kp,0,num,min
*get,k4,kp,0,num,max
allsel
*get,lmax,line,0,num,max
l,k1,k2
l,k3,k4
al,l1,lmax+1,l2,lmax+2
*enddo
*if,y_div(i),ne,y_div(i+1),then
l1=l_num+y_div(i)
lsel,,,,l1
ksll
*get,k1,kp,0,num,min
*get,k3,kp,0,num,max
l2=l_num+y_div(i)+1+y_div(i)
lsel,,,,l2
ksll
*get,k2,kp,0,num,min
*get,k4,kp,0,num,max
allsel
*get,lmax,line,0,num,max
l,k1,k2
l,k3,k4
al,l1,lmax+1,l2,lmax+2
*endif
l_num=l_num+y_div(i)
*enddo
*GET,amax3,area,0,num,max
l_num=0
*do,i,1,layer_num-1
allsel
*do,j,1,y_div(i)-1
l1= l_num+j
lsel,,,,l1
ksll,
*get,k1,kp,0,num,min
*get,k5,kp,0,num,max
l2=l_num+j+1
lsel,,,,l2
ksll
*get,k2,kp,0,num,min
*get,k6,kp,0,num,max
l3=l_num+j+1+y_div(i)
lsel,,,,l3
ksll,
*get,k3,kp,0,num,min
*get,k7,kp,0,num,max
l4=l_num+j+y_div(i)
lsel,,,,l4
ksll,
*get,k4,kp,0,num,min
*get,k8,kp,0,num,max
allsel
a,k1,k2,k3,k4
a,k5,k6,k7,k8
*enddo
*if,y_div(i),ne,y_div(i+1),then
l1=l_num+y_div(i)
lsel,,,,l1
ksll,
*get,k1,kp,0,num,min
*get,k4,kp,0,num,max
l2=l_num+y_div(i)+1+y_div(i)
lsel,,,,l2
ksll
*get,k2,kp,0,num,min
*get,k5,kp,0,num,max
l3=l_num+y_div(i)+y_div(i)
lsel,,,,l3
ksll
*get,k3,kp,0,num,min
*get,k6,kp,0,num,max
allsel
a,k1,k2,k3
a,k4,k5,k6
*endif
l_num=l_num+y_div(i)
*enddo
*do,i,1,layer_num-1,
*do,j,1,y_div(i)-1
asel,,,,amax1+1
asel,a,,,amax1+y_div(i)
asel,a,,,amax2+1
asel,a,,,amax2+2
asel,a,,,amax3+1
asel,a,,,amax3+2
amax1=amax1+1
amax2=amax2+1
amax3=amax3+2
va,all
*enddo
*if,y_div(i),ne,y_div(i+1),then
asel,,,,amax1+y_div(i)
asel,a,,,amax2+1
asel,a,,,amax2+2
asel,a,,,amax3+1
asel,a,,,amax3+2
amax2=amax2+1
amax3=amax3+2
va,all
*endif
amax2=amax2+1
*enddo
l_num=y_div(1)
*do,i,2,layer_num
vsel,,loc,z,idz(i),idz(1)
l1=l_num+1
lsel,,,,l1
ksll
*get,k1,kp,0,num,min
*get,k3,kp,0,num,max
l2=l_num+y_div(i)
lsel,,,,l2
ksll
*get,k2,kp,0,num,min
*get,k4,kp,0,num,max
ksel,,,,k1
kgen,2,k1,,,,,10,,0
ksel,u,,,k1
*get,k5,kp,0,num,max
ksel,,,,k3
kgen,2,k3,,,,,10,,0
ksel,u,,,k3
*get,k6,kp,0,num,max
ksel,all
kwplan,,k2,k1,k5
btol,0.01
vsbw,all,,delete
vsel,u,loc,x,kx(k1),500
kwplan,,k4,k3,k6
vsbw,all,,delete
l_num=l_num+y_div(i)
*enddo
allsel
wpcsys,-1,0
*do,i,2,layer_num
btol,0.01
vsel,s,loc,z,idz(i),idz(i-1)
*do,j,1,z_div(i-1)-1,
wpave,0,0,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)
vsbw,all,,delete
ksel,s,loc,z,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)-0.01,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)+0.01
*get,tx1,kp,0,mxloc,x
ksel,r,loc,x,tx1,tx1
*get,edge_kp(1,i-1,j),kp,0,num,max
*get,ty1,kp,edge_kp(1,i-1,j),loc,y
ksel,s,loc,z,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)-0.01,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)+0.01
ksel,u,,,edge_kp(1,i-1,j)
cm,tempcm,kp
*get,tx2,kp,0,mxloc,x
ksel,r,loc,x,tx2,tx2
*get,edge_kp(2,i-1,j),kp,0,num,max
*get,ty2,kp,edge_kp(2,i-1,j),loc,y
*do,temp,1,100,
*if,ty2,ge,ty1,then
cmsel,s,tempcm
ksel,u,,,edge_kp(2,i-1,j)
cm,tempcm,kp
*get,tx2,kp,0,mxloc,x
ksel,r,loc,x,tx2,tx2
*get,edge_kp(2,i-1,j),kp,0,num,max
*get,ty2,kp,edge_kp(2,i-1,j),loc,y
*else
*exit
*endif
*enddo
ksel,s,loc,z,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)-0.01,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)+0.01
*get,tx1,kp,0,mnloc,x
ksel,r,loc,x,tx1,tx1
*get,edge_kp(3,i-1,j),kp,0,num,max
*get,ty1,kp,edge_kp(3,i-1,j),loc,y
ksel,s,loc,z,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)-0.01,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)+0.01
ksel,u,,,edge_kp(3,i-1,j)
cm,tempcm,kp
*get,tx2,kp,0,mnloc,x
ksel,r,loc,x,tx2,tx2
*get,edge_kp(4,i-1,j),kp,0,num,max
*get,ty2,kp,edge_kp(4,i-1,j),loc,y
*do,temp,1,100
*if,ty2,ge,ty1,then
cmsel,s,tempcm
ksel,u,,,edge_kp(4,i-1,j)
cm,tempcm,kp
*get,tx2,kp,0,mnloc,x
ksel,r,loc,x,tx2,tx2
*get,edge_kp(4,i-1,j),kp,0,num,max
*get,ty2,kp,edge_kp(4,i-1,j),loc,y
*else
*exit
*endif
*enddo
*enddo
*enddo
allsel
*do,i,2,layer_num
btol,0.01
*if,y_div(i),eq,y_div(i-1),then
*do,j,1,z_div(i-1)-1,
*if,x_left(i-1),eq,1,then
vsel,s,loc,x,idx_up(k_num(i-1),i-1),idx_down(k_num(i),i)
kgen,2,edge_kp(3,i-1,j),,,,,1000,10000,0
kwplan,,edge_kp(3,i-1,j),edge_kp(4,i-1,j),edge_kp(3,i-1,j)+10000
vsbw,all,,delete
*endif
*if,x_right(i-1),eq,1,then
vsel,s,loc,x,idx_down(1,i),idx_up(1,i-1)
kgen,2,edge_kp(1,i-1,j),,,,,1000,10000,0
kwplan,,edge_kp(1,i-1,j),edge_kp(2,i-1,j),edge_kp(1,i-1,j)+10000
vsbw,all,,delete
*endif
*enddo
*endif
*enddo
allsel
asel,s,loc,z,idz(layer_num)
cm,dambot,area
multipro,'start',0
*cset,61,62,'pick Left(+) area of foundation'
multipro,'end'
asel,s,ext
asel,r,loc,x,0,1.5*idx_up(1,1)
/auto,1
/replot
asel,r,p
cm,damzheng,area
multipro,'start',0
*cset,61,62,'pick right(-) area of foundation'
multipro,'end'
asel,s,ext
asel,r,loc,x,1.5*idx_up(k_num(1),1),0
/auto,1
/replot
asel,r,p
cm,damfu,area
cmgrp,edge,dambot,damfu,damzheng
multipro,'start',0
*cset,61,62,'check what you need'
multipro,'end'
allsel
cm,damvol,volu
cmsel,,damfu
vext,all,,,-1.5*(idx_up(1,1)-idx_up(k_num(1),1)),0,0
cmsel,s,damzheng
这是在ansys的一本书上,照搬着敲进去的,里面好像有些错误,给修改了,也调试通顺了。后来没时间继续敲,所以还不是很完整,你可以参看着,然后来建模。希望能有所帮助。 |
|