FLAC学习(4)

2020-04-15 12:45

FLAC3D学习(SIMWE论坛君之枫整理)

根据手册上的说明:下面的命令设定一个平均摩擦角为40度,标准方差是±5%。则命令如下:prop friction 40 gauss_dev 2

问题:请问gauss_dev 2中的2是如何计算的?如果把±5%改为±10%,则命令应如何写? 40×5%=2 11.子程序运行方式

问题如下:进行迭代时子程序是如何运行的?下面命令流运行后,红色子程序仅运行一次,而绿色部分则在每次迭带时均调用。能否请高手详细结实一下程序的运行规则?为什么绿色每次调用,而红色只调用一次? new

title Direct shear test set log on

set logfile fa3.4.log

gen zone brick size 12 1 10 p0 4 0 6 p1 16 0 6 p2 4 1 6 p3 4 0 11 gen zone brick size 20 1 10 p1 20 0 0 p2 0 1 0 p3 0 0 5 range name bot z 0 5 range name top z 6 11 interface 1 face range z 5

int 1 prop ks 4e4 kn 4e4 fric 30 dil 6 ;tension 1e10 bslip=on ini z add -1.0 range top

;plo surf lorange interface white axes black model e

prop bulk 45e3 sh 30e3 fix x y z range z 0 fix x range x 0 fix x range x 20 plot create view\\_int plot add surface plot add interface red plot show ;pause

apply nstress -10 range z 10 step 0

plot contour szz interface white axes black ;step 100 solve ;pause save dsta.sav

ini xvel 5e-7 range top

16

FLAC3D学习(SIMWE论坛君之枫整理) fix xvel range top def ini_jdisp valnd = 0.0 count = 0.0

p_in=i_node_head(i_head) loop while p_in # null

if in_ztarget(p_in) # null then valnd = valnd + in_pen(p_in) count = count + 1.0 end_if

p_in = in_next(p_in) end_loop

njdisp0 = valnd/count end ini_jdisp def sstav valns = 0.0 valss = 0.0 valsd = 0.0 valnd = 0.0 count = 0.0

p_in=i_node_head(i_head) loop while p_in # null

if in_ztarget(p_in) # null then

valns = valns + in_nstr(p_in)*in_area(p_in) valss = valss + in_sstr(p_in,1)*in_area(p_in) valsd = valsd + in_sdisp(p_in,1) valnd = valnd + in_pen(p_in) count = count + 1.0 end_if

p_in = in_next(p_in) end_loop

sstav = valss/(12.0*1.0) nstav = valns/(12.0*1.0) sjdisp = valsd/count

njdisp = valnd/count - njdisp0 endsstav hist ns 1

17

FLAC3D学习(SIMWE论坛君之枫整理) hist sstav nstav sjdisp njdisp ini xdis 0 ydis 0 zdis 0 step 2500 save dst.sav plot his -1 vs -3 ;pause

plot his -4 vs -3 print nstav ;pause ret

12. reflect问题

问:1)gen zone radbrick &p0 (0,0,0) p1 (10,0,0) p2 (0,10,0) p3 (0,0,10) &size 3,5,5,7 &ratio 1,1,1,1.5 &dim 1 4 2 fill plot surf

gen zone reflect dip 0 dd 90

这个是以xy平面作为对称面来对称。那么下面这句话: gen zone reflect dip 90 dd 90

按照上面的分析应该按照xz平面对称,可是manual是yz平面,按理说应该是yz面; 2)关于dd的理解:dip-direction angle, measured in the global xy-plane

clockwise from the positive y-axis 这个是从y轴到x顺时针方向所转过的角度;dip dip angle, measured in the negative z-direction from the global xy-plane 这个是xy平面与z轴负方向的夹角。

dip表示对称参照面与xy平面的夹角,对称参照面与xy平面的夹角在xy平面的投影是一条射线 ,dd表示y轴正向顺时针到那条射线的夹角。首先应该按照dd的方向大体确定这个面的朝向,dd 指的是从y轴正方向按顺时针(clockwise)方向转向所要确定面的法线方向在xy平面上的投影的夹角,然后再确定dip,dip指的是从xy平面转向所要确定的平面的角.

