FLAC学习(10)

2020-04-15 12:45

FLAC3D学习(SIMWE论坛君之枫整理) plot set center 100 0 40 根据情况更改。

27.一段fish命令的解释 def aux1 定义函数

loop n(1,nptab1) 开始一个循环,从1循环到变量nptab1 rr=xtable(1,n) 从table 1 的x列中读第n个数付给变量rr zz=ytable(1,n) 从table 1 的y列中读第n个数付给变量zz loop k(1,nprof) 开始第二个循环,从1循环到变量nprof case_of k 下面是一个选择结构,利用变量k判断 alfa=0.5*(pi+.1)*float(k-2)/float(nprof-2) xtable(n+10,k)=rr*cos(alfa) ytable(n+10,k)=rr*sin(alfa) case 1 当k=1的时候执行下面语句

xtable(n+10,k)=rr table n+10的x列第k个值等于变量rr ytable(n+10,k)=-40.0 table n+10的y列第k个值等于变量-40 case 2 当k=2的时候执行下面语句

xtable(n+10,k)=rr table n+10的x列第k个值等于变量rr ytable(n+10,k)=0.0 table n+10的y列第k个值等于变量0 end_case 结束选择结构 end_loop 结束第二个循环 end_loop 结束第一个循环 end 函数定义结束 aux1 执行什么定义的函数 28. 如何删除指定区域的塑性区? 可以通过分组塑性区来查看 def plasticarrange zp=zone_head loop while zp # null curr_state=z_state(zp,0) if curr_state # 0

z_group(zp)='yield'(这以后的什么意思?) else

z_group(zp)='other' endif zp=z_next(zp) endloop end

plasticarrange

41

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

是将塑性区分组为yield,再用model null ran gr yield 29.有关命令的解释

1) apply nvel 0.1 plane dip 60 dd 270 range left_boun

apply 施加边界条件,plane法向速度为0.1,plane 面的位置:倾角60(在xoy平面从-Z轴方向逆时针旋转),dd 走向270度,从+y方向绕z轴顺时针旋转; 2) ini szz -5e4 grad 0 0 -1e4

ini 初始边界条件,szz=-5e4+x*0+y*0+-z*-1e4,注:-5e4是range范围起点坐标的SZZ值,x,y,z所施加应力网格点的坐标。

30. 问:做的边坡开挖是一个四面体或是契体,除了在建模过程中单独建模再开挖以外,还有什么方法?单独建模的话,模型比较复杂,而且网格不太好统一。 回答:用group定义,然后在挖掉即可, 斜面你可以采用wedge来建立,或用brick建立, 但是设置斜面要用:

norm (X X X) ori (X,X,X) above x x1 x2 y y1 y2 z z1 z2 31. 渗流示例

;------------------------------参数部分 bulk modulus, K 390 MPa 体积模量(土质比较硬) shear modulus, G 280 MPa 剪切模量 soil dry density, ρd 1200 kg/m3 土的密度 water density, ρw 1000 kg/m3 水的密度 wall density, ρwal 1500 kg/m3 档土墙的密度 permeability, k 10?12 m2/Pa-s 渗透系数 porosity, n 0.3 孔隙率

fluid bulk modulus, Kf 2.0 GPa 流体的体积模量 ;------------------------------------- ;-----以下是命令流

;------------------------------------------------------ ; Excavation in a saturated soil

;------------------------------------------------------ config fluid ;设置流体算法

; --- geometrical model --- 建立模型

gen zone brick p1 12 0 0 p2 0 12 0 p3 0 0 12 size 12 12 12 rat 1 1 1 group soil ;设置土 组

group excavate range x 0 4 y 0 4 z 0 5 ;设置开挖范围组 group wal1 range x 4 5 y 0 5 z 0 7 ; 设置档土墙 1 组 group wal2 range x 0 4 y 4 5 z 0 7 ;设置档土墙 2 组

group wall range group wal1 any group wal2 any ;档土墙1 和2 合并为 一个档土墙组

42

FLAC3D学习(SIMWE论坛君之枫整理) ; --- fluid flow model --- 流体模型 model fl_iso ;各项同性流体

prop perm 1e-12 poro 0.3 ;设置渗透系数和??比 or ??率 ini fdensity 1e3 ; 初始化 水密度

ini fmod 2.0e9 ftens -1e-3 ; 初始化水的体积模量 及 ?? model fl_null range group excavate ; 开挖部分没有水流 model fl_null range group wall ;档土墙 不渗水 ini pp 0 grad 0 0 1e4 ;初始化孔隙水压力

fix pp range z -0.1 0.1 ;约束 应该是整个模型的底部吧?

