flac3D基础与工程实例命令
FLAC3D基本原理及简单实例
FLAC3D基础知识
• 其中,体积模量K和剪切模量G与杨氏模量E和泊松比v有以下关系:
E 3(1 2 ) E G 2(1 ) K
9 KG 3K G 3K 2G G 2(3K G ) E
或
摩尔-库伦塑性模型需要材料参数有: (1)密度 (2)体积模量 (3)剪切模量 (4)内摩擦角 (5)粘聚力 (6)抗拉强度 如果不指定这些材料参数,其值将会自动默认为零。
3D
生成网格
执行变更
定义材料本构关系和 性质 定义边界、初始条件
计算结果保存及调用
图形绘制及结果输出
FLAC3D基础知识
指定材料模型
• 一旦完成了网格的生成,就必须给模型中的所有单元指定一种或者更 多的材料模型及相应的性质。这可以用两个命令MODEL和 PROPERTY来完成。FLAC中有十种内置的材料模型,一般只用三种 模型:MODEL null,MODEL elastic和MODEL mohr。 • MODEL null指的是从模型中去除的或开挖的材料; MODEL elastic 指的是各向同性弹性材料行为; MODEL mohr指的是摩尔-库伦塑性 行为。 • MODEL elastic和MODEL mohr需要通过PROPERTY命令指定材料的 性质,弹性模型需要的材料参数有: • (1)密度 • (2)体积模量 • (3)剪切模量
f t 3 t
式中, 是摩擦角,C是粘聚力, t 是张拉强度,且有:
N
3
张拉强度不超过 值,最大值由下式给定:
1 sin 1 sin
t max
c tan
2.2 FLAC3D常用材料本构模型
Mohr-Coulomb模型
流动法则
FLAC3D常见命令与使用技巧
FLAC3D常见命令与使用技巧FLAC3D常见命令与使用技巧1、FLAC3D常见命令:1.FLAC3D是有限元程序吗?答:不是!是有限差分法。
2.最先需要掌握的命令有哪些?答:需要掌握gen, ini, app, plo, solve等建模、初始条件、边界条件、后处理和求解的命令。
3.怎样看模型的样子?答:plo blo gro可以看到不同的group的颜色分布4.怎样看模型的边界情况?答:plo gpfix red5.怎样看模型的体力分布?答:plo fap red6.怎样看模型的云图?答:位移:plo con dis (xdis, ydis, zdis)应力:plo con sz (sy, sx,sxy, syz, sxz)7.怎样看模型的矢量图?答:plo dis (xdis, ydis, zdis)8.怎样看模型有多少单元、节点?答:pri info9.怎样输出模型的后处理图?答:File/Print type/Jpg file,然后选择File/Print,将保存格式选择为jpe文件10.怎样调用一个文件?答:File/call或者call命令10.如何施加面力?答:app nstress11.如何调整视图的大小、角度?答:综合使用x, y, z, m, Shift键,配合使用Ctrl+R,Ctrl+Z等快捷键12.如何进行边界约束?答:fix x ran(约束的是速度,在初始情况下约束等效于位移约束)13.如何知道每个单元的ID?答:用鼠标双击单元的表面,可以知道单元的ID和坐标14.如何进行切片?答:plo set plane ori (点坐标) norm (法向矢量) plo con sz plane (显示z方向应力的切片)15.如何保存计算结果?答:save +文件名.16.如何调用已保存的结果?答:rest +文件名;或者File / Restore17.如何暂停计算?答:Esc18.如何在程序中进行暂停,并可恢复计算?答:在命令中加入pause命令,用continue进行继续19.如何跳过某个计算步?答:在计算中按空格键跳过本次计算,自动进入下一步20. Fish是什么东西?21. Fish是否一定要学?答:可以不用,需要的时候查Mannual 获得需要的变量就可以了22.FLAC3D允许的命令文件格式有哪些?答:无所谓,只要是文本文件,什么后缀都可以23.如何调用一些可选模块?答:config dyn (fluid, creep, cppudm)24 .如何在圆柱体四周如何施加约束条件?答:可以用fix ... ran cylinder end1 end2 radius r1 cylinder end1 end2radius r2 not,其中r225.如何能把一个PLOT的图像数据导出来以便用其他软件绘图?答:用set log on命令,把数据导出来,转到excel里处理一下,然后用surfer或者什么作图软件绘制就行了。
FLAC3D 实例命令流1
第1部分命令流按照顺序进行2-1定义一个FISH函数newdef abcabc = 25 * 3 + 5Endprint abc2-2使用一个变量newdef abchh = 25abc = hh * 3 + 5EndPrint hhPrint abc2-3对变量和函数的理解newdef abchh = 25abc = hh * 3 + 5Endset abc=0 hh=0print hhprint abcprint hhnewdef abcabc = hh * 3 + 5endset hh=25print abcset abc=0 hh=0print hhprint abcprint hh2-4获取变量的历史记录newgen zone brick size 1 2 1model mohrprop shear=1e8 bulk=2e8 cohes=1e5 tens=1e10fix x y z range y -0.1 0.1apply yvel -1e-5 range y 1.9 2.1plot set rotation 0 0 45plot block groupdef get_adad1 = gp_near(0,2,0)ad2 = gp_near(1,2,0)ad3 = gp_near(0,2,1)ad4 = gp_near(1,2,1)endget_addef loadload=gp_yfunbal(ad1)+gp_yfunbal(ad2)+gp_yfunbal(ad3)+gp_yfunbal(ad4) endhist loadhist gp ydis 0,2,0step 1000plot his 1 vs -22-5用FISH函数计算体积模量和剪砌模量newdef derives_mod = y_mod / (2.0 * (1.0 + p_ratio))b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio))endset y_mod = 5e8 p_ratio = 0.25deriveprint b_modprint s_mod2-6 在FLAC输入中使用符号变量Newdef derives_mod = y_mod / (2.0 * (1.0 + p_ratio))b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio))endset y_mod = 5e8 p_ratio = 0.25derivegen zone brick size 2,2,2model elasticprop bulk=b_mod shear=s_modprint zone prop bulkprint zone prop shear2-7 控制循环Newdef xxxsum = 0prod = 1loop n (1,10)sum = sum + nprod = prod * nend_loopendxxxprint sum, prodnewgen zone brick p0 (0,0,0) p1 (-10,0,0) p2 (0,10,0) p3 (0,0,-10) model elasplot set rotation 0 0 45plot block groupdef installpnt = zone_headloop while pnt #nullz_depth = -z_zcen(pnt)y_mod = y_zero + cc * sqrt(z_depth)z_prop(pnt, ’shear’) = y_mod / (2.0*(1.0+p_ratio))z_prop(pnt, ’bulk’) = y_mod / (3.0*(1.0-2.0*p_ratio))pnt = zone_next(pnt)end_loopendset p_ratio=0.25 y_zero=1e7 cc=1e8install2-8 拆分命令行new ;example of a sum of many thingsdef long_sumtemp = v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 long_sum = temp + v11 + v12 + v13 + v14 + v15end2-9 变量类型newdef haveoneaa = 2bb = 3.4cc = ’Have a nice day’dd = aa * bbee = cc + ’, old chap’endhaveoneprint fish2-10 IF条件语句newdef abcif xx > 0 thenabc = 1000elseabc = -1000end_ifendset xx = 10print abcset xx = 0print abc2-11 索单元自动生成newgen zone brick size 10 3 5plot set rotation 0 0 45plot block groupdef place_cablesloop n (1,5)z_d = float(n) - 0.5commandsel cable beg 0.0,1.5,z_d end 7.0,1.5,z_d nseg 7 end_commandend_loopendplace_cablesplot grid sel geom rednewgen zone brick size 10 3 5plot set rotation 15 0 60plot block groupmod mohrprop bulk 1e8 shear .3e8 fric 35prop coh 1e3 tens 1e3ini dens 1000set grav 0,0,-10fix x y z range z -.1 .1fix y range y -.1 .1fix y range y 2.9 3.1fix x range x -.1 .1fix x range x 9.9 10.1set largehist unbalsolvesave cab_str.savini xdis 0 ydis 0 zdis 0hist gp xdisp 0,1,5def place_cablesloop n (1,5)z_d = 5.5 - float(n)z_t = z_d + 0.5z_b = z_d - 0.5commandfree x range x -.1,.1 z z_b z_tsolvesel cable beg 0.0,0.5,z_d end 7.0,0.5,z_d nseg 7sel cable beg 0.0,1.5,z_d end 7.0,1.5,z_d nseg 7sel cable beg 0.0,2.5,z_d end 7.0,2.5,z_d nseg 7sel cable prop emod 2e10 ytension 1e8 xcarea 1.0 &gr_k 2e10 gr_coh 1e10 gr_per 1.0end_commandend_loopendplace_cablessave cab_end.savplot sketch sel cable force red2-12圆形隧道开挖模拟计算;建立模型gen zon radcyl p0 0 0 0 p1 6 0 0 p2 0 1 0 p3 0 0 6 &size 4 2 8 4 dim 3 3 3 3 rat 1 1 1 1.2 group outsiderockgen zone cshell p0 0 0 0 p1 3 0 0 p2 0 1 0 p3 0 0 3 &size 1 2 8 4 dim 2.7 2.7 2.7 2.7 rat 1 1 1 1 group concretliner fill group insiderock gen zon reflect dip 90 dd 90 orig 0 0 0gen zon reflect dip 0 dd 0 ori 0 0 0gen zon brick p0 0 0 6 p1 6 0 6 p2 0 1 6 p3 0 0 13 size 4 2 6 group outsiderock1 gen zon brick p0 0 0 -12 p1 6 0 -12 p2 0 1 -12 p3 0 0 -6 size 4 2 5 group outsiderock2 gen zon brick p0 6 0 0 p1 21 0 0 p2 6 1 0 p3 6 0 6 size 10 2 4 group outsiderock3 gen zon reflect dip 0 dd 0 orig 0 0 0 range group outsiderock3gen zon brick p0 6 0 6 p1 21 0 6 p2 6 1 6 p3 6 0 13 size 10 2 6 group outsiderock4gen zon brick p0 6 0 -12 p1 21 0 -12 p2 6 1 -12 p3 6 0 -6 size 10 2 5 group outsiderock5 gen zon reflect dip 90 dd 90 orig 0 0 0 range x -0.1 6.1 z 6.1 13.1gen zon reflect dip 90 dd 90 orig 0 0 0 range x -0.1 6.1 z -6.1 -12.1gen zon reflect dip 90 dd 90 orig 0 0 0 range x 6.1 21.1 z -12.1 13.1;绘制模型图plot block groupplot add axes red;plot set rotation 0 0 45 用于显示三维模型;设置重力set gravity 0 0 -10;给定边界条件fix z range z -12.01,-11.99fix x range x -21.01,-20.99fix x range x 20.99,21.01fix y range y -0.01 0.01fix y range y 0.99,1.01;求解自重应力场model mohrini density 1800 ;围岩的密度prop bulk=1.47e8 shear=5.6e7 fric=20 coh=5.0e4 tension=1.0e4 ;体积、剪切、摩擦角、凝聚力、抗拉强度set mech ratio=1e-4solvesave Gravsol.savplot cont zdisp outl onplot cont szz;毛洞开挖计算initial xdisp=0 ydisp=0 zdisp=0model null range group insiderock any group concretliner anyplot block groupplot add axes redset mech ratio=5e-4solvesave Kaiwsol.savplot cont zdispplot cont sdispplot cont szzplot cont xzz;模筑衬砌计算model elas range group concretliner anyplot block groupplot add axes redini density 2500 range group concretliner any ;衬砌混凝土的密度prop bulk=16.67e9,shear=12.5e9 range group concretliner any ;衬砌混凝土的体积弹模、剪切弹模set mech ratio=1e-4solvesave zhihusol.savplot cont zdispplot cont sdispplot cont szzplot cont xzz;完成计算分析。
《FLAC3D基础与工程实例》全部命令流
《FLA C/FLA C 3D基础与工程实例》全部命令流1gen zone bri p0 0 0 0 p1 10 0 0 p2 0 10 0 p3 0 0 10 &p4 15 15 0 p5 0 15 15 p6 15 0 10 p7 20 20 20 &size 10 10 10 rat 1.0 0.9 1.1 groupbrick_1gen zone bri p0 20 0 0 p1 add 10 0 0 p2 add 0 20 0 p3 add 0 0 15 & size 10 10 10 rat 1.0 0.9 1.1 groupbrick_2gen zone bri p0 40 0 0 edge 10 size 10 10 10 rat 1.0 0.9 1.1 groupbrick_3 plot surnewgen zon bri size 3 3 3modelelasprop bulk 3e8 shear1e8ini dens 2000fix z ran z -.1 .1fix x ran x -.1 .1fix x ran x 2.9 3.1fix y ran y -.1 .1fix y ran y 2.9 3.1set grav 0 0 -10solveapp nstres s -10e4 ran z 3 x 1 2 y 1 2 hist gp vel 0 0 3hist gp vel 0 3 3plo hist 1 redplo add hist 2 bluesolve;-------------------------------------工程信息;Projec t Record Tree export;Title:Simple test;---------------------------------计算第一步;... STATE: STATE1 ....configgrid 10,10modelelasti cgroup'User:Soil' notnul lmodelelasti c notnul l group'User:Soil'prop densit y=1500.0 bulk=3E6 shear=1E6 notnul l group'User:Soil' fix x y j 1fix x i 1fix x i 11set gravit y=9.81histor y 999 unbala ncedsolvesave state1.sav;----------------------------------计算第二步;... STATE: STATE2 ....initia l xdisp0 ydisp0initia l xvel 0 yvel 0modelnull i 4 7 j 8 10group'null' i 4 7 j 8 10groupdelete 'null'histor y 1 xdispi=4, j=11solvesave state2.sav;--------------------------------绘图命令;*** plot comman ds ****;plot name: syyplot hold grid syy fill;plot name: Unbala ncedforceplot hold histor y 999;plot name: gridplot hold grid magnif y 20.0 lred grid displa cemen t;plot name: Xdis-Aplot hold histor y 1 linenew; ===============================; 定义球体半径和半径方向上单元网格数; ===============================def parmrad=10.0rad_si ze=5endparm; ===============================; 建立八分之一球体外接立方体网格; ===============================gen zone pyrami d p0 rad 0 0 p1 rad 0 rad p2 rad rad 0 p3 0 0 0 & p4 rad rad rad size rad_si ze rad_si ze rad_si ze group1gen zone pyrami d p0 0 rad 0 p1 rad rad 0 p2 0 rad rad p3 0 0 0 & p4 rad rad rad size rad_si ze rad_si ze rad_si ze group2gen zone pyrami d p0 0 0 rad p1 0 rad rad p2 rad 0 rad p3 0 0 0 & p4 rad rad rad size rad_si ze rad_si ze rad_si ze group3; ==================================; 利用FISH语言将内部立方体节点调整到球面; ==================================def make_s pherep_gp=gp_hea dloop whilep_gp#null; 获取节点点坐标值:P=(px,py,pz)px=gp_xpo s(p_gp)py=gp_ypo s(p_gp)pz=gp_zpo s(p_gp)dist=sqrt(px*px+py*py+pz*pz)if dist>0 then; 节点位置调整maxp=max(px,max(py,pz))k=(maxp/rad)*(rad/dist)gp_xpo s(p_gp)=k*pxgp_ypo s(p_gp)=k*pygp_zpo s(p_gp)=k*pzend_ifp_gp=gp_nex t(p_gp)end_lo opendmake_s phere; ===============================; 利用镜像生成完整球体网格; =============================== gen zone refgen zone ref dip 90gen zone ref dip 90 dd 90; =============================== ; 显示球体网格; =============================== plot surfpl set back whpl bl grngen zon bri size 1 1 2 groupsoil ran z 1 1 grouprock ran z 0 1 expgri d 1.flac3dgen zon bri size 3 3 3modelmohrprop bu 3e6 sh 1e6 coh 10e3 fric 15 fix z ran z -.1 .1fix x ran x -.1 .1fix x ran x 2.9 3.1fix y ran y -.1 .1fix y ran y 2.9 3.1ini dens 2000hist unbalset grav 10solveelasti csave 6-1.savrest 6-1.savini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0app nstres s -100e3ran z 2.9 3.1 x 1 2 y 1 2 solvesave 6-2.savrest 6-1.savini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0app nstres s -100e3ran z 2.9 3.1 x 1 2 y 1 2 hist id=2 gp zdis 1 1 3hist id=3 gp zdis 1 1 2hist id=4 gp xdis 1 1 3hist id=5 gp xdis 1 1 3hist id=6 zone szz 1 1 3hist id=7 zone szz 1.5 1.5 2.5hist id=8 zone sxz 1.5 1.5 2.5solvesave 6-3.savrest 6-3.savset log onset logfil e 6-2.log printzone stress printgp disset log offrest 6-1.savini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0app nstres s -100e3ran z 2.9 3.1 x 1 2 y 1 2 plot set rot 20 0 30plot con szz ou on magf 10plot add hist 1set movieavi step 1 file 6-5.avimoviestartsolvemoviefinishngen zon bri size 1 1 2 modelelasprop bulk 3e7 shear1e7 fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000set grav 0 0 -10solveplo con szngen zon bri size 1 1 2modelmohrprop bulk 3e7 shear1e7 c 1e10 f 15 tensio n 1e10 fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000set grav 0 0 -10solveprop bulk 3e7 shear1e7 c 10e3 f 15 ten 0solveplo con szngen zone bricksize 1 1 2modelmohrprop bulk 3e7 shear1e7 coh 10e3 fri 15 ten 0 fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000set grav 0 0 -10solveelasplo con sznewgen zone bricksize 1 1 2modelmohrprop bulk 3e7 shear1e7 coh 10e3 fri 15 ten 0 fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000ini szz -40e3 grad 0 0 20e3 ran z 0 2ini syy -20e3 grad 0 0 10e3 ran z 0 2ini sxx -20e3 grad 0 0 10e3 ran z 0 2set grav 0 0 -10solveplo con szngen zon bri size 1 1 2modelmprop bulk 3e7 shear1e7 c 10e10f 15 ten 1e10 fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000 ran z 0 1ini dens 1500 ran z 1 2ini szz -35e3 grad 0 0 20e3 ran z 0 1ini syy -17.5e3 grad 0 0 10e3 ran z 0 1ini sxx -17.5e3 grad 0 0 10e3 ran z 0 1ini szz -15e3 grad 0 0 15e3 ran z 1 2ini syy -7.5e3 grad 0 0 7.5e3 ran z 1 2ini sxx -7.5e3 grad 0 0 7.5e3 ran z 1 2ini pp 10e3 grad 0 0 -10e3 ran z 0 1set grav 0 0 -10solveplo con szngen zon bri size 1 1 2modelmprop bulk 3e7 shear1e7 c 10e10f 15 ten 1e10 fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000 ran z 0 2ini szz -50e3 grad 0 0 20e3 ran z 0 1ini syy -30e3 grad 0 0 10e3 ran z 0 1ini sxx -30e3 grad 0 0 10e3 ran z 0 1ini pp 30e3 grad 0 0 -10e3 ran z 0 2app nstres s -10e3 ran z 2set grav 0 0 -10solveplo con sznewgen zone brickp0 0 0 0 p1 60 0 0 p2 0 60 0 p3 0 0 90 & p4 60 60 0 p5 0 60 90 p6 60 0 150 p7 60 60 150 & size 6 6 10modelelaspro bulk 10e10she 10e10ini den 2500applysxx -1e9 grad 0 0 1.1111111e7 rangex -.1 .1 applysxx -1e9 grad 0 0 6.6666666e6 rangex 59.9 60.1 applysyy -1e9 grad 0 0 8.3333333e6 rangey -.1 .1 applysyy -1e9 grad 0 0 8.3333333e6 rangey 59.9 60.1 applyszz -1e8 grad 0 0 8.3333333e5 ran z 0 120set grav 0 0 -10step 30000ini xdisp0 ydisp0 zdisp0ini xvel 0 yvel 0 zvel 0plo cont szznewgen zone brickp0 0 0 0 p1 60 0 0 p2 0 60 0 p3 0 0 90 & p4 60 60 0 p5 0 60 90 p6 60 0 150 p7 60 60 150 & size 6 6 10modelelaspro bulk 10e10she 10e10ini den 2500ini sxx -1e9 grad 0 0 1.1111111e7 rangex -.1 .1ini sxx -1e9 grad 0 0 6.6666666e6 rangex 59.9 60.1ini syy -1e9 grad 0 0 8.3333333e6 rangey -.1 .1ini syy -1e9 grad 0 0 8.3333333e6 rangey 59.9 60.1ini szz -1e8 ran z -.1 .1fix x y z ran z -.1 .1set grav 0 0 -10solveini xdisp0 ydisp0 zdisp0ini xvel 0 yvel 0 zvel 0plo cont szznewgen zone brickp0 0 0 -50 p1 27.5 0 -50 p2 0 5 -50 p3 0 0 -10 size 8 1 10 groupclaygen zone brickp0 27.5 0 -50 p1 100 0 -50 p2 27.5 5 -50 p3 27.5 0 -10 ratio1.1 1 1 size 12 1 10 groupclaygen zone brickp0 0 0 -10 p1 27.5 0 -10 p2 0 5 -10 p3 0 0 0 ratio1 1 0.8 size 8 1 4 groupsoilgen zone brickp0 27.5 0 -10 p1 100 0 -10 p2 27.5 5 -10 p3 27.5 0 0 ratio1.1 1 0.8 size 12 1 4 groupsoilgen zone brickp0 0 0 0 p1 27.5 0 0 p2 0 5 0 p3 0 0 5 p4 27.5 5 0 &p5 0 5 5 p6 20 0 5 p7 20 5 5 size 8 1 5 groupdamfix x y z ran z -49.9 -50.1fix x ran x -.1 .1fix x ran x 99.9 100.1fix ymodelmohr ran z -50 0modelnull ran z 0 5prop bulk 7.8e6 shear3.0e6 coh 10e10tensio n 1e10 ran groupsoilini dens 1500 ran groupsoilprop bulk 3.91e6 shear1.5e6 coh 10e10tensio n 1e10 ran groupclayini dens 1800 ran groupclayset grav 0 0 -9.8hist id=1 unbalsolveprop bulk 7.8e6 shear3.0e6 coh 10e3 fric 15 ran groupsoilprop bulk 3.91e6 shear1.5e6 coh 20e3 fric 20 ran groupclaysolvesave elasti c.savini xdis 0 ydis 0 zdis 0 ;将节点位移清零ini xvel 0 yvel 0 zvel 0 ;将节点速度清零hist id=2 gp zdis 0 0 0 ;记录地基顶部中心点的沉降hist id=3 gp zdis 27.5 0 0 ;记录路基坡脚处的沉降hist id=4 gp xdis 27.5 0 0 ;记录路基坡脚处的水平位移model elasti c ran z 0 1 ; ;激活0 m ~ 1 m的单元prop bulk 7.8e6 shear3.0e6 ran z 0 1ini dens 1500 ran z 0 1solve;按软件默认精度求解save fill-1.savmodelelasti c ran z 1 2prop bulk 7.8e6 shear3.0e6 ran z 1 2ini dens 1500 ran z 1 2solvesave fill-2.savmodelelasti c ran z 2 3prop bulk 7.8e6 shear3.0e6 ran z 2 3ini dens 1500 ran z 2 3solvesave fill-3.savmodelelasti c ran z 3 4prop bulk 7.8e6 shear3.0e6 ran z 3 4ini dens 1500 ran z 3 4solvesave fill-4.savmodelelasti c ran z 4 5prop bulk 7.8e6 shear3.0e6 ran z 4 5ini dens 1500 ran z 4 5solvesave fill-5.savpau;plo bl gr;gen zone brickp0 0 0 0 p1 100 0 0 p2 0 5 0 p3 0 0 5 sizegen zone brickp0 0 0 -50 p1 27.5 0 -50 p2 0 5 -50 p3 0 0 -10 size 8 1 10 groupclay gen zone brickp0 27.5 0 -50 p1 100 0 -50 p2 27.5 5 -50 p3 27.5 0 -10 ratio1.1 1 1 size 12 1 10 groupclaygen zone brickp0 0 0 -10 p1 27.5 0 -10 p2 0 5 -10 p3 0 0 0 ratio1 1 0.8 size 8 1 4 groupsoilgen zone brickp0 27.5 0 -10 p1 100 0 -10 p2 27.5 5 -10 p3 27.5 0 0 ratio1.1 1 0.8 size 12 1 4 groupsoilgen zone brickp0 0 0 0 p1 27.5 0 0 p2 0 5 0 p3 0 0 5 p4 27.5 5 0 &p5 0 5 5 p6 20 0 5 p7 20 5 5 size 8 1 5 groupdamset log on ;打开log记录set logfil e 1.log ;设置记录文件名为:1.logrestore fill-1.sav ;调用保存的文件printgp dis rangei d 517 any id 533 any ;输出两个节点的变形值restor e fill-2.savprintgp dis rangeid 517 any id 533 anyrestor e fill-3.savprintgp dis rangeid 517 any id 533 anyrestor e fill-4.savprintgp dis rangeid 517 any id 533 anyrestor e fill-5.savprintgp dis rangeid 517 any id 533 anyset log off ;关闭log记录def abcabc = 1 + 2 * 3 abcd = 1.0 / 2.0 endabcprintfishdef abcif aa < 0 thenabc = 0.0 elseabc = 2.0 * aa endifendabcdef abcloop aa (1, 2.5) comman dprintaaendcom mand endloo pendnewgen zon bri size 3 3 3modelelasti cprop bu 3e7 sh 1e7ini dens 2000fix x y z ran z -.1 .1fix x ran x -.1 .1fix x ran x 2.9 3.1fix y ran y -.1 .1fix y ran y 2.9 3.1set grav 10solveini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0save 8-4.sav8-5rest 8-4.savdef E_modi fyp_z = zone_h eadd_k = 704d_n = 0.38d_pa = 101325.0 ;//标准大气压loop whilep_z # nullsigma_3 = -1.0 * z_sig1(p_z)E_new= d_k * d_pa * (sigma_3 / d_pa) ^ d_n z_prop(p_z,'young') = E_newp_z = z_next(p_z)endloo pendE_modi fy8-6rest 8-5.savtable1 name load_s ettle mentdef add_lo adp_gp = gp_nea r(2,1,3)loop n (1,5)app_lo ad = n * (-1000e3)file_n ame = '7-6_add_step' + string(n) + '.sav' comman dapp nstres s app_lo ad ran z 2.9 3.1 x 1 2 y 1 2 s olves ave file_n ameendcom mandxtable(1,n) = -1.0 * app_lo adytable(1,n) = gp_zdi sp(p_gp)endloo pendadd_lo adsave 8-6.sav8-7rest 8-6.savdef find_m ax_di spp_gp = gp_hea dmaxdis p_val ue = 0.0maxdis p_gpi d = 0loop whilep_gp # nulldisp_g p = sqrt(gp_xdi sp(p_gp) ^ 2 + gp_ydi sp(p_gp) ^ 2 + gp_zdi sp(p_gp) ^ 2) if disp_g p > maxdis p_val uemaxdis p_val ue = disp_g pmaxdis p_gpi d = gp_id(p_gp)endifp_gp = gp_nex t(p_gp)endloo pendfind_m ax_di spprintmaxdis p_val ue maxdis p_gpi drest 8-6.savconfig zextra 1def get_si gma_d ifp_z = zone_h eadloop whilep_z # nullsigma_dif = z_sig3(p_z) - z_sig1(p_z)z_extr a(p_z,1) = sigma_difp_z = z_next(p_z)endloo pendget_si gma_d ifplot con zextra 1;---------------------------------------------------;; 移来移去法接触面的建立;---------------------------------------------------ngen zone radcyl p0 (0,0,0) p1 (8,0,0) p2 (0,0,-5) p3 (0,8,0) &p4 (8,0,-5) p5 (0,8,-5) p6 (8,8,0) p7 (8,8,-5) &p8 (.3,0,0) p9 (0,.3,0) p10 (.3,0,-5) p11 (0,.3,-5) & size 3 10 6 15 ratio1 1 1 1.15gen zone radcyl p0 (0,0,-5) p1 (8,0,-5) p2 (0,0,-8) p3 (0,8,-5) &p4 (8,0,-8) p5 (0,8,-8) p6 (8,8,-5) p7 (8,8,-8) &p8 (.3,0,-5) p9 (0,.3,-5) p10 (.3,0,-8) p11 (0,.3,-8) & size 3 6 6 15 ratio1 1 1 1.15 fillgen zone reflec t dd 270 dip 90groupclay;interf ace 1 face rangecylind er end1 (0,0,0) end2 (0,0,-5.1) radius .31 &cylind er end1 (0,0,0) end2 (0,0,-5.1) radius .29 notinterf ace 2 face rangecylind er end1 (0,0,-4.9) end2 (0,0,-5.1) radius .31;pausegen zone cyl p0 (0,0,6) p1 (.3,0,6) p2 (0,0,1) p3 (0,.3,6) &p4 (.3,0,1) p5 (0,.3,1) &size 3 10 6gen zone cyl p0 (0,0,6.1) p1 (.3,0,6.1) p2 (0,0,6) p3 (0,.3,6.1) &p4 (.3,0,6) p5 (0,.3,6) &size 3 1 6gen zone reflec t dd 270 dip 90 rangez 1 6.1grouppile rangez 1 6.1pauseini z add -6.0 rangegrouppilesave pile_g eom.sav;导来导去法;---------------------------------------------ngen zone bricksize 3 3 3group2 rangex 1 2 y 1 2 z 1 2group1 rangegr 2 notsave 1.savdel ran group2 notinterf ace 1 face rangex 1 y 1 2 z 1 2interf ace 1 face rangex 2 y 1 2 z 1 2interf ace 1 face rangex 1 2 y 1 z 1 2interf ace 1 face rangex 1 2 y 1 2 z 1interf ace 1 face rangex 1 2 y 1 2 z 2rest 1.savdel ran group2expgri d 1.fac3dimpgri d 1.flac3dmodelelafix x y z ran z 0ini den 2000set grav 0 0 -10interf ace 1 prop kn 20e6 ks 20e6 coh 10e3 fri 15 app nstr -200e3ran x 0 1 y 1 2 z 3solve;切割模型法;------------------------------ngen zone bricksize 3 3 3 group1 rangex 1 2 y 1 2 z 2 3 group2 rangegroup1 not gen separa te 1int 1 wrap 1 2int 1 maxedg e 0.5plo int red9-4; Create Materi al Zonesgen zone bricksize 5 5 5 &p0 (0,0,0) p1 (3,0,0) p2 (0,3,0) p3 (0,0,5) &p4 (3,3,0) p5 (0,5,5) p6 (5,0,5) p7 (5,5,5)gen zone bricksize 5 5 5 p0 (0,0,5) edge 5.0groupMateri al; Create Bin Zonesgen zone bricksize 1 5 5 &p0 (3,0,0) p1 add (3,0,0) p2 add (0,3,0) &p3 add (2,0,5) p4 add (3,6,0) p5 add (2,5,5) &p6 add (3,0,5) p7 add (3,6,5)gen zone bricksize 1 5 5 &p0 (5,0,5) p1 add (1,0,0) p2 add (0,5,0) &p3 add (0,0,5) p4 add (1,6,0) p5 add (0,5,5) &p6 add (1,0,5) p7 add (1,6,5)gen zone bricksize 5 1 5 &p0 (0,3,0) p1 add (3,0,0) p2 add (0,3,0) &p3 add (0,2,5) p4 add (6,3,0) p5 add (0,3,5) &p6 add (5,2,5) p7 add (6,3,5)gen zone bricksize 5 1 5 &p0 (0,5,5) p1 add (5,0,0) p2 add (0,1,0) &p3 add (0,0,5) p4 add (6,1,0) p5 add (0,1,5) &p6 add (5,0,5) p7 add (6,1,5)groupBin rangegroupMateri al not; Create namedrangesynony msrangename=Bin groupBinrangename=Materi al groupMateri al; Assign models to groupsmodelmohr rangeMateri almodelelas rangeBingen separa te Materi alinterf ace 1 wrap Materi al Bin rangeplaneori 0 0 0 normal 1 -1 0 aboveinterf ace 2 wrap Materi al Bin rangeplaneori 0 0 0 normal 1 -1 0 belowint 1 maxedg e 0.55int 2 maxedg e 0.55; Assign proper tiesprop shear1e8 bulk 2e8 fric 30 rangeMateri alprop shear1e8 bulk 2e8 r angeBinini den 2000int 1 prop ks 2e9 kn 2e9 fric 15int 2 prop ks 2e9 kn 2e9 fric 15; Assign Bounda ry Condit ionsfix x rangex -0.1 0.1 any x 5.9 6.1 any fix y rangey -0.1 0.1 any y 5.9 6.1 any fix z rangez -0.1 0.1 Bin; Monito r histor ieshist unbalhist gp zdisp(6,6,10)hist gp zdisp(0,0,10)hist gp zdisp(0,0,0); Settin gsset largeset grav 0,0,-10; Cyclin gstep 4000save bin.sav9-5;;------------------------------------------------------------------;rest pile_g eom.savgroupclaymodelmohr rangeprop bulk 8.333e7 shear3.846e7 coh 30000fric 0 rangegroupclay modelelas rangegrouppileprop bulk 8.333e7 shear3.846e7 rangegrouppileinterf ace 1 prop kn 1e8 ks 1e8 fric 20 coh 30000interf ace 2 prop kn 1e8 ks 1e8 fric 20 coh 30000;ini dens 1230 rangegroupclayini dens 1230 rangegrouppilemodelnull rangez -0.1 0.15;fix z rangez -8.1 -7.9fix x rangex -8.1 -7.9fix x rangex 7.9 8.1fix y rangey -.1 .1fix y rangey 7.9 8.1set grav 0 0 -10ini szz 0. grad 0 0 12300. rangez -5.5 0.ini szz 17600grad 0 0 15500rangez -8 -5.5ini sxx 0. grad 0 0 5271.4 rangez -5.5 0.ini sxx 7542.86 grad 0 0 6642.86 rangez -8 -5.5ini sxx add 31428.6 grad 0 0 5714.3 rangez -8 -5.5ini syy 0. grad 0 0 5271.4 rangez -5.5 0.ini syy 7542.86 grad 0 0 6642.86 rangez -8 -5.5ini syy add 31428.6 grad 0 0 5714.3 rangez -8 -5.5;waterdensit y 1000watertableorigin 0,0,-5.5 normal 0 0 -1ini dens 1550 rangez -8 -5.5hist unbal;solverat 1.e-6save pile0.sav;modelelas rangegrouppileprop bulk 13.9e9 shear10.4e9 rangegrouppileini dens 2500 rangegrouppilecall find_a dd.fissolverat 1.e-6save pile1.savrest pile1.sav ;调用保存文件ini state0ini xdis 0.0 ydis 0.0 zdis 0.0 ;位移清零applyszz -0.4e6 rangez 0.05 0.15 grouppile ;桩顶加第一级荷载solvesave app0.4.savprintgp disp rangei d 1 ;输出第一级荷载下的桩顶位移,假定桩顶中心的i d号为1 applyszz -0.6e6 rangez 0.05 0.15 grouppile ;桩顶加第二级荷载solvesave app0.6.savprintgp disp rangei d 1 ;输出第二级荷载下的桩顶位移…………………………………………;依次加载,直到桩破坏;--------------------------------------------------------------------;速度加载法rest pile1.savini state0ini xdis 0 ydis 0 zdis 0def zs_top;检测桩顶竖向荷载ad = top_he adzftot= 0.0loop whilead # nullgp_pnt = mem(ad+1)zf = gp_zfu nbal(gp_pnt)zftot= zftot+ zfad = mem(ad)endloo pzs_top = zftot/ 0.1414endfix z rangez 0.05 .15 grouppile ;固定桩顶速度,用速度来确定位移def rampwhile_stepp ingif step < ncut thenudapp= float(step) * udmax/ float(ncut)elseudapp= udmaxendifad = top_he adloop whilead # nullgp_pnt = mem(ad+1)gp_zve l(gp_pnt) = udappad = mem(ad)endloo pendhist gp zdis 0,0,0hist gp zvel 0,0,0hist zs_tophist zone szz 0,0,-.1set mech damp combset udmax= -1e-8 ncut 30000step 225000save pile2.sav;;------------------------------------------------------------------------;位移控制法def solve_stepsloop n (1,21)save_f ile = string(n) + '-step.sav'comman ds tep 40000s ave save_f ilepri zone stress ran id 2381 a id 2361 a id 2341 a ;输出桩顶网格单元的应力 endcom mandendloo pendsolve_steps;-----------------------------------------------------------------------------sel beam beg 0 0 0 end 2 0 0 nseg 2sel beam beg 2 0 0 end 4 0 -1 nseg 3sel beam id=2 beg 4 0 -1 end 5 0 -2 nseg 2 plot sel geo id on nod on scale0.04plot ad axsel node id=1 0 0 0sel node id=2 2 0 0sel node id=3 4 0 -1sel node id=4 5 0 -2sel beamse l id=1 cid=1 node 1 2 sel beamse l id=1 cid=2 node 2 3 sel beamse l id=1 cid=3 node 3 4 plot sel geo id on nod on scale0.04 plot ad axdef set_va lsptA = 25.0 * sin( 40.0*degrad )ptB = 25.0 * cos( 40.0*degrad )endset_va lsgen zone cylind er p0=( 0.0, 0.0, 0.0 ) &p1=( ptA, 0.0, ptB ) &p2=( 0.0, 25.0, 0.0 ) &p3=( 0.0, 0.0, 25.0 ) &p4=( ptA, 25.0, ptB ) &p5=( 0.0, 25.0, 25.0 ) &size=(1, 2, 2)sel shellid=5 rangecylind er end1=(0.0, 0.0,0.0) &e nd2=(0.0,25.0,0.0) radius=24.5 not plot blo groplot ad sel geom blackblackcid on scale=0.03plot ad axpaudelete ; delete all zonessel node init zpos add -25.0newgen zone bricksize 6 8 8modelmohrprop bulk 1e8 shear0.3e8 fric 35prop coh 1e10 tens 1e10set grav 0 0 -9.81ini dens 1000fix x rangex -0.1 0.1fix x rangex 5.9 6.1fix y rangey -0.1 0.1fix y rangey 7.9 8.1fix z rangez -0.1 0.1hist n 5hist unbalset mech force50solvesave beam-brace0.sav;prop coh 1e3 tens 1e3modelnull rangex 2 4 y 2 6 z 5 10set largeini xdis 0 ydis 0 zdis 0sel beam begin=( 2, 4, 8) end=( 4, 4, 8) nseg=2sel beam prop emod=2.0e11 nu=0.30sel beam prop XCArea=6e-3 XCIz=200e-6 XCIy=200e-6 XCJ=0.0 hist gp zdisp4 4 8solvesave beam-brace1.sav;plot create GravVplot set planedip 90 dd 0 origin 3 4 0plot set rot 15 0 20plot set center 2.5 4.2 4.0plot set cap size 25plot add cont disp planebehind shadeonplot add sel beam forcefxplot add sel geom blackblacknode=off shrink fac=0.0plot add axesplot show;非全长锚固、预紧力锚杆(锚索)模拟;方法1、通过删除-建立link链接来模拟托盘gen zone radtun p0 0,0,0 p1 25,0,0 p2 0,50, 0 p3 0,0,25 size 4 25 4 10 dim 4 4 4 4 ratio1 1 1 1.1 fillgen zone reflec t normal 1 0 0 ori 0 0 0gen zone reflec t normal0 0 1 ori 0 0 0mo mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5ini dens 2000fix x rangex -25.1,-24.9fix x rangex 24.9 25.1fix y rangey 49.9 50.1fix z rangez -25.1 -24.9fix z rangez 24.9 25.1sel cableid=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10sel cableid=1 beg 0,29,0 end 0,35,0 nseg 6sel cableid=1 prop emod 2e10 ytensi on 310e3xcarea 0.0004906 &gr_coh 1 gr_k 1 gr_per 0.0785 rangecid 1,10sel cableid=1 prop emod 2e10 ytensi on 310e3xcarea 0.0004906 &gr_coh 10e5 gr_k 2e7 rangecid 11,17sel delete link rangeid 1sel link id=100 1 target zonesel link attach xdir=rigidydir=rigidzdir=rigidxrdir=rigidyrdir=rigidzrdir=rigidrangeid 100sel cableid=1 preten sion60e3 rangecid 1,10step 2000sav 10-5.sav;非全长锚固、预紧力锚杆(锚索)模拟;方法2、通过设置极大锚固剂参数模拟托盘gen zone radtun p0 0,0,0 p1 25,0,0 p2 0,50, 0 p3 0,0,25 size 4 25 4 10 dim 4 4 4 4 ratio1 1 1 1.1 fillgen zone reflec t normal 1 0 0 ori 0 0 0gen zone reflec t normal0 0 1 ori 0 0 0mo mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5ini dens 2000fix x rangex -25.1,-24.9fix x rangex 24.9 25.1fix y rangey 49.9 50.1fix z rangez -25.1 -24.9fix z rangez 24.9 25.1sel cableid=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10sel cableid=1 beg 0,29,0 end 0,35,0 nseg 6sel cable prop emod 2e10 ytensi on 310e3xcarea 0.0004906 &gr_coh 1 gr_k 1 gr_per 0.0785 rangecid 2,10sel cable prop emod 2e10 ytensi on 310e3xcarea 0.0004906 &gr_coh 10e5 gr_k 2e7 rangecid 11,17sel cable prop emod 2e10 ytensi on 310e3xcarea 0.0004906 &gr_coh 10e8 gr_k 2e10 rangecid 1,1sel cableid=1 preten sion60e3 rangecid 1,10step 2000sav 10-6.sav;非全长锚固、预紧力锚杆(锚索)模拟;方法3、借助别的结构单元(如liner单元)来模拟托盘gen zone radtun p0 0,0,0 p1 25,0,0 p2 0,50, 0 p3 0,0,25 size 4 25 4 10 dim 4 4 4 4 ratio1 1 1 1.1 fillgen zone reflec t normal 1 0 0 ori 0 0 0gen zone reflec t normal0 0 1 ori 0 0 0mo mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5ini dens 2000fix x rangex -25.1,-24.9fix x rangex 24.9 25.1fix y rangey 49.9 50.1fix z rangez -25.1 -24.9fix z rangez 24.9 25.1sel cableid=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10sel cableid=1 beg 0,29,0 end 0,35,0 nseg 6sel cableid=1 prop emod 2e10 ytensi on 310e3xcarea 0.0004906 &gr_coh 1 gr_k 1 gr_per 0.0785 rangecid 1,10sel cableid=1 prop emod 2e10 ytensi on 310e3xcarea 0.0004906 &gr_coh 10e5 gr_k 2e7 rangecid 11,17sel linerrangey=-.1, .1 x=-1,1 z=-1,1sel linerPROP iso=( 25e9, 0.15) thick=0.1 ; concre tesel linerPROP cs_nk=8e8 cs_sk=8e8 &cs_ncu t=0.0 cs_sco h=0.0 cs_sco hres=0.0 cs_sfr ic=0.0sel delete link rangeid 1sel link id=100 1 target node tgt_nu m 18sel link attach xdir=rigidydir=rigidzdir=rigidxrdir=rigidyrdir=rigidzrdir=rigidrangeid 100sel cableid=1 preten sion60e3 rangecid 1,10step 2000sav 10-7.savntitleStruct ure_d ynami c_ana lysis_lake waterconfig dynsel pile id=1 beg 0 0 0 end 0 0 1sel pile prop dens 2400 &Emod 1.0e10 Nu 0.3 XCArea 0.3 &XCJ 0.16375XCIy 0.00625XCIz 0.01575&Per 2.8 &CS_sK1.3e11 CS_sCo h 0.0 CS_sFr ic 10.0 &CS_nK1.3e11 CS_nCo h 0.0 CS_nFr ic 0.0 CS_nGa p offdef f1whiles teppi ngf0=10000*sin(10*dytime)np = nd_hea dloop whilenp # nullif nd_pos(np,1,3)=1nd_app ly(np,1)=f0endifnp = nd_nex t(np)endloo pendsel node fix x y z xr yr zr ran id=1sel set damp combin edplo cre pileplo curren t pileplo set back blackfore whitemag 0.8plo add sel geo id on sca .04 magf 1e3plo add sel fapp lgreen magf 1e3plo add sel pile mom my lbluelred magf 1e3 axe yelset movieavi step 100 file pile.avimoviestartsol age 1moviefinishnewconf dyn ;打开动力计算功能gen zone bricksize 10 5 10mod elasmod null rangex=0,5 z=5,10 ;删除部分网格fix z rangex=-.1 .1 z=.1 10.1 ;设置静力边界条件fix z rangex=9.9,10.1 z=.1 10.1fix y rangey=-.1 .1fix y rangey=4.9 5.1prop bulk 2e8 shear 1e8 ;设置土体参数prop bulk 4e9 shear 2e9 rangex=5,6 z=5,10 ;设置墙体参数(土体参数的20倍)ini dens 2000 ;设置密度def setup;动荷载中的变量赋值freq = 1.0omega= 2.0 * pi * freqold_ti me = clockendsetup;执行变量赋值def wave ;定义动荷载函数wave = sin(omega* dytime) ;定义动荷载变量endapplyxvel = 1 hist wave rangez=-.1 .1 ;施加动荷载applyzvel = 0 r angez=-.1 .1hist gp xvel 5,2,0hist gp xvel 5,2,10hist gp zvel 5,2,10hist dytimedef tim ;估算程序运行的时间tim = 0.01 * (clock- old_ti me)endset dyn multi on ;设置动态多步solveage 1.0print tim ;输出计算时间printdyn ;输出动力计算相关信息save mult1.savnewconfig dyngen zone bricksize 1,1,50modelelasprop shear1e7 bulk 2e7ini dens 1000def setupomega= 2.0 * pi * freqpulse= 1.0 / freqendset freq=4.0setupdef waveif dytime > pulsewave = 0.0elsewave = 0.5 * (1.0 - cos(omega* dytime))endifendrangename bottom z=-.1 .1fix z rangez=.5 55 ;将上部网格都施加数值向约束applydquiet squiet rangebottomapplysxz -2e5 hist wave syz 0.0 szz 0.0 rangebottom;-2e5的系数来源于的值applynvel 0 planenorm 0,0,1 rangebottomhist gp xvel 0,0,0hist gp xvel 0,0,25hist gp xvel 0,0,50hist dytimehist waveplot create hhhplot add hist 1 2 3 vs 4plot showsolveage 2。
FLACFLAC3D基础与工程实例_记录
《FLACFLAC3D基础与工程实例》阅读札记目录一、FLACFLAC3D软件概述 (2)1. 软件背景与简介 (3)1.1 FLACFLAC3D的发展历程 (4)1.2 软件的应用领域及特点 (5)2. 软件安装与运行环境 (6)2.1 系统要求 (7)2.2 安装步骤 (8)2.3 运行环境配置 (10)二、FLACFLAC3D基础知识 (11)1. 基本概念与术语 (13)1.1 有限元分析原理 (14)1.2 离散元法简介 (14)1.3 FLACFLAC3D中的相关术语解释 (15)2. 软件操作界面及功能模块 (17)2.1 操作界面介绍 (18)2.2 主要功能模块说明 (20)2.3 菜单功能详解 (20)三、工程实例分析 (22)1. 地质工程实例 (23)1.1 工程背景及问题定义 (25)1.2 模型建立与参数设置 (26)1.3 结果分析与讨论 (27)2. 土木工程实例 (29)2.1 工程概况与建模目的 (30)2.2 建模过程及计算步骤 (31)2.3 结果展示与工程应用 (32)四、FLACFLAC3D应用技巧与注意事项 (33)1. 建模技巧与优化方法 (34)1.1 建模策略及优化思路 (35)1.2 网格划分与模型简化技巧 (36)1.3 参数设置与模型验证方法 (38)2. 数据分析与处理方法 (40)2.1 数据采集与整理方法 (41)2.2 结果分析与图表展示技巧 (42)一、FLACFLAC3D软件概述3D是一种广泛使用的岩土力学与有限元分析软件。
它是一套专门用来分析连续介质中的物理力学现象的强大工具,主要应用于土木、矿山、隧道等领域,能针对各种复杂的工程问题进行数值建模和模拟分析。
3D以其高效、灵活的数值分析能力,为工程师提供了强大的技术支持。
其主要特点包括:多功能:3D能够模拟多种物理过程,包括应力分析、稳定性分析、流体流动分析等,适用于多种工程场景。
flac3d入门指南
设置初始应力的弹塑性求解:
gen zon bri size 1 1 2 model mohr prop bulk 3e7 shear 1e7 c 10e3 f 15 ten 0 fix z ran z 0 fix x ran x 0 fix x ran x 1 fix y ran y 0 fix y ran y 1 ini dens 2000 ini szz -40e3 grad 0 0 20e3 ran z 0 2 ini syy -20e3 grad 0 0 10e3 ran z 0 2 ini sxx -20e3 grad 0 0 10e3 ran z 0 2 set grav 0 0 -10 solve
4、边界条件及初始条件
在FLAC3D中,包含多种边界条件,边界方位 可以任意变化,边界条件可以是速度边界、应力边 界,单元内部可以给定初始应力,节点可以给定初 始位移、速度等,还可以给定地下水位以计算有效 应力等。这众多的边界条件主要通过apply或fix命 令来进行设置。而初始条件则主要通过initial命令 来执行,对所提的这两个命令必须严格区分并了解 其差异。通常我们所计算的模型均采用力学边界, 初始条件也基本是初始地应力的输入,对此两种不 同的力,其设置存在差别,同时在计算过程中,该 二者的变化情况也各不相同。
对于这两种基本的 网格,其公共面上的 关键点的对应关系更 需校核好,否则将出 现杂乱错误的网格。
对此马蹄形隧道,其公 共面处,p0 — p0,p1—p3, p2—p2,p4—p5 , p8—p9,p10 —p11
对于对称的模型也可以采 用镜像命令:
gen zone reflect norm -1 0 0 & origin 0,0,0
对于任何形状的单元体, 其建立单元模型时关键
FLAC3D新手部分命令
show ;显示图形
;到此可以利用save Trench.sav命令来保存一个名叫Trench的.sav类型的文件
;-----------------------------------------------------------------------开挖阶段-----------------------------------------------------------------------
set mech force=50 ;设定最大不平衡力
solve ;按一定的精度自动求解平衡状态
;显示最大不平衡力以及节点(4,4,8)在Z方向上的位移图
;plot ;进入自动绘图模式
;hist 1 ;显示最大不平衡力变化曲线
;hist 2 ;显示节点(4,4,8)在Z方向的位移变化曲线
;设定视角
plot ;此处出现bug,因为不能利用上面的plot直接调用"FLAห้องสมุดไป่ตู้3D>"
set rot 15 0 20
set center 2.5 4.2 4.0
add boundary behind ;增加边界线框,并且线框只在平面的后面显示
add bcont szz plane ;在当前面绘制出垂直应力分布图
ini xdis=0 ydis=0 zdis=0 ;将所有网格点位移清零(因为需要模拟的是开挖过程引起的位移的变化,而不是从加载重力开始到开挖整个过程的位移变化)
step 2000 ;执行2000步时间
;查看位移等值曲线图
plot ;进入绘图设置
creat DispCont ;创建名为DispCont的视图窗口
完整word版,FLAC3D 实例命令流1
第1部分命令流按照顺序进行2-1定义一个FISH函数newdef abcabc = 25 * 3 + 5Endprint abc2-2使用一个变量newdef abchh = 25abc = hh * 3 + 5EndPrint hhPrint abc2-3对变量和函数的理解newdef abchh = 25abc = hh * 3 + 5Endset abc=0 hh=0print hhprint abcprint hhnewdef abcabc = hh * 3 + 5endset hh=25print abcset abc=0 hh=0print hhprint abcprint hh2-4获取变量的历史记录newgen zone brick size 1 2 1model mohrprop shear=1e8 bulk=2e8 cohes=1e5 tens=1e10fix x y z range y -0.1 0.1apply yvel -1e-5 range y 1.9 2.1plot set rotation 0 0 45plot block groupdef get_adad1 = gp_near(0,2,0)ad2 = gp_near(1,2,0)ad3 = gp_near(0,2,1)ad4 = gp_near(1,2,1)endget_addef loadload=gp_yfunbal(ad1)+gp_yfunbal(ad2)+gp_yfunbal(ad3)+gp_yfunbal(ad4) endhist loadhist gp ydis 0,2,0step 1000plot his 1 vs -22-5用FISH函数计算体积模量和剪砌模量newdef derives_mod = y_mod / (2.0 * (1.0 + p_ratio))b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio))endset y_mod = 5e8 p_ratio = 0.25deriveprint b_modprint s_mod2-6 在FLAC输入中使用符号变量Newdef derives_mod = y_mod / (2.0 * (1.0 + p_ratio))b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio))endset y_mod = 5e8 p_ratio = 0.25derivegen zone brick size 2,2,2model elasticprop bulk=b_mod shear=s_modprint zone prop bulkprint zone prop shear2-7 控制循环Newdef xxxsum = 0prod = 1loop n (1,10)sum = sum + nprod = prod * nend_loopendxxxprint sum, prodnewgen zone brick p0 (0,0,0) p1 (-10,0,0) p2 (0,10,0) p3 (0,0,-10) model elasplot set rotation 0 0 45plot block groupdef installpnt = zone_headloop while pnt #nullz_depth = -z_zcen(pnt)y_mod = y_zero + cc * sqrt(z_depth)z_prop(pnt, ’shear’) = y_mod / (2.0*(1.0+p_ratio))z_prop(pnt, ’bulk’) = y_mod / (3.0*(1.0-2.0*p_ratio))pnt = zone_next(pnt)end_loopendset p_ratio=0.25 y_zero=1e7 cc=1e8install2-8 拆分命令行new ;example of a sum of many thingsdef long_sumtemp = v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 long_sum = temp + v11 + v12 + v13 + v14 + v15end2-9 变量类型newdef haveoneaa = 2bb = 3.4cc = ’Have a nice day’dd = aa * bbee = cc + ’, old chap’endhaveoneprint fish2-10 IF条件语句newdef abcif xx > 0 thenabc = 1000elseabc = -1000end_ifendset xx = 10print abcset xx = 0print abc2-11 索单元自动生成newgen zone brick size 10 3 5plot set rotation 0 0 45plot block groupdef place_cablesloop n (1,5)z_d = float(n) - 0.5commandsel cable beg 0.0,1.5,z_d end 7.0,1.5,z_d nseg 7 end_commandend_loopendplace_cablesplot grid sel geom rednewgen zone brick size 10 3 5plot set rotation 15 0 60plot block groupmod mohrprop bulk 1e8 shear .3e8 fric 35prop coh 1e3 tens 1e3ini dens 1000set grav 0,0,-10fix x y z range z -.1 .1fix y range y -.1 .1fix y range y 2.9 3.1fix x range x -.1 .1fix x range x 9.9 10.1set largehist unbalsolvesave cab_str.savini xdis 0 ydis 0 zdis 0hist gp xdisp 0,1,5def place_cablesloop n (1,5)z_d = 5.5 - float(n)z_t = z_d + 0.5z_b = z_d - 0.5commandfree x range x -.1,.1 z z_b z_tsolvesel cable beg 0.0,0.5,z_d end 7.0,0.5,z_d nseg 7sel cable beg 0.0,1.5,z_d end 7.0,1.5,z_d nseg 7sel cable beg 0.0,2.5,z_d end 7.0,2.5,z_d nseg 7sel cable prop emod 2e10 ytension 1e8 xcarea 1.0 &gr_k 2e10 gr_coh 1e10 gr_per 1.0end_commandend_loopendplace_cablessave cab_end.savplot sketch sel cable force red2-12圆形隧道开挖模拟计算;建立模型gen zon radcyl p0 0 0 0 p1 6 0 0 p2 0 1 0 p3 0 0 6 &size 4 2 8 4 dim 3 3 3 3 rat 1 1 1 1.2 group outsiderockgen zone cshell p0 0 0 0 p1 3 0 0 p2 0 1 0 p3 0 0 3 &size 1 2 8 4 dim 2.7 2.7 2.7 2.7 rat 1 1 1 1 group concretliner fill group insiderock gen zon reflect dip 90 dd 90 orig 0 0 0gen zon reflect dip 0 dd 0 ori 0 0 0gen zon brick p0 0 0 6 p1 6 0 6 p2 0 1 6 p3 0 0 13 size 4 2 6 group outsiderock1 gen zon brick p0 0 0 -12 p1 6 0 -12 p2 0 1 -12 p3 0 0 -6 size 4 2 5 group outsiderock2 gen zon brick p0 6 0 0 p1 21 0 0 p2 6 1 0 p3 6 0 6 size 10 2 4 group outsiderock3 gen zon reflect dip 0 dd 0 orig 0 0 0 range group outsiderock3gen zon brick p0 6 0 6 p1 21 0 6 p2 6 1 6 p3 6 0 13 size 10 2 6 group outsiderock4gen zon brick p0 6 0 -12 p1 21 0 -12 p2 6 1 -12 p3 6 0 -6 size 10 2 5 group outsiderock5 gen zon reflect dip 90 dd 90 orig 0 0 0 range x -0.1 6.1 z 6.1 13.1gen zon reflect dip 90 dd 90 orig 0 0 0 range x -0.1 6.1 z -6.1 -12.1gen zon reflect dip 90 dd 90 orig 0 0 0 range x 6.1 21.1 z -12.1 13.1;绘制模型图plot block groupplot add axes red;plot set rotation 0 0 45 用于显示三维模型;设置重力set gravity 0 0 -10;给定边界条件fix z range z -12.01,-11.99fix x range x -21.01,-20.99fix x range x 20.99,21.01fix y range y -0.01 0.01fix y range y 0.99,1.01;求解自重应力场model mohrini density 1800 ;围岩的密度prop bulk=1.47e8 shear=5.6e7 fric=20 coh=5.0e4 tension=1.0e4 ;体积、剪切、摩擦角、凝聚力、抗拉强度set mech ratio=1e-4solvesave Gravsol.savplot cont zdisp outl onplot cont szz;毛洞开挖计算initial xdisp=0 ydisp=0 zdisp=0model null range group insiderock any group concretliner anyplot block groupplot add axes redset mech ratio=5e-4solvesave Kaiwsol.savplot cont zdispplot cont sdispplot cont szzplot cont xzz;模筑衬砌计算model elas range group concretliner anyplot block groupplot add axes redini density 2500 range group concretliner any ;衬砌混凝土的密度prop bulk=16.67e9,shear=12.5e9 range group concretliner any ;衬砌混凝土的体积弹模、剪切弹模set mech ratio=1e-4solvesave zhihusol.savplot cont zdispplot cont sdispplot cont szzplot cont xzz;完成计算分析。
Flac3D命令--完整经典版
27. ID号查询通过标题栏查看或者执行【Plotitems】/【1 Block group】/【Modify】命令中
grid_point ID’s 28. 建立接触面单元的各类方法(桩的接触面桩端和桩侧最好采用不同id号的接触面单元) 接触面参数的选取见文件155页9.51。接触面有关的常用命令9.7 162页。 ① 移来移去法:两个模型分开,一个建立接触面单元,然后移动使两个模型合并。
PLOT block group 查看计算模型 Ctrl+G 变成灰色图像
25. 采用 2 种方式观察网格节点速度: : HIST gpvel<x y z>记录某个节点的速度; PLOT
vel 命令绘制完整的速度矢量场图;力平衡时,由于网格节点力不为零就存在网
格节点速度,仍有可能产生较大位移。 26. 初始地应力场:通常用的是以下三种方法,即弹性求解法、改变参数的弹塑性求解法
定义群组方法!
Gen zone brick size 3 3 3 ; group 2 range x 1 2 y 1 2 z 1 2 ; group 1 range group 2 not
删除其它群组 只保留群组2
del ran group 2 not
Plot blo gro range group dam只显示dam组的单元
6 5 所以 xx 为: xx =-10 10 +10 z ;原点(0,0,0)
14. free x range x -.1 .1 z 6.9 10.1放松x=0 平面上,z=7,10 这一部分在x 方向的约 束(可以在此处产生破坏) 15. 体积模量K和剪切模量G与杨氏模量及泊松比v之间的转换关系如下:
之后重新打开6-2.log
FLAC3D 实例命令流4
第4部分命令流按照顺序进行new;1/4 上半部分gen zon radcyl p0 15.7 0 0 p1 24.5 0 0 p2 15.7 1 0 p3 15.7 0 8.8 &size 5 2 10 4 dim 5.8 5.8 5.8 5.8 rat 1 1 1 1.2 group outrockysgen zone cshell p0 15.7 0 0 p1 21.5 0 0 p2 15.7 1 0 p3 15.7 0 5.8 &size 1 2 10 4 dim 5.4 5.4 5.4 5.4 rat 1 1 1 1 group liningys fill group inrockysgen zon reflect dip 90 dd 270 orig 15.7 0 0;1/4 下半部分gen zon radcyl p0 15.7 0 0 p1 15.7 0 -6.9 p2 15.7 1 0 p3 24.5 0 0 &size 5 2 10 4 dim 3.9 5.8 3.9 5.8 rat 1 1 1 1.2 group outrockyxgen zone cshell p0 15.7 0 0 p1 15.7 0 -3.9 p2 15.7 1 0 p3 21.5 0 0 &size 1 2 10 4 dim 3.5 5.4 3.5 5.4 rat 1 1 1 1 group liningyx fill group inrockyxgen zon reflect dip 90 dd 270 orig 15.7 0 0 range group liningyx any &group inrockyx any group outrockyx any;右隧道中地层网格gen zon brick p0 0 0 -6.9 p1 6.9 0 -6.9 p2 0 1 -6.9 p3 0 0 0 size 6 2 5 group outrock1 gen zon brick p0 24.5 0 -6.9 p1 65 0 -6.9 p2 24.5 1 -6.9 p3 24.5 0 0 size 20 2 5 group outrock1gen zon brick p0 0 0 0 p1 6.9 0 0 p2 0 1 0 p3 0 0 8.8 size 6 2 5 group outrock2gen zon brick p0 24.5 0 0 p1 65 0 0 p2 24.5 1 0 p3 24.5 0 8.8 size 20 2 5 group outrock2;右隧道上侧土体网格gen zon brick p0 0 0 8.8 p1 6.9 0 8.8 p2 0 1 8.8 p3 0 0 36 size 6 2 10 group outrock3 gen zon brick p0 24.5 0 8.8 p1 65 0 8.8 p2 24.5 1 8.8 p3 24.5 0 36 size 20 2 10 group outrock3gen zon brick p0 6.9 0 8.8 p1 24.5 0 8.8 p2 6.9 1 8.8 p3 6.9 0 36 size 10 2 10 group outrock3;右隧道下侧土体网格gen zon brick p0 0 0 -24 p1 6.9 0 -24 p2 0 1 -24 p3 0 0 -6.9 size 6 2 8 group outrock4 gen zon brick p0 24.5 0 -24 p1 65 0 -24 p2 24.5 1 -24 p3 24.5 0 -6.9 size 20 2 8 groupoutrock4gen zon brick p0 6.9 0 -24 p1 24.5 0 -24 p2 6.9 1 -24 p3 6.9 0 -6.9 size 10 2 8 group outrock4gen zon reflect dip 90 dd 270 orig 0 0 0plot add axes redplot block group;设置重力加速度set gravity 0 0 -10;给定边界条件fix z range z -24.01,-23.99fix x range x -65.01,-64.99fix x range x 64.99,65.01fix y range y -0.01 0.01fix y range y 0.99,1.01;0-求解自重应力场model mohrini density 2200;围岩的密度prop bulk=1.923e9, shear=4.167e9 fric=35, coh=0.5e6 tension=5e5;体积、剪切、摩擦角、凝聚力、抗拉强度step 6000save Gsol.savplot cont zdispplot cont szz;1-左隧道上半断面开挖rest Gsol.savini xdis 0.0 ydis 0.0 zdis 0.0ini density 2400 range group outrockzs anyprop bulk=6.0e9, shear=10.0e9 fric=45, coh=1.2e6 tension=2e6 &range group outrockzs anymodel null range group inrockzs any group liningzs anystep 2000save stepp1.sav;2-初期支护rest stepp1.savsel shell id=1 range x -21.51 -9.89 cyl end1 -15.7 0 0 end2 -15.7 1 0 rad 5.8 sel shell id=1 prop iso=(21.0e9,0.2) thick=0.20step 2000save stepp2.sav;3-左隧道下半断面开挖rest stepp2.savmodel null range group inrockzx any group liningzx anystep 2000save stepp3.savplot add axes redplot block groupplot cont zdispplot cont szz;4-左隧道二次衬砌rest stepp3.savmodel elas range group liningzsmodel elas range group liningzxini density 2600 range group liningzsini density 2600 range group liningzxprop bulk=12.5e9, shear=16.667e9 range group liningzsprop bulk=12.5e9, shear=16.667e9 range group liningzxstep 2000save stepp4.savplot add axes redplot block groupplot cont zdispplot cont szz;5-右隧道上半断面开挖rest stepp4.savini density 2400 range group outrockys anyprop bulk=6.0e9, shear=10.0e9 fric=45, coh=1.2e6 tension=2e6 & range group outrockys anymodel null range group inrockys any group liningys anystep 2000save stepp5.savplot cont zdisp;6-初期支护rest stepp5.savsel shell id=1 range x 9.89 21.51 cyl end1 15.7 0 0 end2 15.7 1 0 rad 5.8 sel shell id=1 prop iso=(21.0e9,0.2) thick=0.20step 2000plot cont zdispsave stepp6.savplot add axes redplot block groupplot cont zdispplot cont szz;7-左隧道下半断面开挖rest stepp6.savmodel null range group inrockyx any group liningyx anystep 2000save stepp7.savplot cont zdisp;8-左隧道二次衬砌rest stepp7.savmodel elas range group liningysmodel elas range group liningyxini density 2600 range group liningysini density 2600 range group liningyxprop bulk=12.5e9, shear=16.667e9 range group liningysprop bulk=12.5e9, shear=16.667e9 range group liningyxstep 2000save stepp8.savplot add axes redplot block groupplot cont zdisp plot cont szznew。
