FLAC原理实例与应用指南FLAC3D实例分析教程.docx

上传人:b****5 文档编号:3787222 上传时间:2022-11-25 格式:DOCX 页数:49 大小:31.13KB
下载 相关 举报
FLAC原理实例与应用指南FLAC3D实例分析教程.docx_第1页
第1页 / 共49页
FLAC原理实例与应用指南FLAC3D实例分析教程.docx_第2页
第2页 / 共49页
FLAC原理实例与应用指南FLAC3D实例分析教程.docx_第3页
第3页 / 共49页
FLAC原理实例与应用指南FLAC3D实例分析教程.docx_第4页
第4页 / 共49页
FLAC原理实例与应用指南FLAC3D实例分析教程.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

FLAC原理实例与应用指南FLAC3D实例分析教程.docx

《FLAC原理实例与应用指南FLAC3D实例分析教程.docx》由会员分享,可在线阅读,更多相关《FLAC原理实例与应用指南FLAC3D实例分析教程.docx(49页珍藏版)》请在冰豆网上搜索。

FLAC原理实例与应用指南FLAC3D实例分析教程.docx

FLAC原理实例与应用指南FLAC3D实例分析教程

《FLAC原理实例与应用指南》FLAC3D实例分析教程

1

FLAC3D实例分析教程

刘波韩彦辉(美国)编著《FLAC原理实例与应用指南》

北京:

人民交通出版社,2005.9Appendix(附录)

版权所有:

人民交通出版社,ItascaConsultingGroup,USA

说明:

1.本实例分析教程是为方便读者学习、应用FLAC和

FLAC3D而编写的,作为《FLAC原理、实例与应用指南》一书的

附录。

2.计算算例参考了ItascaConsultingGroup的培训算例,命

令流的解析旨在方便读者理解FLAC和FLAC3D建模及求解问题

的一般原则与步骤。

3.实例分析的算例中,FLAC算例是基于FLAC5.00版本、

FLAC3D算例是基于FLAC3D3.00版本实现计算分析的。

读者在

学习和研究相关算例时,请务必采用Itasca授权的合法版本进行分

析计算。

4.本实例分析教程仅供读者参考,读者在参考本教程算例

进行工程分析时,编者对可能产生的任何问题概不负责。

编者

《FLAC原理实例与应用指南》FLAC3D实例分析教程

2

实例分析1:

基坑开挖

图1:

基坑开挖的位移等值线图

例1:

;simpletutorial–trenchexcavation

;简单的隧道开挖方法

;Step1:

createinitialmodelstate

;第一步:

初始模型的建立

;creategrid

;建立网格

genzonebricksize688

;建立矩形的网格区域,其大小为6×8×8

;assignmaterial

;指定材料的性质

modelmohr

;采用摩尔-库仑模型

propbulk1e8shear0.3e8

;模型的材料性质:

体积模量1×108剪切模量0.3×108

propfric35coh1e3tens1e3

;摩擦角35°粘聚力1×103抗拉强度1×103

;setglobalconditions

;设置全局参数

setgrav0,0,-9.81

《FLAC原理实例与应用指南》FLAC3D实例分析教程

3

;设置重力加速度,z坐标正方向为正,故为-9.81

inidens2000

;初始密度为2000

;setboundaryconditions

;设置初始边界情况

fixxrangex-0.10.1

;在x方向上固定x=0边界,为滚动支撑

fixxrangex5.96.1

;在x方向上固定x=6边界,为滚动支撑

fixyrangey-0.10.1

;在y方向上固定y=0边界,为滚动支撑

fixyrangey7.98.1

;在y方向上固定y=8边界,为滚动支撑

fixzrangez-0.10.1

;在z方向上固定z=0边界,为滚动支撑

;monitormodelvariablestocheckforequilibrium

;监控模型变量,并控制力学平衡

histunbal

;监测不平衡力,并保留历史记录(在默认情况下,每十步做一次记录)

histgpzdisp4,4,8

;监测网格坐标点(4,4,8)在z方向的位移,并保留历史纪录

solve

;运算,求解(默认情况下ratio=1×10−5停止运算)

pause

;暂停

savet1.sav

;形成sav文件,并保存为t1.sav

pause

;暂停

;

restt1.sav

;恢复t1.sav文件

;Step2:

excavatetrench

;第二步:

开挖隧道

modelnullrangex2,4y2,6z5,10

;在x(2,4)y(2.,6)z(5,10)范围内建立零模型(即开挖这一部分区域)

pause

;暂停

setlarge

;在全局下设置大应变状态

initialxdis0.0ydis0.0zdis0.0