fix pp range x -0.1 4.1 y -0.1 4.1 z 4.9 5.1 ;开挖部分也给约束住了,而其他的地方不管

; --- mechanical model --- 力学模型 model elas ; 弹塑性

prop bul 3.9e6 shea 2.8e6 ;设置体积模量和 剪切模量,这两个必须,有一次我只设置了体积模量,就错的一塌糊涂

model null range group excavate ;力学模型的开挖 ini density 1.2e3 ;初始化 密度 ,应该是土的密度

ini density 1.5e3 range group wall ;初始化墙(档土墙)的密度,

fix x range x -.1 .1 ;施加约束,据说差分法约束0 的时候,必须取一个-0.1<0<0.1,范围

fix x range x 11.9 12.1 ;施加约束,或者叫做边界条件 fix y range y -.1 .1 ;施加约束 fix y range y 11.9 12.1 fix z range z 11.9 12.1

; initial total stresses 出世总应力

ini szz 0 grad 0 0 -1.5e4 ;z方向的应力大一些 ini sxx 0 grad 0 0 -1.2e4 ;水平方向的,小一些 ini syy 0 grad 0 0 -1.2e4 ;

apply nstress 0 grad 0 0 -1.2e4 range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0 apply nstress 0 grad 0 0 -1.2e4 range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0 apply nstress -7.5e4 range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1 ; --- setting --- 设置

set gravity 0 0 10 ;设置重力加速度 ; --- initial state --- ;初始化状态

solve force 1 ; check initial equilibrium 求解平衡 ; --- histories --- 记录 set hist_rep 40 ;记录步为40 hist fltime ;记录时间

43

FLAC3D学习(SIMWE论坛君之枫整理) hist gp pp 0 0 6 ;记录某点的孔隙水压力 hist gp xdis 4 0 0 ;水平位移 hist gp xdis 4 0 2 ;记录水平位移 hist gp xdis 4 2 0

hist gp zdis 0 0 5 ;记录竖向位移 hist gp zdis 2 0 5 hist gp zdis 4 0 5 hist gp zdis 2 2 5 hist gp zdis 4 2 5 hist gp zdis 4 4 5 hist gp zdis 10 0 1 hist gp zdis 10 0 2 ;

; --- excavation --- 开挖 set fluid off ;关闭水

; apply pore pressure at walls 在墙上施加孔隙水压力

apply nstress 0 grad 0 0 -1.e4 range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0 apply nstress 0 grad 0 0 -1.e4 range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0 apply nstress -5.e4 range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1 solve ;force 1 ;求解 save exc1.sav ; 保存 ;

; --- drainage --- 排水

apply remove nstress ;撤掉刚才的压力 def relaxsetup ;定义一个 释放 函数的参数 step0 = step end

relaxsetup ;调用

def relax ;定义一个释放函数 rstep = step - step0 if rstep < ncyc then

relax=1.0-(float(rstep)/float(ncyc)) else relax = 0.0 endif end ;结束

set ncyc = 1000 ;先赋值,随后调用

apply nstress 0 grad 0 0 -1.e4 hist relax &

44

FLAC3D学习(SIMWE论坛君之枫整理) range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0 apply nstress 0 grad 0 0 -1.e4 hist relax & range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0

apply nstress -5.e4 hist relax & range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1 cyc ncyc solve ;求解 save exc2.sav ;保存 ;

; --- percolation --- 渗透 set fluid on ;设置水算法

fix pp 0 range x -0.1 4.1 y -0.1 4.1 z 4.9 5.1 ;施加孔隙水压力 cyc 9000 ;循环 save exc3.sav ;保存

plot create excav ;建立一个显示的 视图 一下内容都是显示内容 plot set rot 200 0 195 plot set cent 6 6 6 plot set dist 39.18 plot set magn 0.8

plot set plane ori 0 0 0 normal 0 -1 0 plot add cont pp out on

plot add block group lgra range group wall

plot add cont pp int 10000 max 110000 range x 0 4 y 0 4 z 5 7 plot add flow plane plot show ret

32.VB中调用FLAC与FLAC调用VB程序 在VB中调用Flac3d.exe的源代码: Private Sub Command1_Click() '定义打开Flac时返回的值 Dim Flac As Long '在VB中调用Flac3d

Flac = Shell(\工具箱\\FLAC 3D\\flac3d v3.00-251\\Flac3d v3.00\\f3d300.exe\vbNormalFocus)

' 激活Flac,使其窗口获得焦点 'AppActivate Flac '使用代码模拟键盘输入

45


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

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

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

马上注册会员

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