《FLAC 原理实例与应用指南》 FLAC3D 实例分析教程.docx
- 文档编号:24330330
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:46
- 大小:31.46KB
《FLAC 原理实例与应用指南》 FLAC3D 实例分析教程.docx
《《FLAC 原理实例与应用指南》 FLAC3D 实例分析教程.docx》由会员分享,可在线阅读,更多相关《《FLAC 原理实例与应用指南》 FLAC3D 实例分析教程.docx(46页珍藏版)》请在冰豆网上搜索。
《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,本实例分析教程仅供读者参考,读者在参考本教程算例进行工程分析时,编者对可能产生的任何问题概不负责。
编者
2005.10.18
《FLAC原理实例与应用指南》FLAC3D实例分析教程2
实例分析1:
基坑开挖
图1:
基坑开挖的位移等值线图
例1:
;simpletutorial–trenchexcavation;简单的隧道开挖方法
;Step1:
createinitialmodelstate
;第一步:
初始模型的建立
;creategrid
;建立网格
genzonebricksize688;建立矩形的网格区域,其大小为6×8×8
;assignmaterial
;指定材料的性质
modelmohr
;采用摩尔-库仑模型
propbulk1e8shear0.3e8;模型的材料性质:
体积模量1×108剪切模量0.3×108propfric35coh1e3tens1e3;摩擦角35?
粘聚力1×103抗拉强度1×103
;setglobalconditions;设置全局参数
setgrav0,0,-9.81
《FLAC原理实例与应用指南》FLAC3D实例分析教程3
;设置重力加速度,z坐标正方向为正,故为-9.81inidens2000
;初始密度为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×105propfriction0.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)赋予变量pntpload=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)赋予变量pntendloop
;结束循环
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…
CommandReferenceFISHinFLAC3D…
FluidMechnicalInteraction
OptionalFeaturesStructuralElementsTheoryBackgroud…
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(bas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FLAC 原理实例与应用指南 FLAC 原理实例与应用指南 FLAC3D 实例分析教程 FLAC 原理 实例 应用 指南 分析 教程