;把x,y,z重新设置为0(因为我们只为了观察基坑引起的位移变化,

;而不是从施加重力荷载引起的位移变化,这不会影响计算结果)

pause

《FLAC原理实例与应用指南》FLAC3D实例分析教程

4

;暂停

step1000

;运算1000步

pause

;暂停

savet2.sav

;形成sav文件,并保存为t2.sav

ret

;放在批处理文件的最后,以返回FLAC3D的控制状态

《FLAC原理实例与应用指南》FLAC3D实例分析教程

5

实例分析2:

浅基础的稳定性分析

图2:

浅基础位移矢量图

例2:

;---------------------------------------------------------------------

;-二维的条形基础在Tresca材料中的塑性流动

;---------------------------------------------------------------------

genzonebricksize20110

;建立矩形的网格区域,其大小为20×1×10

modelmohr

;采用摩尔-库仑模型

propbul2.e8shea1.e8cohesion1.e5

;模型的材料性质:

体积模量2.0×108剪切模量1.0×108粘聚力1.0×105

propfriction0.dilation0.tension1.e10

;内摩擦角0°剪胀角0°抗拉强度1.0×1010

fixxrangex-.1.1

;在x方向上固定边界x=0(即只在x方向上受约束)

fixxyzrangez-.1.1

;在xyz方向上固定边界z=0(即为固定约束)

fixxyzrangex19.920.1

;在xyz方向上固定边界x=20

fixy

《FLAC原理实例与应用指南》FLAC3D实例分析教程

6

;约束所有y方向上运动

fixxyzrangex-.13.1z9.910.1

;在xyz方向上固定平面x=0,3z=10

inizvel-0.5e-5rangex-.13.1z9.910.1

;在平面x=0,3z=10上初始化z方向的速度为−0.5×10−5

defp_cons

;用fish语言定义函数p_cons

pdis1=gp_near(0.,0.,10.)

;靠近坐标(0,0,10)的节点的地址赋予pdis1

pdis2=gp_near(0.,1.,10.);

;靠近坐标(0,0,10)的节点的地址赋予pdis2

p_sol=(2.+pi)

;2+π赋予p_sol

end

;用于fish语言的结尾

p_cons

;运行函数p_cons

;---------------------------------------------------------------------

;p_load:

averagefootingpressure/c

;场地的平均压力

;c_disp:

magnitudeofverticaldisplacementatfootingcenter/a

;场地中心的垂直沉降量

;---------------------------------------------------------------------

defactLoad

;定义函数actLoad(活荷载)(fish语言的起始句)

pnt=gp_head

;把网格点指针的首个地址(gp_head)赋予变量pnt

pload=0.0

;定义变量pload为0

n=0

;定义变量n为0

loopwhilepnt#null

;loop是循环命令,其条件是pnt≠0

ifgp_zpos(pnt)>9.9then

;当变量pnt所对应的z坐标大于9.9

ifgp_xpos(pnt)<3.1then

;且x坐标小于3.1时

pload=pload+gp_zfunbal(pnt)

;变量pload为上次循环中的值与变量pnt所对应的z方向上的不平衡力的和

n=n+1

;n自我加1

endif

;结束里面的if

endif

《FLAC原理实例与应用指南》FLAC3D实例分析教程

7

;结束外面的if

pnt=gp_next(pnt)

;把网格点指针的下一个地址(gp_next)赋予变量pnt

endloop

;结束循环

actLoad=pload/(3.5*z_prop(zone_head,'cohesion'))

;这里函数actLoad的值,为后面的式子所赋予,其中pload为循环结束后的最终

;值z_prop(zone_head,'cohesion')为首个单元的粘聚力的数值

c_disp=-(gp_zdisp(pdis1)+gp_zdisp(pdis2))/7.0

;同理,这里函数c_disp的值,也为后面的式子所赋予,其中gp_zdisp(pdis1)为

;变量pdis1所对应的网格点在z方向的位移,gp_zdisp(pdis2)变量pdis2所对应

;的网格点在z方向的位移

end

;fish语言的结束句

defp_err

;定义函数p_err

p_err=100.*(actLoad-p_sol)/p_sol

;函数p_err的值为后面式子所定义

end

;fish语言的结束句

histn50

;对n做历史记录

histactLoad

;对actLoad做历史记录

histp_sol

;对p_sol做历史记录

histc_disp

;对c_disp做历史记录

histunbal

;对unbal(不平衡力)做历史记录

plotsketch

;绘出轮廓线

plotaddvel

;添加矢量

plotaddhis12vs3

;绘出历史记录n,actLoad,p_sol

cyc15000

;运行15000时步

printp_err

;输出函数p_err

《FLAC原理实例与应用指南》FLAC3D实例分析教程

