flac 命令流 参考 实用
- 格式:doc
- 大小:76.00 KB
- 文档页数:16
第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;完成计算分析。
ini pp 0 j=0fix pp j=0这样设置后是透水边界了底边界不透水,你可以不用管它了,默认为不透水边界我现在在三维中模拟基坑开挖,x(0~42) y(0~30) z(-40~0),初始水位在-3米处,我的初始水位命令这样写对不对啊?ini pp -3e4 grad 0 0 -1e4 range x 0 42 y 0 30 z -40 -3range -3.1 -2.9;;在开挖中需要降水,降至-7米,需开挖的区域为x(0~8) y(0~30)fix pp range x 8 42 y o 30 z -3.1 -2.9fix pp 0 range x 0 8 y 0 30 z -7.1 -6.9 pl contour pp可以显示孔隙水压力场,一般就认为就是渗流场吧!set flow on 即选择是否要进行渗流分析,其前提是要set fluid on方可以!off就是相反了。
但是,set fluid on以后不一定进行set flow on的计算,这点我的理解(有待证实)是,仅有set fluid on的话,就是把里面的pp当作是静水压力来处理的,而当set flow on 打开以后,就可以进行真正意义上的渗流分析了!再一个,set flow on的一个前提必须设定perm值(渗透系数),否则程序无法继续进行!而set fluid on就没有那么严格,只要是config fluid 以及设定模型以及fmod以后即可以开始计算了。
set mech on就表示把力学计算这部分打开,在默认的情况下,是打开的。
在流固耦合有一节中讲到,当只要使系统产生水压力的分布,而不需要由于机械变形(mechanical deformation)而产生的pp的时候,就必须要set mech off,也就是说这个时候只有fluid的计算,而没有mechanical 的计算了。
帮助的第ftd138.pdfbulk modulus, K 390 MPa 体积模量(土质比较硬)shear modulus, G 280 MPa 剪切模量soil dry density, ρd 1200 kg/m3 土的密度water density, ρw 1000 kg/m3 水密度wall density, ρwal 1500 kg/m3 档土墙的密度permeability, k 10−12 m2/Pa-s 渗透系数porosity, n 0.3 孔隙率fluid bulk modulus, Kf 2.0 GPa 流体的体积模量;-----以下是命令流config fluid ;设置流体算法gen zone brick p1 12 0 0 p2 0 12 0 p3 0 0 12 size 12 12 12 rat 1 1 1group soil ;设置土组group excavate range x 0 4 y 0 4 z 0 5 ;设置开挖范围组group wal1 range x 4 5 y 0 5 z 0 7 ; 设置档土墙1 组group wal2 range x 0 4 y 4 5 z 0 7 ;设置档土墙2 组group wall range group wal1 any group wal2 any ;档土墙1 和2 合并为一个档土墙组; --- fluid flow model --- 流体模型model fl_iso ;各项同性流体prop perm 1e-12 poro 0.3 ;设置渗透系数和??比or ??率ini fdensity 1e3 ; 初始化水密度ini fmod 2.0e9 ftens -1e-3 ; 初始化水的体积模量及??model fl_null range group excavate ; 开挖部分没有水流model fl_null range group wall ;档土墙不渗水jini pp 0 grad 0 0 1e4 ;初始化孔隙水压力fix pp range z -0.1 0.1 ;约束应该是整个模型的底部吧?fix pp range x -0.1 4.1 y -0.1 4.1 z 4.9 5.1 ;开挖部分也给约束住了,而其他的地方不管,为什么要约束开挖部分?model elas ; 弹塑性prop bul 3.9e6 shea 2.8e6 ;设置体积模量和剪切模量,这两个必须model null range group excavate ;力学模型的开挖ini density 1.2e3 ;初始化密度,应该是土的密度ini density 1.5e3 range group wall ;初始化墙(档土墙)的密度fix x range x -.1 .1 ;施加约束,据说差分法约束0 的时候,必须取一个-0.1<0<0.1,范围fix x range x 11.9 12.1 ;施加约束,或者叫做边界条件fix y range y -.1 .1 ;施加约束fix y range y 11.9 12.1fix z range z 11.9 12.1ini szz 0 grad 0 0 -1.5e4 ;z方向的应力大一些ini sxx 0 grad 0 0 -1.2e4 ;水平方向的,小一些ini syy 0 grad 0 0 -1.2e4apply nstress 0 grad 0 0 -1.2e4 range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0apply nstress 0 grad 0 0 -1.2e4 range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0apply nstress -7.5e4 range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1; --- setting --- 设置set gravity 0 0 10 ;设置重力加速度solve force 1 ; check initial equilibrium 求解平衡; --- excavation --- 开挖set fluid off ;关闭水apply nstress 0 grad 0 0 -1.e4 range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0apply nstress 0 grad 0 0 -1.e4 range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0apply nstress -5.e4 range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1solve ;force 1 ;求解save exc1.sav ; 保存; --- drainage --- 排水apply remove nstress ;撤掉刚才的压力def relaxsetup ;定义一个释放函数的参数step0 = stependrelaxsetup ;调用def relax ;定义一个释放函数rstep = step - step0if rstep < ncyc thenrelax=1.0-(float(rstep)/float(ncyc))elserelax=0.0endifendset ncyc=1000;先赋值,然后调用apply nstress 0 grad 0 0 -1e4 his relax range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0 apply nstress 0 grad 0 0 -1e4 his relax range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0 apply nstress -5e4 his relax range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1cyc ncycsolve; --- percolation --- 渗透set fluid on ;设置水算法Fluentfix pp 0 range x -0.1 4.1 y -0.1 4.1 z 4.9 5.1 ;施加孔隙水压力cyc 9000 ;循环save exc3.sav ;保存你是想做渗流分析还是静力分析渗流分析的话用config fluid做流固耦合分析把手册中几个例子搞明白应该收获很大提醒生成初始应力场时水平应力=k0×竖向有效应力+水应力如果仅仅是静力分析只要设定稳定水位手动干湿密度就行与Interface相关的命令总结(望续)最近用到这个了,因为初学尝尽苦头,以前整理的贴出来,望有别的还可以跟帖,simwe9j2g2K0`$^.p;j9@仿真分析,有限元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent,CFD,CAE,CAD,CAM7v6Q8E*O1M%R4~ 1)interface后面可以使用range关键字,用来限定其范围;range id用来设定界面元或节点的开始和最后的标识号码;2l5M:Y!T$asimwe2)interface命令用来定义两个或多个子网格之间的界面,这些界面可以滑动、分离。
《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。
FLAC命令流;****************************************group命令group soil range z 1 2 ;定义groupprop bulk 7.8e6 shear 3.0e6 coh 10e3 fric 15 ran group soil ;给group赋值model null range group soilmodel elastic range group soilrange命令range name trench x 0 1 y 0 4 z 0 2model null range trenchmodel null range x=2,4 y=2,6 z=5,10range name Big_Brick x -3 3 y -2 2 z -1 1model elastic range Big_Brickprop bulk 1e8 shear 1e8 range Big_Brickrange name Layer1 plane dip 0 dd 0 ori 0 0 0 aboverange name Layer2 plane dip 0 dd 0 ori 0 0 0 belowmacro命令macro Sand 'bulk 1e8 shear 0.5e8 coh 0 tens 0 fric 35'macro Clay 'bulk 1e7 shear 0.3e7 coh 1e7 tens 0 fric 0'prop sand range Layer1prop clay range layer2macro Pt0 'p0 0 0 0'macro Pt1 'p1 add 10 0 0'macro Pt2 'p2 add 0 10 0'macro Pt3 'p3 add 0 0 10'macro Model_Size 'size 4 5 6'macro Big_Brick 'gen zone brick Pt0 Pt1 Pt2 Pt3 Model_Size'Big_Brickmacro 'Pt0' 'p0 15 15 15'gen Big_Brick ; this will cause an errorgroup range macro 命令Using different object types to do the same jobusing a RANGE object ...range name Big_Brick x = (-3,3) y = (-2,2) z = (-1,1)model null range Big_Brickusing a GROUP object ...group Big_Brick range x = (-3,3) y = (-2,2) z = (-1,1)model null range group Big_Brickusing a macro object ...macro Big_Brick 'x = (-3,3) y = (-2,2) z = (-1,1)'model null range Big_Brickgen zone brick size 10,10,10macro SiltySand 'bulk 1.5e8 shear 0.3e8'macro ClayeyGravel 'bulk 1.5e8 shear 0.6e8 fric 30 coh 5e6 ten 8.66e6'model elas range z 5 10prop SiltySand range z 5 10model mohr range z 0 5prop ClayeyGravel range z 0 5;****************************************视图操作:x y z mctr+r 还原ctr+p 保存图片ctr+z 鼠标选择ctr+g 彩图变为灰色图shift + (x y z m)旋转缩放edit---copy to clipboard----粘贴到word;****************************************ini xdis 0 ydis 0 zdis 0set grav 0 0 -9.81set mech force=50 '最大不平衡力小于50n,停止计算;****************************************hist命令hist reset '清除已有历史信息set hist_rep 1 '每一个时步记录一次hist n=5 '每5个时步记录一次hist write 7 v 8 file xx.txthist gp zdisp 4,4,8;****************************************log命令set logfile xx.logset log onprint …………set log off;****************************************切片pl set plane ori …………norm……'定义剖面位置pl con zd plane '显示变量pl con sxx outline on ;查看水平应力云图,outline on表示显示模型的边界,默认为off;****************************************fish 主要语句if ………… then…………else…………endifcommand…………endcommandloop n(1,21)…………endlooploop while ……………………endloopcaseof ……………………case n1…………case n2…………endcase;****************************************运算= # > < >= <=负数在运算时,要加(),以免和减号- 混淆;****************************************单元/节点遍历p_z = zone_headloop while p_z # null…………p_z = z_next(p_z)endloopp_gp = gp_headloop while p_gp # null…………p_gp = gp_next(p_gp)endloop;****************************************string连接(保存文件)save_file=string(n)+'_step.sav'D3DECFile = 'D3dec_Model.dat'FlacFile = 'Flac3D_Model.dat'file_name='7-6_add'+string(n)+'.sav'save file_namecal flacfile;****************************************table操作详见ftd128(59/114))table 1 name load_settlement '创建新表格xtable(n,s)=……对编号为n的表的第s行、x列进行赋值ytable(n,s)=……对编号为n的表的第s行、y列进行赋值plot table 1 lineplot table 1 both '点、线同时显示;****************************************Interface 的变量命令参见ftd128.pdf(53/114)Structural Elements 的变量命令参见ftd128.pdf(64/114);****************************************详细的gp zone 命令参见ftd128.pdf(40/114)gp 函数/命令gp_zdisp(p_gp):地址为p_gp的节点的z向变形gp_near(x,y,z):得到靠近坐标(x,y,z)的节点地址gp_id(p_gp):节点ID号gp_next(p_gp):print gp pos ran id 59 '输出59号节点的坐标位置注意:节点指针的循环是从ID号最小的地址开始的。
《FLAC3D基础与工程实例》全部命令流《FLAC/FLAC 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 group brick_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 group brick_2gen zone bri p0 40 0 0 edge 10 size 10 10 10 rat 1.0 0.9 1.1 group brick_3 plot surnewgen zon bri size 3 3 3model elasprop bulk 3e8 shear 1e8ini 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 nstress -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;-------------------------------------工程信息;Project Record Tree export;Title:Simple test;---------------------------------计算第一步;... STATE: STATE1 ....configgrid 10,10model elasticgroup 'User:Soil' notnullmodel elastic notnull group 'User:Soil'prop density=1500.0 bulk=3E6 shear=1E6 notnull group 'User:Soil' fix x y j 1fix x i 1fix x i 11set gravity=9.81history 999 unbalancedsolvesave state1.sav;----------------------------------计算第二步;... STATE: STATE2 ....initial xdisp 0 ydisp 0initial xvel 0 yvel 0model null i 4 7 j 8 10group 'null' i 4 7 j 8 10group delete 'null'history 1 xdisp i=4, j=11solvesave state2.sav;--------------------------------绘图命令;*** plot commands ****;plot name: syyplot hold grid syy fill;plot name: Unbalanced forceplot hold history 999;plot name: gridplot hold grid magnify 20.0 lred grid displacement;plot name: Xdis-Aplot hold history 1 linenew; ===============================; 定义球体半径和半径方向上单元网格数; ===============================def parmrad=10.0rad_size=5endparm; ===============================; 建立八分之一球体外接立方体网格; ===============================gen zone pyramid p0 rad 0 0 p1 rad 0 rad p2 rad rad 0 p3 0 0 0 & p4 rad rad rad size rad_size rad_size rad_size group 1gen zone pyramid p0 0 rad 0 p1 rad rad 0 p2 0 rad rad p3 0 0 0 & p4 rad rad rad size rad_size rad_size rad_size group 2gen zone pyramid p0 0 0 rad p1 0 rad rad p2 rad 0 rad p3 0 0 0 & p4 rad rad rad size rad_size rad_size rad_size group 3; ==================================; 利用FISH语言将内部立方体节点调整到球面; ==================================def make_spherep_gp=gp_headloop while p_gp#null; 获取节点点坐标值:P=(px,py,pz)px=gp_xpos(p_gp)py=gp_ypos(p_gp)pz=gp_zpos(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_xpos(p_gp)=k*pxgp_ypos(p_gp)=k*pygp_zpos(p_gp)=k*pzend_ifp_gp=gp_next(p_gp)end_loopendmake_sphere; ===============================; 利用镜像生成完整球体网格; =============================== gen zone refgen zone ref dip 90gen zone ref dip 90 dd 90; =============================== ; 显示球体网格; =============================== plot surf pl set back whpl bl grngen zon bri size 1 1 2 group soil ran z 1 1 group rock ran z 01 expgrid 1.flac3dgen zon bri size 3 3 3model mohrprop 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 10solve elasticsave 6-1.savrest 6-1.savini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0app nstress -100e3 ran 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 nstress -100e3 ran 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 logfile 6-2.log print zone stress print gp disset log offrest 6-1.savini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0app nstress -100e3 ran 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 movie avi step 1 file 6-5.avimovie startsolvemovie finishngen zon bri size 1 1 2 model elasprop bulk 3e7 shear 1e7 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 2model mohrprop bulk 3e7 shear 1e7 c 1e10 f 15 tension 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 shear 1e7 c 10e3 f 15 ten 0solveplo con szngen zone brick size 1 1 2model mohrprop bulk 3e7 shear 1e7 coh 10e3 fri 15 ten 0 fix z ran z 0 fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000set grav 0 0 -10solve elasplo con sznewgen zone brick size 1 1 2model mohrprop bulk 3e7 shear 1e7 coh 10e3 fri 15 ten 0 fix z ran z 0 fix 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 2model mprop bulk 3e7 shear 1e7 c 10e10 f 15 ten 1e10 fix z ran z 0 fix 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 2model mprop bulk 3e7 shear 1e7 c 10e10 f 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 nstress -10e3 ran z 2set grav 0 0 -10solveplo con sznewgen zone brick p0 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 10model elaspro bulk 10e10 she 10e10ini den 2500apply sxx -1e9 grad 0 0 1.1111111e7 range x -.1 .1 apply sxx -1e9 grad 0 0 6.6666666e6 range x 59.9 60.1 apply syy -1e9 grad 0 0 8.3333333e6 range y -.1 .1 apply syy -1e9 grad 0 0 8.3333333e6 range y 59.9 60.1 apply szz -1e8 grad 0 0 8.3333333e5 ran z 0 120set grav 0 0 -10step 30000ini xdisp 0 ydisp 0 zdisp 0ini xvel 0 yvel 0 zvel 0plo cont szznewgen zone brick p0 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 10model elaspro bulk 10e10 she 10e10ini den 2500ini sxx -1e9 grad 0 0 1.1111111e7 range x -.1 .1ini sxx -1e9 grad 0 0 6.6666666e6 range x 59.9 60.1ini syy -1e9 grad 0 0 8.3333333e6 range y -.1 .1ini syy -1e9 grad 0 0 8.3333333e6 range y 59.9 60.1ini szz -1e8 ran z -.1 .1fix x y z ran z -.1 .1set grav 0 0 -10solveini xdisp 0 ydisp 0 zdisp 0ini xvel 0 yvel 0 zvel 0plo cont szz。
1. apply(缩写:app)可用来定义边界条件及初始条件:1)添加应力格式1:apply szz -0。
3395e6 range z -0.1 0。
1格式1:apply szz -0.3395e6 range group pile格式3:apply szz —0.3395e6 range z —0。
1 0.1 group pile格式4:apply nstress 数值 range z 2.9 3.1(或3) x 1 2 y 1 22)以一定速度施加位移边界格式1:apply yvel —1e5 range y -1.9 2.1 ;施加y方向速度—1e5/step3)添加边界条件格式:apply szz <数值> grad <梯度〉 range 〈范围>示例1:apply szz -1e9 grad 0 0 8。
3e5 range z 0 120示例2:apply szz -0。
6e6 range z 0.05 0。
15 group pile注:〈数值〉是梯度方向坐标0点的数值,可通过定义坐标范围的上下值与梯度计算得到.2. range(缩写:ran)通过range功能,可以使命令作用在一定指定范围的目标上;如果一个命令没有使用range 来确定范围,则命令对整个模型有效。
1)利用坐标指定一定的范围格式1:range z 0 1格式2:range z 2。
9 3.1 x 1 2 y 1 22)利用分组来指定范围格式:range group 13)以上两种的复合格式:range z -0.1 0。
1 group pile4)利用id号来指定一定的范围格式:range id 0 10该命令后跟起始id和结束id,这里的id可以是实体单元、网格、结构单元、接触面和节点的编号。
例:model elastic range id 1 10 ;指定id为1到10的单元为各向同性弹性本构。
1、怎样查看模型?答:plot grid 可以查看网格,plot grid num 可以查看节点号。
2、请问在圆柱体四周如何施加约束条件?答:可以用fix ... ran cylinder end1 end2 radius r1 cylinder end1 end2 radius r2 not,其中r2<r1,其实就是选择range的时候选两个圆柱的差,即得到边界。
命令流如下:fix x range end1 1 0 0 end2 1 4 0 rad 1 end1 1 0 0 end2 1 4 0 rad 13、怎么能把一个PLOT的图像数据导出来以便用其他软件绘图?答:用set log on 命令,把数据导出来,转到excel里处理一下,然后用surfer或者什么作图软件绘制就行了。
4、用命令建立模型后,如何显示点的坐标?答:使用plo blo gro gpnum on命令5、关于gauss_dev对性质进行高斯正态分布的问题?答:根据手册上的说明:下面的命令设定一个平均摩擦角为40度,标准方差是±5%。
则命令如下:prop friction 40 gauss_dev 2 问题:请问gauss_dev 2中的2是如何计算的?如果把±5%改为±10%,则命令应如何写?40×5%=26、 reflect问题问:gen zone radbrick &p0 (0,0,0) p1 (10,0,0) p2 (0,10,0) p3 (0,0,10) &size 3,5,5,7 &ratio 1,1,1,1.5 &dim 1 4 2 fill plot surfgen zone reflect dip 0 dd 90 (对xy面做镜像)gen zone reflect dip 90 dd 90 (对yz面做镜像)(1)dd表示y轴正向顺时针到那条射线的夹角,dip表示对称参照面与xy平面的夹角,对称参照面与xy平面的夹角在xy平面的投影是一条射线。
【常规显示】PLOT con syy ;表示Y方向应力云图PLOT con sxy ;表示XY方向的应力云图PLOT con szz ou on ;ou是outline的缩写,用来显示网格PLOT con szz ef on ;ef是effective的缩写,用来显示z方向有效应力的云图PLOT con szz inter 1e4 ; inter是interval的缩写,以改变云图显示中的增量大小,本例中默认为5.0E3PLOT con szz max -10e3 ;max表示显示的应力数值最大不超过-10e3,本例中默认为0 PLOT con szz min -40e3 ;min表示显示的应力数值最小值为-40e3,本例中默认为-60e3 PLOT bcon prop bu ;显示体积模量bulk的赋值块云图【面荷载作用下的变形】rest 6-1.savini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0 初始应变归零app nstress -100e3 ran z 2.9 3.1 x 1 2 y 1 2 施加面荷载solvesave 6-2.savPLOT con zd 分析面荷载作用下的沉降云图PLOT con zd ou on magf 20 变形后的网格图(20为放大倍数)PLOT con szz ou on magf 20 将变形后的网格与应力云图结合起来plot block state 显示塑性区域plot block state shear ;获得剪切屈服的单元,包括shear-n和shear-pplot block state tension-p ;获得过去拉伸屈服的单元plot block state now ;获得当前处于塑性状态的单元,包括shear-n和tension-nplot block state past ;获得过去处于塑性状态的单元,包括shear-p和tension-p【历史跟踪】rest 6-1.savini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0app nstress -100e3 ran z 2.9 3.1 x 1 2 y 1 2hist id=2 gp zdis 1 1 3 记录此节点的Z方向位移,记录号为2hist id=3 gp zdis 1 1 2hist id=4 gp xdis 1 1 3hist id=5 gp xdis 1 1 2hist 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.savPLOT hist 2 查看记录的2号记录PLOT hist 7 v 8 ;v是vs的缩写hist write 7 v 8 file 6-3hist.txt 使用该命令,程序会在默认文件夹中生成一个名为6-3hist.txt 的文本文件,读者可以打开这个文本文件观察所得的数据结果。
《隧道及地下工程FLAC解析方法》全部命令流汇总隧道及地下工程FLAC解析方法是一种用于模拟隧道和地下工程行为的计算程序。
它可以对不同条件下的隧道和地下工程进行分析和优化设计。
以下是隧道及地下工程FLAC解析方法的全部命令流汇总:1.开始命令:FLAC-这个命令启动了FLAC程序,告诉计算机将要运行隧道及地下工程FLAC解析方法。
2.模型概况命令:MODELDIMENSION-这个命令设置了模型的维度,可以是2D或3D,具体取决于模型的需求。
3.材料定义命令:MAT-这个命令定义了隧道或地下工程中使用的材料的参数,如弹性模量、泊松比、摩擦角等。
4.边界条件命令:BOUNDARY-这个命令设置了模型的边界条件,包括加载、固定或自由应力等。
5.网格设置命令:GRID-这个命令定义了模型的网格,并且可以对网格进行细分或剖分,以适应复杂的地质条件。
6.初始条件命令:INITIAL-这个命令设置了模型的初始条件,如应力、位移或速度。
7.应力平衡命令:STRESS/EQUILIBRIUM-这个命令用于检查模型中的应力平衡情况,并调整模型的参数以满足平衡要求。
8.载荷应用命令:LOAD/APPLY-这个命令指定了要应用到模型中的加载条件,可以是恒定载荷、动态载荷或变化载荷。
9.运行命令:RUN-这个命令启动了模型的运行,并进行了迭代求解以得到模型的响应。
10.取样命令:SAMPLE-这个命令用于对模型中的节点或单元进行采样,以获取特定时间或位置的应力、位移或应变等信息。
11.结果输出命令:PLOT-这个命令用于设置结果的输出方式,可以选择输出为图形、数据文件或报表的形式。
12.模型评估命令:EVALUATE-这个命令用于对模型的结果进行评估,可以比较不同模型或不同条件下的结果。
13.结束命令:END-这个命令结束了FLAC程序的运行。
以上是隧道及地下工程FLAC解析方法的全部命令流汇总,通过这些命令可以对隧道及地下工程进行模拟和分析,得到相关的结果和优化设计。
;****************************************group命令group soil range z 1 2 ;定义groupprop bulk 7.8e6 shear 3.0e6 coh 10e3 fric 15 ran group soil ;给group赋值model null range group soilmodel elastic range group soilplot block group range group dam ;只显示damrange命令range name trench x 0 1 y 0 4 z 0 2model null range trenchmodel null range x=2,4 y=2,6 z=5,10range name Big_Brick x -3 3 y -2 2 z -1 1model elastic range Big_Brickprop bulk 1e8 shear 1e8 range Big_Brickrange name Layer1 plane dip 0 dd 0 ori 0 0 0 aboverange name Layer2 plane dip 0 dd 0 ori 0 0 0 belowrange cylinder end1 x1 y1 z1 end2 x2 y2 z2 radius rcylindrical range with one end of the cylinder axis (end1) at location (x1, y1, z1), the other end (end2) at location (x2, y2, z2), and with a cylinder radius of r '由(x1, y1, z1) 、(x2, y2, z2)两点确定旋转轴macro命令macro Sand 'bulk 1e8 shear 0.5e8 coh 0 tens 0 fric 35'macro Clay 'bulk 1e7 shear 0.3e7 coh 1e7 tens 0 fric 0'prop sand range Layer1prop clay range layer2macro Pt0 'p0 0 0 0'macro Pt1 'p1 add 10 0 0'macro Pt2 'p2 add 0 10 0'macro Pt3 'p3 add 0 0 10'macro Model_Size 'size 4 5 6'Big_Brickmacro 'Pt0' 'p0 15 15 15'gen Big_Brick ; this will cause an errorgroup range macro 命令Using different object types to do the same jobusing a RANGE object ...range name Big_Brick x = (-3,3) y = (-2,2) z = (-1,1)model null range Big_Brickusing a GROUP object ...group Big_Brick range x = (-3,3) y = (-2,2) z = (-1,1)model null range group Big_Brickusing a macro object ...macro Big_Brick 'x = (-3,3) y = (-2,2) z = (-1,1)'model null range Big_Brickgen zone brick size 10,10,10macro SiltySand 'bulk 1.5e8 shear 0.3e8'macro ClayeyGravel 'bulk 1.5e8 shear 0.6e8 fric 30 coh 5e6 ten 8.66e6'model elas range z 5 10prop SiltySand range z 5 10model mohr range z 0 5prop ClayeyGravel range z 0 5;****************************************视图操作:x y z mctr+r 还原ctr+p 保存图片ctr+z 鼠标选择ctr+g 彩图变为灰色图shift + (x y z m)旋转缩放edit---copy to clipboard----粘贴到word;****************************************ini xdis 0 ydis 0 zdis 0set mech force=50 '最大不平衡力小于50n,停止计算;****************************************hist命令hist reset '清除已有历史信息set hist_rep 1 '每一个时步记录一次hist n=5 '每5个时步记录一次hist write 1 3 vs 2 begin 150 end 375 file xx.txthist gp zdisp 4,4,8hist id=3 gp zdis 1 1 3 'id为监测变量的编号,默认的是从1开始编号。
建议对监测变量进行编号,以便后处理调用plot his 2 3 vs 4 'plots histories 2 and 3 versus history 4; history 4 plots along the abscissa.pl his xla 'string' ylab 'string' '设置x y轴的名称pl his xmaximum ?? xminimum ?? '设置x轴的最大最小刻度pl his ymaximum ?? yminimum ?? '设置y轴的最大最小刻度pl his both 'line+mark;****************************************log命令set logfile xx.logset log onprint …………set log off;****************************************切片pl set plane ori 0 1.5 0 norm 0 1 0 '定义剖面位置pl con zd plane '显示变量pl add skepl add dis planepl add axepl con sxx outline on ;查看水平应力云图,outline on表示显示模型的边界,默认为off;****************************************print gp dis range id 517 any id 533 any '输出2个节点的变形值any表示‘并集’; 指定边界条件fix x range x -0.1 0.1 any x 5.9 6.1 any '这个表示在x=0和x=6.0方向上固定x方向的位移。
any的意思是表示"且"的意思,也就是说本来要写两行语句的:fix x range x -0.1 0.1,fix x range x 5.9 6.1,现在用any就可以只写一条语句。
fix y range y -0.1 0.1 any y 5.9 6.1 any;****************************************;****************************************fish 主要语句if ………… then…………else…………endifcommand…………endcommandloop n(1,21)…………endlooploop while ……………………endloopcaseof ……………………case n1case n2…………endcase;****************************************运算= # > < >= <=负数在运算时,要加(),以免和减号- 混淆degrad 'π/180pi 'πngp '节点总数nzone '单元体总数;****************************************单元/节点遍历p_z = zone_headloop while p_z # null…………p_z = z_next(p_z)endloopp_gp = gp_headloop while p_gp # null…………p_gp = gp_next(p_gp)endloop;****************************************string连接(保存文件)save_file=string(n)+'_step.sav'D3DECFile = 'D3dec_Model.dat'FlacFile = 'Flac3D_Model.dat'file_name='7-6_add'+string(n)+'.sav'save file_namecal flacfiletable操作详见ftd128(59/114))table 1 name load_settlement '创建新表格xtable(n,s)=…… 对编号为n的表的第s行、x列进行赋值ytable(n,s)=…… 对编号为n的表的第s行、y列进行赋值plot table 1 lineplot table 1 both '点、线同时显示常用编辑文本文件的方法进行表的读入与调用第1行:表的名称第2行:x1 y1第3行:x2 y2……空行' 注:在表的文本文件最后,需要有一个回车换行符,否则会出现"error reading file xxx.dat"的错误,完成的文件需要读入操作才可以供flac3d调用。