flac3d50常用命令集锦.docx
《flac3d50常用命令集锦.docx》由会员分享,可在线阅读,更多相关《flac3d50常用命令集锦.docx(17页珍藏版)》请在冰豆网上搜索。
flac3d50常用命令集锦
建模
1、调用文件:
①文件与工程在同一个文件夹,只写文件名即可:
IfthecalledfileislocatedinthesamefolderastheFLAC3Dprojectfile,thenonlythefilenameneed
beenteredwiththeCALLcommand.
②不在同一个文件夹,全路径:
Otherwise,thefilemaybecalledbyspecifyingitscompletepath(e.g.,c:
\myfolder\file.dat).
Undo;撤销上一条命令
2、创建旋转缩放视图
3、建模命令
modelmechmohr;莫尔库伦模型
modelmechelastic;弹性模型
setgrav0,0,-9.81;重力加速度negativez-direction.(垂直向下!
常用的)
下面这代码,是沿着-y方向的重力加速度,注意区别!
!
!
!
genzonebricksize6,8,8p0-10,-10,-20...;省略号表示写不下后面继续
p110,-10,-20...
p2-10,10,-20...
p3-10,-10,0
plotzone
genzonebricksize6,8,8p0-10,-10,-20...;不规则六面体
p110,-10,-20p2-10,10,-20...
p3-10,-10,0p410,10,-20...
p5-10,10,10p610,-10,0...
p710,10,10
plotcurrentplotPlot01
plotclear
plotzone
Undo;撤销命令
setlogfile127X1001.txt
setlogontruncate
setlogoff
listzoneprinrangex01y01z01;显示指定范围内各单元的主应力,结果如下
Hist命令:
①命令编号按顺序从1开始:
eachhistoryisnumberedsequentiallyfrom1asitisenteredviatheHISTORYcommand.
②查找显示所有的his命令:
ReturntotheFlac3D>promptandtype
listhist
foralistingofthehistoriesandtheircorrespondingnumbers.
histnstep5;每5步记录1次。
默认是10步记录1次
histaddratio;记录maximumunbalancedforceratio
histaddgpzdisp448;记录节点的位移
modelnullrangex=2,4y=2,6z=5,10;Toexcavatethetrench,enter
Thedimensionsoftheexcavationregion(i.e.,thenullmaterial)aredefinedbythex-,y-andz-coordinaterange.
setlarge;设置大变形large-strainlogicisspecified
inixdis0ydis0zdis0;位移归零
solve
savetrench;保持计算结果的文件“TRENCH.F3SAV”不需要后缀
4、group命令(注意新版本的区别,groupzone)
genzonebricksize666
groupzoneTunnelrangex16y06z15;设置group
modelmechmohr;莫尔库伦模型
modelmechnullrangegroupTunnel;
groupzoneTunnelrangecylinderend1100105100end210095100radius3
groupzoneMatrixrangegroupTunnelnot
;namingRANGESthatarefixedinspaceandunrelated
;tothemodelgeometry-representsstratigraphy...
rangenameLayer1planedip0dd0ori000above
rangenameLayer2planedip0dd0ori000below
propbulk1e8shear0.5e8coh0tens0fric35rangenrangeLayer1
propbulk1e7shear0.3e7coh1e7tens0fric0rangenrangeLayer2
plzonecolorbygroup
4、Interface命令
以下是切割模型法生成interface:
寺河模拟用的
plzone
genzonebrickp0000p120000p20400p3004size100202group1;
genzonebrickp0004p120004p20404p3008size100202group2;
genseparategroup1
interface1wrapfirstgroup1secondgroup2
interface1maxedge0.5
显示interface:
plotcreateplotPlot01
plotaddsurface
;显示表面
plotaddinterfacered
;显示交互面为红色
plotshow
用导来导去法,已经在5.0上运行过,很好,值得借鉴
plzonecolorbygroup
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)
groupzoneBase
genzonebricksize333&
p0(0,0,2.5)p1(3,0,5.5)p2(0,3,2.5)p3(0,0,7)&
p4(3,3,5.5)p5(0,3,7)p6(3,0,7)p7(3,3,7)
groupzoneToprangegroupBasenot
interface1facerangeplanenorm(-1,0,1)origin(1.5,1.5,3)dist0.1
pladdinterface
pause
inizposadd-1.0rangegroupTop
4、hist命令(5.0版本需要加add!
!
!
)
histnstep=5//设置采用间隔为5等效于sethist_rep=5
histaddid=2zoneszz0,0,-1
histunbal//最大非平衡力
histaddgpzdisp448
printhist
histaddgpzdis0,0,0
histaddgpzvel0,0,0
histaddgpydisp0,0,0
;监测网格点(0,0,0)点的y方向上的位移
histaddzonesyy0,1,0
;监测单元(0,1,0)点的y方向上的应力
histaddzonesyy1,1,0
;监测单元(1,1,0)点的y方向上的应力
histaddzoneszz0,0,-1
Listhistory
setlarge
historynstep2
historyaddfishtt
historyaddfishtheta
historyaddzonesxx(1,1,1)
historyaddzonesyy(1,1,1)
historyaddzoneszz(1,1,1)
plotaddhis345vs1
HISTORYaddfishvar;fishvar变量的监测
5、solve命令?
?
?
?
?
什么意思
5、plot命令
通过图形操作界面的方式:
plzonecolorbygr;查看各个分组
通过命令流的方式:
plotcreateplotPlot01
plotclear
plotaddhistory1linestylecolorblack
plotpostplotPlot01file127F1002.psmanual
plotcreateplotPlot02
plotclear
plotaddhistory2linestylecolorblack
plotpostplotPlot02file127F1003.psmanual
plotcreateplotGravV
plotcutaddplanedip90dd0origin3,4.1,0;截面
plotsetcenter333
plotseteye121812
plotaddzoneplanebehindplaneononplaneoff;addlabel"Zone"white
plotaddbcontszzrampgrey
plotaddaxes
plotpostplotGravVfile127F1004.psmanual
reskw50
plotcreateplotszz_contour
plotcutaddplanedip90dd180origin0,18.9,0
plotsetorient1202200
plotsetcenter45450
plotaddzoneplanebehindplaneononplaneoff;
plotaddbcontszzramprainbow
plsetmag1.0
plotaddaxes
plotshow
plotcreateGravV
plotsetplanedip=90dd=0origin=3,4,0
plotsetrot15020;thiswouldbeachievedinteractively
plotsetcenter2.54.24.0;andisshowheresimplytoillustrate
plotaddboundbehind
plotaddbcontszzplane
plotaddaxes
plotshow
这样我们就建立了一个叫“GravV”的图形,将它设为当前图层,对此图形设置一个倾角为90°的面,(在x-y面上,约定z的负方向为下),倾向为0°。
(在x-y面上,从y的正方向开始沿顺时针方向计量),过x-y面上一点(x=3,y=4,z=0),在平面后加一个网格,垂直方向的应力Qzz,最后给模型加轴线,整体图形轮廓与添加图形相反,显示每个区域中心的应力计算值,每个区域的颜色直接对应基本区域的应力,当键入show,我们建立的图形被显示
PlotcreateDispcont
Pladdcontdispplanebehind
Pladdaxes
Plshow
plotsketch
;绘出轮廓线
plotaddvel
;添加矢量
plotaddhis12vs3
;绘出历史记录n,actLoad,p_sol
cyc15000
plot
CreateTrench
Addsurfaceyellow
Addaxesblack
Show
plotcreateszz_contour
;创建文件名为szz_contour(z方向的应力云图)
plotsetcent445
;视图的中心坐标为(4,4,5)
plotsetrot20030
;视图的旋转角度为(20,0,30)
plotsetmag1.0
;视图的放大倍数为1.0
plotaddcontszzoutonshadeon
;打开szz的等值线图
plotaddaxes
;打开坐标轴线
plotshow
;显示窗口
;不同的区域,材料赋值不同
plzonecolorbymodel
plzonecolorbygroup
求解前对模型进行检查
网格检查(如前所述)
边界条件检查
速度约束条件plotgpfix
荷载条件plotfap
模型检查
模型赋值ploblockmodel
参数赋值ploblockprop***
初始应力检查(如后所述)
经常检查模型的响应
plozconszz(syy,sxx)应力场
ploconzdis(ydis,xdis)位移场
plo(add)zonecolorbystate屈服状态
plogpfix速度约束条件
plofap体力
plohist(unbal)1不平衡力(必需的)
plsetmovieactiveon
plsetmovieextensionjpg
plsetmovieinterval20
plsetmovieprefixsihekuangkaiwa
plsetmoviesizeixiy
plsetnamesihedacaigao
plbitmapview1filemyplot.png
plbitmapview1size1024768
plcreate
plcurrent
plcutaddplaneddxxxdipxxx
plcutaddplanenamexxxnormalxxxoriginxxx
pldxf
plexcel
plsvg
plsetbackgroundwhite;设置背景色
plotaddhis345vs1
5、网格的连接、对称……
不同尺寸的zone,网格用attach连接,粘起来!
!
!
!
!
!
6、plane命令
6、range命令
listrange
rangenametrenchx=-1,1y=0,4z=-2,2;定义range
modelmechnullrangenrangetrench;;开挖excavatethetrench
7、gp命令
listgpposition;查看节点编号、位置坐标
printgpdisprangeid105
histaddgpzdis0,0,0
histaddgpzvel0,0,0
message
(1)=string(gp_xpos(pnt))
message
(1)=message
(1)+','+string(gp_zpos(pnt))
message
(1)=message
(1)+','+string(abs(gp_zdisp(pnt)))
GPPNTfindgp(INT)
GPPNTgpfind(INT)
GPPNTgphead
ii=ngptotalnumberofgridpoints
更多节点变量函数,详见fishreference
8、zone命令
listzone
printzonestressrangeid2381anyid2361any2341any;输出网格单元的应力
histzoneszz0,0,-1
ZPNTfindzone(INT)
INTzfind(INT)
ZPNTzonehead
ii=nzonetotalnumberofzones
更多zone变量函数,详见fishreference
9、config
9、边界条件BoundaryandInitialConditions
BoundaryconditionsarenormallyspecifiedwiththeAPPLYandFIX/FREEcommands,andinitialconditionsareassignedwiththeINITIALcommand
Example:
aconstant,compressivexx-stresscomponentof10MPacanbeappliedtoaboundarylocatedatx=10withthecommand
applysxx-10e6rangex10;x=10的面上10MPa
applysyy=-20e6grad0,0,20e5rangey-20z0,10
在斜面上施加法向力
10杂项(材料力学性质)
11.M-C本构模型的选取
在进行模拟时,采用摩尔-库仑(Mohr-Coulomb)强度准则来判断矿体与顶底板的破坏机理。
该准则基本的内涵为:
岩石的剪切破坏是由岩石破裂面产生的破坏剪应力受到岩石材料的内聚力和内摩擦力的抵抗,当破裂面上的破坏剪应力大于岩石的内聚力和内摩擦力时,即Fs>0时,材料发生剪切破坏[4]:
有限差分法(FDM)
Fish函数
1、if条件从句
2、loop条件从句
new
defderive
s_mod=y_mod/(2.0*(1.0+p_ratio))
b_mod=y_mod/(3.0*(1.0-2.0*p_ratio))
end
set@y_mod=5e8@p_ratio=0.25
@derive
list@b_mod@s_mod
genzonebricksize(2,2,2)
modelmechelastic
propbulk=@b_modshear=@s_mod
listzonepropbulk
listzonepropshear
new
defxxx
sum=0
prod=1
loopn(1,10)
sum=sum+n
prod=prod*n
end_loop
end
@xxx
list@sum@prod
new
defabc
ifxx>0then
abc=33
else
abc=11
end_if
end
set@xx=1
list@abc
set@xx=-1
list@abc
new
genzonebricksize1035
defplace_cables
loopn(1,5)
z_d=float(n)-0.5
command
selcablebeg(0.0,1.5,@z_d)end(7.0,1.5,@z_d)nseg7
end_command
end_loop
end
@place_cables
plotaddzonetrans75
plotaddselgeom
new
genzonebricksize1035
modelmechmohr
propbulk1e8shear0.3e8fric35
propcoh1e3tens1e3
inidens1000
setgrav(0,0,-10);;重力加速度
fixxyzrangez0.0
fixyrangey0.0
fixyrangey3.0
fixxrangex0.0
fixxrangex10.0
setlarge
histaddunbal
solve
savecab_str
inixdis0ydis0zdis0
histaddgpxdisp(0,1,5)
defplace_cables
loopn(1,5)
z_d=5.5-float(n)
z_t=z_d+0.5
z_b=z_d-0.5
command
freexrangex0.0z@z_b,@z_t
solve
selcablebeg(0.0,0.5,@z_d)end(7.0,0.5,@z_d)nseg7
selcablebeg(0.0,1.5,@z_d)end(7.0,1.5,@z_d)nseg7
selcablebeg(0.0,2.5,@z_d)end(7.0,2.5,@z_d)nseg7
selcablepropemod2e10ytension1e8xcarea1.0...
gr_k2e10gr_coh1e10gr_per1.0
end_command
end_loop
end
@place_cables
savecab_end
plotzonetrans75selcabblockforcelinewidth4
new
genzonebricksize121
modelmechmohr
propshear=1e8bulk=2e8...
cohes=1e5tens=1e10
fixxyzrangey0.0
applyyvel-1e-5rangey2.0
defget_ad
ad1=gp_near(0,2,0)
ad2=gp_near(1,2,0)
ad3=gp_near(0,2,1)
ad4=gp_near(1,2,1)
end
@get_ad
defload
load=g