8

savepran.sav

;形成sav文件,并保存为pran.sav

ret

;放在批处理文件的最后,以返回FLAC3D的控制状态

《FLAC原理实例与应用指南》FLAC3D实例分析教程

9

FLAC3D文件夹

FLAC3D文件夹的内容

文件夹内容

Flac3d300…*

3Dshop…

CommandReference

FISHinFLAC3D…

FluidMechnicalInteraction

OptionalFeatures

StructuralElements

TheoryBackgroud…

UserGuide

VerificationProblems…

Resource

可执行编码,DLLs,安装数据文件

六面体网格的数据文件

参考命令的数据文件

FLAC3D中的FISH数据文件

关于流体力学的相互作用的数据文件

可选择属性的数据文件

结构单元的数据文件

理论和背景的数据文件

用户指南的数据文件

有关某些确定问题的实例的数据文件

FLAC3D的资源文件

Manuals

Flac3d300…FLAC3D用户指南(PDF格式)

Shared

Drivers

Fishtank

Models…

Resource

Utility…

驱动程序安装指南

FISH函数的Itasc编码

Itasc用户定义的模型

Itasc资源文件

“更新”和“动画”功能

*这里和下面的(…)表示此文件夹下还有子文件夹。

《FLAC原理实例与应用指南》FLAC3D实例分析教程

10

FLAC3D网格生成

实例分析4:

网格的合并联结

图3:

建立两个处于分离状态的块体材料

图4:

连接在一起的块体材料

《FLAC原理实例与应用指南》FLAC3D实例分析教程

11

例4:

;

plotcreategrid4

plotaddblockgroupredyellow

;把在group中的部分染成红色和黄色

plotaddaxesblack

;添加坐标轴线为黑色

;

genzonebricksize888p0-10,-10,-20p110,-10,-20&

p2-10,10,-20p3-10,-10,0&

grouplower_block

;建立块体网格,大小为8×8×8,其尺寸是p0、p1、p2、p3来决定,其中p0为

;起始点的坐标,p1为x方向,p2为y方向,p3位z方向的坐标,并把这些区域

;建立成一个群,名为lower_block。

genzonebricksize2,2,1p00,0,1p15,0,1&

p20,5,1p30,0,3&

groupupper_block

;建立另外一个块体网格,其大小为2×2×1,其尺寸及位置是p0、p1、p2、p3

;来决定,具体如上所述,并把这个区域归为一个群,名为upper_block。

plotshow

;在视图窗中显示

pause

;暂停

inizadd-1rangegroupupper_block

;群upper_block的所有单元,在z方向上向下移动1m

;

;genzonebricksize2,2,1p00,0,0p15,0,0&

;p20,5,0p30,0,2&

;groupupper_block

;重新建立另外一个块体网格,其大小为2×2×1,其尺寸及位置是p0、p1、

;p2、p3来决定,具体如上所述,并把这个区域归为一个群,名为upper_block。

genmerge1e-5rangez0

;此命令是接触面单元合并成一个整体。

《FLAC原理实例与应用指南》FLAC3D实例分析教程

12

FLAC3D网格生成

实例分析5:

___________界面(interface)的生成

图5:

两个物体之间界面的生成

例5:

;CreateBase

genzonebricksize333&

p0(0,0,0)p1(3,0,0)p2(0,3,0)p3(0,0,1.5)&

p4(3,3,0)p5(0,3,1.5)p6(3,0,4.5)p7(3,3,4.5)

groupBase

;建立另外一个块体网格,其大小为3×3×3,其尺寸及位置是p0、p1、p2、p3、

;p4、p5、p6和p7等楔型体的8个角点坐标来决定,并把这个区域归为一个群,

;名为Base(即下面的底座)。

;CreateTop-1unithighforinitialspacing

genzonebricksize333&

p0(0,0,1.5)p1(3,0,4.5)p2(0,3,1.5)p3(0,0,6)&

p4(3,3,4.5)p5(0,3,6)p6(3,0,6)p7(3,3,6)

groupToprangegroupBasenot

;建立另外一个块体网格,其大小为3×3×3,其尺寸及位置是p0、p1、p2、p3、

;p4、p5、p6和p7等楔型体的8个角点坐标来决定,并把这个区域归为一个群,

;名为Top(即上面的部分)。

《FLAC原理实例与应用指南》FLAC3D实例分析教程

13

genseparateTop

;使两部分的接触网格分离为两部分

;Createinterfaceelementsonthetopsurfaceofthebase

;在两部分之间添加交界面单元

interface1wrapBaseTop

;在这两部分之间添加接触单元

;

plotcreateview_int