gen zone reflect dip 90 dd 90是以YZ面.

gen zone reflect dip 90 dd 0 才是以xz为对称面的.

dip-direction 这个是从y轴到x顺时针方向所转过的角度,如果dd=0,那不就是y轴了吗?所以gen zone reflect dip 90 dd 0 不应是xz面,应该是yz面啊?

回答:dip-direction 是倾向,也就是所求面的法向在XY面上的投影的,dd 0表示倾向是0度既是Y轴正方向,所以是XZ面,那dip=0时,即平面与xy的夹角为0,也就是平行于xy面,还要定义dd干吗?dd为任何值不都一样吗? 13.第二次国际会议上的一个示例模型 def tunnel_data x0 = 0.0 y1 = 0.0

18

FLAC3D学习(SIMWE论坛君之枫整理) z0 = 0.0 rad = 1.0 base = 0.7 height = 0.5 dx = 2.0 dz = 2.0 y2 = 5.0 y3 = 15.0 xr = 4.0 zt = 4.0 nx = 4 nr = 3 nu = 4 nz1 = 4 nxr = 5 nzt=5 ny1 = 8 ny2=4 raty = 1.2 ratr = 1.5

;*** DERIVED PARAMETERS ***

nz2 = 2*nx ; upper-right and top zones ratr2=1/ratr

;Compute x-coordinates x1 = x0+rad x2 = x0+dx x3 = x0+base

; Compute arc center (x4,z0) to fit arc-points (x1,z0) and (x0+base,z0-height) x4=x0+(rad*rad-base*base-height*height)/(2.0*(rad-base)) ; Compute radius of lower arc rad2=rad-(x4-x0) x7=x0+sqrt(2.0)/2*rad

; compute inner points for radtunnel - adjust based on nx,nu zones x5=(x0*nu+x7*nx)/(nx+nu) x5c=(nu*x0+nx*x7)/(nx+nu) x5b=(nu*x0+2*nx*x7)/(2*nx+nu) x6=(x0*nu+x2*nx)/(nx+nu) ;Compute z coordinates

19

FLAC3D学习(SIMWE论坛君之枫整理) z1 = z0+rad z2 = z0+dz z4 = z0-dz z5 = z0-height z6 = (z0+z4)/2 z8=z0+sqrt(2.0)/2*rad z7=(z0*nu+z8*nx)/(nx+nu) z7c=(nu*z0+nx*z8)/(nx+nu) z7b=(nu*z0+2*nx*z8)/(2*nx+nu) ;slope constant of lower arc dxz=(x3-x1)/(z5-z0)

;slope constants of upper arc dxz2=(z8-z0)/(x7-x1) dxz3=(x7-x0)/(z8-z1) end def make1 if y1#y2 then command

; top and upper-right outside

gen zone radcyl size nx ny1 nz2 nr ratio 1 1 1 ratr group 'g1' &

p0 x0 y1 z0 & p1 x2 y1 z0 & p2 x0 y2 z0 & p3 x0 y1 z2 & p4 x2 y2 z0 & p5 x0 y2 z2 & p6 x2 y1 z2 & p7 x2 y2 z2 & p8 x1 y1 z0 & p9 x0 y1 z1 & p10 x1 y2 z0 & p11 x0 y2 z1

end_command end_if if y2#y3 then command

gen zone radcyl size nx ny2 nz2 nr ratio 1 raty 1 ratr group 'g1' &

p0 x0 y2 z0 & p1 x2 y2 z0 & p2 x0 y3 z0 & p3 x0 y2 z2 & p4 x2 y3 z0 & p5 x0 y3 z2 & p6 x2 y2 z2 & p7 x2 y3 z2 & p8 x1 y2 z0 & p9 x0 y2 z1 & p10 x1 y3 z0 & p11 x0 y3 z1 end_command end_if end def make2 if y1#y2 then command

; lower-right outside

gen zone radcyl size nx ny1 nz1 nr ratio 1 1 1 ratr group 'g2' &

20


FLAC学习(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版高中英语选修6 Unit 5《The Power of Nature》单元综合测

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: