找回密码
 注册
Simdroid-非首页
查看: 139|回复: 0

[命令/FISH] 请教一个地下水影响的边坡稳定性分析的例子。

[复制链接]
发表于 2011-3-17 19:48:53 | 显示全部楼层 |阅读模式 来自 湖南长沙
最近看书找到一个存在地下水影响的边坡稳定性分析的例子,命令流如下:
gen zone radcyl p0 0 0 25 p1 add 80 0 0 p2 add 0 0 -25 p3 add 0 80 0 dim 24.5 24.5 12 12 ratio 1 1 1 1.1
gen zone radcyl p0 0 0 0 p1 add 80 0 0 p2 add 0 0 -15 p3 add 0 80 0 dim 12 12 12 12 ratio 1 1 1 1.1 fill size 5 7 10 10
gen zone brick p0 0 -40 -15 p1 add 12 0 0 p2 add 0 40 0 p3 add 0 0 15 size 5 12 7
gen zone brick p0 12 -40 -15 p1 add 68 0 0 p2 add 0 40 0 p3 add 0 0 15 size 10 12 7 ratio 1.1 1 1
gen zone brick p0 12 -40 0 p1 add 68 0 0 p2 add 0 40 0 p3 add 12.5 0 25 p4 add 68 40 0 p5 add 12.5 40 25 p6 add 68 0 25 p7 add 68 40 25 size 10 12 10 ratio 1.1 1 1

地下水位设置
ini pp 0 grad 0 0 -1e4 ran z -15.1 0
call water.fis
model mohr
prop bulk 2e8 shear 1e8 fric 42 con 1e5 ten 1e5
fix x ran x -0.1 0.1
fix x ran x 79.9 80.1
fix y ran y -40.1 -39.9
fix y ran y 79.9 80.1
fix x y z ran z -15.1 -14.9
初始化密度,地下水位之上为2500,之下为2600
def ini_dens
  pnt=zone_head
  loop while pnt#null
    if z_pp(pnt)#0.0 then
       z_density(pnt)=2600
    else
       z_density(pnt)=2500
    endif
    pnt=z_next(pnt)
  endloop
end
ini_dens

初始化重力
ini syy -6.25e5 grad 0 0 2.5e4
ini sxx -6.25e5 grad 0 0 2.5e4
ini szz -13e5 grad 0 0 5e4

监测
hist unbal
hist gp xd 24.5 -40 25
hist gp zd 24.5 -40 25
hist gp xd 24.5 0 25
hist gp yd 24.5 0 25
hist gp zd 24.5 0 25
hist gp yd 0 24.5 25
hist gp zd 0 24.5 25

自动安全因子计算
solve fos file ws.sav
ret

定义地下水位
def parm
  nptabl=7
  nprof=10
end
parm
table 1 12 0 18.25 12.5 25 17 35 21 50 24 75 25 150 25

def aux1
  loop n(1,nptabl)
  rr=xtable(1,n)
  zz=ytable(1,n)
  loop k(1,nprof)
    case_of k
      alfa=0.5*(pi+0.1)*float(k-2)/float(nprof-2)
      xtable(n+10,k)=rr*cos(alfa)
      ytable(n+10,k)=rr*sin(alfa)
    case 1
      xtable(n+10,k)=rr
      ytable(n+10,k)=-40.0
    case 2
      xtable(n+10,k)=rr
      xtable(n+10,k)=0.0
    end_case
  end_loop
end_loop
end
aux1

def aux2
  command
    set grav 0 0 -10
    water dens 1000
  end command
  loop n(1,nptabl-1)
    xx1=xtable(n+10,k)
    yy1=ytable(n+10,k)
    zz1=ytable(1,n)
    xx2=xtable(n+10,k+1)
    yy2=ytable(n+10,k+1)
    zz2=zz1
    xx3=xtable(n+11,k+1)
    yy3=ytable(n+11,k+1)
    zz3=ytable(1,n+1)
    xx4=xtable(n+11,k)
    yy4=xtable(n+11,k)
    zz4=zz3
    command
      WATER TABLE face xx1,yy1,zz1 xx2,yy2,zz2 xx3,yy3,zz3
      WATER TABLE face xx1,yy1,zz1 xx3,yy3,zz3 xx4,yy4,zz4
    end_command
  end_loop
end_loop
end
aux2
ret

请教下高手aux1和aux2的作用,例子中table1的数是怎么确定的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-25 06:33 , Processed in 0.036296 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表