;显示,并创建标题view_int

plotaddsurface

;显示表面

plotaddinterfacered

;显示交互面为红色

plotshow

;打开图形

saveint.sav

;形成sav文件,并保存为int.sav

《FLAC原理实例与应用指南》FLAC3D实例分析教程

14

实例分析6:

隧道的生成

图6:

隧道的图样

例6:

new

;新建

defsetup

;定义函数setup

numy=8

;定义常量numy为8

depth=10.0

;depth为10

end

;结束对函数的定义

setup

;运行函数setup

genzoneradcylsize5numy810&

p0000p11002p20depth0p30010&

p410depth2p50depth10p610010p710depth10

;建立模型的单元为放射性圆柱,其内部圆柱大小尺寸为5×unmy×8,其总体的

;具体的空间位置由p0,p1,p2,p3,p4,p5,p6,p7(它们的具体意思参看generate命令)

;决定。

《FLAC原理实例与应用指南》FLAC3D实例分析教程

15

;pause;

;暂停

genzoneradcylsize5numy810&

p0000p1100-10p20depth0p31002&

p410depth-10p510depth2p6100-4p710depth-4

;建立模型的单元为放射性圆柱,其内部圆柱大小尺寸为5×unmy×8,其中数值

;10的意义是扩展网格的个数。

其总体的具体的空间位置由

;p0,p1,p2,p3,p4,p5,p6,p7(它们的具体意思参看generate命令)决定。

;pause;

;暂停

genzonebricksize5numy10&

p000-10p1100-10p20depth-10p300-2p410depth-10&

p50depth-2p620-2p72depth-2

;建立块体单元网格,其大小为5×unmy×10,空间位置由p0,p1,p2,p3,p4,p5,p6,p7

;(它们的具体意思参看generate命令)决定。

genzonereflectorig000norm100

;对单元进行镜像,镜像面为以(0,0,0)为原点,以(1,0,0)为法向向量。

plocreaqqq

;创建名为qqq

ploaddsurfred

;表面颜色设置为红色

plosho

;显示图形

《FLAC原理实例与应用指南》FLAC3D实例分析教程

16

实例分析7:

复杂交叉隧道(NATM)的生成

图7:

圆型衬砌在破坏时位移等值线图

图8:

在部分喷射混凝土下的连续开挖

《FLAC原理实例与应用指南》FLAC3D实例分析教程

17

图9:

在交叉点建立放射性网格图10:

交叉点的完整隧道

图11:

直型隧道的扩展部分

《FLAC原理实例与应用指南》FLAC3D实例分析教程

18

图12:

在隧道平面周围增加的网格

图13:

添加上部边界网格

《FLAC原理实例与应用指南》FLAC3D实例分析教程

19

例7:

new

;新建文本

;

defin_def

;用fish语言定义函数in_def(此函数产生的对输入参数进行交互式控制)

xx=in(msg+'('+'default:

'+string(default)+'):

')

;对xx赋予的值为字符串、数字,它主要用于下面的一些命令中

iftype(xx)=3

in_def=default

else

in_def=xx

endif

;条件句的应用,这里的type()是用户的fish函数决定的返回值。

end

;用于in_def函数的结尾,表结束。

deftunnel_data

;fish定义函数tunnel_data

default=0.0

msg='tunnelcenterx-coordinate(x0)'

x0=in_def

;

;交互式输入x0(隧道中心x的坐标)的坐标(输入时,会在命令窗口中产生提

;示,默认时为0)

;默认值由上面的default=0.0决定,注意:

命令x0=in_def调用了in_def函数。

;下面的命令和此处一样。

;

default=0.0

msg='tunnelminimumy-coordinate(y1)'

y1=in_def

;交互式输入y1(隧道y坐标最小值)的坐标(同理,默认时为0)

;

default=0.0

msg='tunnelcenterz-coordinate(z0)'

z0=in_def

;交互式输入z0(隧道中心z的坐标)的坐标(同理,默认时为0)

;

default=1.0

msg='tunnelradiusabovetunnelcenter(rad)'

rad=in_def

;交互式输入rad(隧道中心上部的半径)的坐标(同理,默认时为1)

;

default=.7

msg='tunnelbasehalf-widthbelowtunnelcenter(base:

failsifbase>=rad)'

base=in_def

《FLAC原理实例与应用指南》FLAC3D实例分析教程

20

;交互式输入隧道中心以下的底部宽度,注意:

其值不能大于隧道半径。

;

default=0.5

msg='tunnel"height"frombasetocenter(height)'

height=in_def

;交互式输入模型底部到隧道中心的的高度,默认为0.5

;

default=2.0

msg='extentofinnerprimi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1