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

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

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

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

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

采用摩尔-库仑模型

propbulk1e8shear0.3e8

模型的材料性质:

体积模量1×

108剪切模量0.3×

108

propfric35coh1e3tens1e3

摩擦角35°

粘聚力1×

103抗拉强度1×

103

setglobalconditions

设置全局参数

setgrav0,0,-9.81

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

restt1.sav

恢复t1.sav文件

Step2:

excavatetrench

第二步:

开挖隧道

modelnullrangex2,4y2,6z5,10

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

setlarge

在全局下设置大应变状态

initialxdis0.0ydis0.0zdis0.0

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

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

4

step1000

运算1000步

savet2.sav

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

ret

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

5

实例分析2:

浅基础的稳定性分析

图2:

浅基础位移矢量图

例2:

---------------------------------------------------------------------

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

genzonebricksize20110

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

10

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

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

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,'

)为首个单元的粘聚力的数值

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

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

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

的网格点在z方向的位移

fish语言的结束句

defp_err

定义函数p_err

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

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

fish语言的结束句

histn50

对n做历史记录

histactLoad

对actLoad做历史记录

histp_sol

对p_sol做历史记录

histc_disp

对c_disp做历史记录

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

plotsketch

绘出轮廓线

plotaddvel

添加矢量

plotaddhis12vs3

绘出历史记录n,actLoad,p_sol

cyc15000

运行15000时步

printp_err

输出函数p_err

savepran.sav

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

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…

Utility…

驱动程序安装指南

FISH函数的Itasc编码

Itasc用户定义的模型

Itasc资源文件

“更新”和“动画”功能

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

FLAC3D网格生成

实例分析4:

网格的合并联结

图3:

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

图4:

连接在一起的块体材料

11

例4:

plotcreategrid4

plotaddblockgroupredyellow

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

plotaddaxesblack

添加坐标轴线为黑色

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

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

grouplower_block

建立块体网格,大小为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×

1,其尺寸及位置是p0、p1、p2、p3

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

plotshow

在视图窗中显示

inizadd-1rangegroupupper_block

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

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

p20,5,0p30,0,2&

groupupper_block

重新建立另外一个块体网格,其大小为2×

1,其尺寸及位置是p0、p1、

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

genmerge1e-5rangez0

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

12

实例分析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,其尺寸及位置是p0、p1、p2、p3、

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

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

CreateTop-1unithighforinitialspacing

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

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

13

genseparateTop

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

Createinterfaceelementsonthetopsurfaceofthebase

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

interface1wrapBaseTop

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

plotcreateview_int

显示,并创建标题view_int

plotaddsurface

显示表面

plotaddinterfacered

显示交互面为红色

打开图形

saveint.sav

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

14

实例分析6:

隧道的生成

图6:

隧道的图样

例6:

new

新建

defsetup

定义函数setup

numy=8

定义常量numy为8

depth=10.0

depth为10

结束对函数的定义

setup

运行函数setup

genzoneradcylsize5numy810&

p0000p11002p20depth0p30010&

p410depth2p50depth10p610010p710depth10

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

unmy×

8,其总体的

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

决定。

15

pause;

p0000p1100-10p20depth0p31002&

p410depth-10p510depth2p6100-4p710depth-4

8,其中数值

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

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

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

genzonebricksize5numy10&

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

p50depth-2p620-2p72depth-2

建立块体单元网格,其大小为5×

10,空间位置由p0,p1,p2,p3,p4,p5,p6,p7

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

genzonereflectorig000norm100

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

plocreaqqq

创建名为qqq

ploaddsurfred

表面颜色设置为红色

plosho

显示图形

16

实例分析7:

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

图7:

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

图8:

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

17

图9:

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

交叉点的完整隧道

图11:

直型隧道的扩展部分

18

图12:

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

图13:

添加上部边界网格

19

例7:

新建文本

defin_def

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

xx=in(msg+'

('

+'

default:

'

+string(default)+'

):

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

iftype(xx)=3

in_def=default

else

in_def=xx

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

用于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函数。

下面的命令和此处一样。

tunnelminimumy-coordinate(y1)'

y1=in_def

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

tunnelcenterz-coordinate(z0)'

z0=in_def

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

default=1.0

tunnelradiusabovetunnelcenter(rad)'

rad=in_def

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

default=.7

tunnelbasehalf-widthbelowtunnelcenter(base:

failsifbase>

=rad)'

base=in_def

20

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

其值不能大于隧道半径。

default=0.5

tunnel"

height"

frombasetocenter(height)'

height=in_def

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

default=2.0

extentofinnerprimi

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

当前位置:首页 > 人文社科 > 广告传媒

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

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