FLAC3D命令流(整理版)
《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。
(完整word版)FLAC3D命令流
(完整word版)FLAC3D命令流命令流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_3plot sur2-1newgen 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 2hist gp vel 0 0 3hist gp vel 0 3 3plo hist 1 redplo add hist 2 bluesolve3-1;——-—-—————--——-—--—-———--————-——-———-工程信息;Project Record Tree export;Title:Simple test ;—-———-—————---—-—--———————--—---—计算第一步;。
.。
STATE: STATE1 。
.configgrid 10,10model elastic(完整word版)FLAC3D命令流group '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 ..。
(完整版)FLAC3D常用命令
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的单元为各向同性弹性本构。
陈育民《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_3plot sur2—1newgen 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 2hist gp vel 0 0 3hist gp vel 0 3 3plo hist 1 redplo add hist 2 bluesolve3—1;———----——----—--—-—-——-—-—-——--------工程信息;Project Record Tree export;Title:Simple test;-—-—-—-——-—---———-—---—-——--——--—计算第一步;。
.. STATE: STATE1 ...。
(完整版)FLAC3D命令流(整理版)
(完整版)FLAC3D命令流(整理版)1、怎样查看模型?答:plot grid 可以查看⽹格,plot grid num 可以查看节点号。
2、请问在圆柱体四周如何施加约束条件?答:可以⽤fix ... ran cylinder end1 end2 radius r1 cylinder end1 end2 radius r2 not,其中r2fix 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 fillplot surfgen zone reflect dip 0 dd 90 (对xy⾯做镜像)gen zone reflect dip 90 dd 90 (对yz⾯做镜像)(1)dd表⽰y轴正向顺时针到那条射线的夹⾓,dip表⽰对称参照⾯与xy平⾯的夹⾓,对称参照⾯与xy平⾯的夹⾓在xy平⾯的投影是⼀条射线。
(完整版)FLAC3D常用命令
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的单元为各向同性弹性本构。
FLAC3D命令流(整理版)
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平面的投影是一条射线。
FLAC3D命令流(整理版)
1、怎样查看模型答:plotgrid可以查看网格,plotgridnum可以查看节点号。
2、请问在圆柱体四周如何施加约束条件答:可以用fix...rancylinderend1end2radiusr1cylinderend1end2radiusr2not,其中r2<r1,其实就是选择range的时候选两个圆柱的差,即得到边界。
命令流如下:fixxrangeend1100end2140rad1end1100end2140rad13、怎么能把一个PLOT的图像数据导出来以便用其他软件绘图答:用setlogon命令,把数据导出来,转到excel里处理一下,然后用surfer或者什么作图软件绘制就行了。
4、用命令建立模型后,如何显示点的坐标答:使用ploblogrogpnumon命令5、关于gauss_dev对性质进行高斯正态分布的问题答:根据手册上的说明:下面的命令设定一个平均摩擦角为40度,标准方差是±5%。
则命令如下:propfriction40gauss_dev2问题:请问gauss_dev2中的2是如何计算的如果把±5%改为±10%,则命令应如何写40×5%=26、reflect问题问:genzoneradbrick&p0(0,0,0)p1(10,0,0)p2(0,10,0)p3(0,0,10)&size3,5,5,7&rati o1,1,1,&dim142fillplotsurfgenzonereflectdip0dd90(对xy面做镜像)genzonereflectdip90dd90(对yz面做镜像)(1)dd表示y轴正向顺时针到那条射线的夹角,dip表示对称参照面与xy平面的夹角,对称参照面与xy平面的夹角在xy平面的投影是一条射线。
首先应该按照dd 的方向大体确定这个面的朝向,dd指的是从y轴正方向按顺时针(clockwise)方向转向所要确定面的法线方向在xy平面上的投影的夹角,然后再确定dip,dip指的是从xy平面转向所要确定的平面的角.(及z轴负方向转过角度)(2)命令:reflectnormalxyzoriginxyz(根据法线和过一点建的面)最常用,至于实际使用过程中有人问道:normal-100与normal100的区别,我试过两者的效果是一样的,没区别,虽然方向不同,但表达的是同一个面。
FLAC3D命令流(挺实用)
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 fillplot surfgen zone reflect dip 0 dd 90 (对xy面做镜像)gen zone reflect dip 90 dd 90 (对yz面做镜像)(1)dd表示y轴正向顺时针到那条射线的夹角,dip表示对称参照面与xy平面的夹角,对称参照面与xy平面的夹角在xy平面的投影是一条射线。
陈育民《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_3plot sur2—1newgen 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 2hist gp vel 0 0 3hist gp vel 0 3 3plo hist 1 redplo add hist 2 bluesolve3—1;———----——----—--—-—-——-—-—-——--------工程信息;Project Record Tree export;Title:Simple test;-—-—-—-——-—---———-—---—-——--——--—计算第一步;。
.. STATE: STATE1 ...。
完整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常用命令流
Flac3D常用命令流FLAC3D 常用命令流;模型镜像gen zone radcylinder size 25 1 25 25gen zone reflect normal -1 0 0 origin x y z(面上一点);沿X轴镜像,通过对称平面法线向量确定对称面gen zone reflect normal 0 0 -1 ;沿z轴镜像;绘图控制pl contour szz outline on;在模型中显示位移-应变曲线hist gp ydisp 0,0,0hist zone syy 0,1,0hist zone syy 1,1,0pl his -2 -3 vs 1 ;在plot hist m vs n的形式里,m代表y轴,n代表x轴(不管m,n的正负); "-"表示对其值作"mirror";对模型进行压缩实验的方法;即在模型两侧施加相反方向的速度ini yvel 1e-7 range y -.1 .1ini yvel -1e-7 range y 1.9 2.1;修改模型的坐标值ini x add -100 y add -100 z add -100;显示云图的同时也显示模型网格轮廓plot add cont disp outline on ;gradient更精确;输入角度、弧度方法pi=π,90°为90.0*degraddef set_valsptA = 25.0 * sin(pi/2);ptA=25.0ptB = 25.0 * cos( 60.0*degrad );ptB=12.5ptC=pi;ptC=3.1415926endset_valsprint ptA ptB ptC;施加结构单元方法sel shell id=5 range cylinder end1=(0.0, 0.0,0.0) &end2=(0.0,25.0,0.0) radius=24.5 notplot add sel geom black black cid on scale=0.03sel node init zpos add -25.0;如何显示某一平面plot create name_planeplot set plane origin 3 4 0 normal 1 0 0plot add cont disp plane behind shade onplot add sel geom blackplot add axes redplot current name_planeplot show;如何施加法向应力并显示所施加的力apply nstress -3.0E7 range cylinder end1 0 -1 0 end2010 radius 39.9 not;柱体外表面施加法向力apply nstress -5.0E6 range cylinder end1 0 -1 0 end2010 radius 2.1;柱体内表面施加法向力plot grid green fap black;显示施加的力;获取某网格点的ID,坐标值def aaget_id=gp_id(gp_near(3,0,0))endaaprint get_idprint gp position range id 3;保存命令流文件set log onset logfile hua.log;文件存放的路径与调用的文本路径相同......set log off;fish函数的说明与解释def find_add ;定义fish函数find_addhead = null ;给head赋值p_gp = gp_head ;第一个网格结点的指针赋给p_gploop_while p_gp # null ;当p_gp值不为null时作循环x_pos = gp_xpos(p_gp) ;将指针为p_gp的结点的x坐标值赋给x_posif x_pos = 10.0 then ;如果x_pos = 10.0 则(执行)new = get_mem(2) ;从主内存空间里得到2个fish变量对象并返回第一个对象的开始地址mem(new) = head ;将head类型和数值置于地址为new的fish 变量mem(new+1)=p_gp ;第二个变量存储符合条件的zone地址head = new ;将new值赋给headendifp_gp = gp_next(p_gp) ;将结点指针为p_gp的下一个结点的指针赋给p_gp endloop;结束循环end ;结束fish函数;实际上这个fish函数为满足条件(x坐标为10的)的zone的地址开辟一定的地址空间,各地址之间存在一定的联系;找到第一个符合条件的zone地址后,用new = get_mem(2) 从主内存空间里得到2个fish变量对象并返回第一个对象的开始地址,并用;下面的mem(new) = head ,将第一次开辟的两个变量的第一个变量存储地址head(注意第一次head =null),第二个变量存储第一;个符合条件的zone地址,并将第一个变量的地址赋予head(head =new),第一次循环结束;下次循环,同样开辟两个变量对象,第;一个变量对象记录上次循环开辟的第一个变量的地址,第二个记录第二个符合条件的zone地址,其余循环依次类推,这样子就建立了;一个符合条件的zone地址链条,方便以后使用。
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基础与工程实例》全部命令流
1
gen 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_1
gen zone bri p0 20 0 0 p1 add 10 0 0 p2 add 0 20 0 p3 add 0 0 15 &
solve
app nstress -10e4 ran z 3 x 1 2 y 1 2
hist gp vel 0 0 3
hist gp vel 0 3 3
plo hist 1 red
plo add hist 2 blue
solve
3-1
;-------------------------------------工程信息
ini szz -15e3 grad 0 0 15e3 ran z 1 2
ini syy -7.5e3 grad 0 0 7.5e3 ran z 1 2
ini sxx -7.5e3 grad 0 0 7.5e3 ran z 1 2
model elas
prop bulk 3e8 shear 1e8
ini dens 2000
fix z ran z -.1 .1
fix x ran x -.1 .1
fix x ran x 2.9 3.1
fix y ran y -.1 .1
fix y ran y 2.9 3.1
set grav 0 0 -10
set log off
6-5
rest 6-1.sav
【2017年整理】Flac3D命令--完整经典版
实例分析命令:1. X ,Y ,Z 旋转 Shift+ X ,Y ,Z 反向旋转Gen zone ……;model ……;prop ……(材料参数);set grav 0,0,-9.81(重力加速度) plot add block group red yellow 把在group 中的部分染成红色和黄色plot add axes black 坐标轴线为黑色;print zone stress% K 单元应力结果输出 ini dens 2000 ran z a b (设置初始密度,有时不同层密度不同);ini ……(设置初始条件);fix ……(固定界面)set plot jpg ;set plot quality 100 ;plot hard file 1.jpg 图像输出(格式、像素、名称) plot set magf 1.0视图的放大倍数为1.0;plo con szz z 方向应力云图2. ini z add -1 range group one 群one 的所有单元,在z 方向上向下移动1m ;然后合并命令 gen merge 1e-5 range z 0此命令是接触面单元合并成一个整体,1e-5是容差3. (基坑开挖步骤):Step 1: create initial model state (建立初始模型)Step 2: excavatetrench (开挖隧道)4. group Top range group Base not 定义(群组Base 以外的为)群组Top5. plot blo gro 使得各个群组不同颜色显示6. (两个部分间设置界面;切割法):gen separate Top 使两部分的接触网格分离为两部分;interface 1 wrap Base Top 在(Base 和Top )这两部分之间添加接触单元;plot create view_int 显示,并创建标题view_int ;plot add surface 显示表面;plot add interface red 界面颜色红色7. (简单的定义函数及运行函数)new ;def setup 定义函数setup ;numy = 8定义常量numy 为8;depth = 10.0 定义depth 为10;end 结束对函数的定义;setup 运行函数setup8. (隧道生成)上部圆形放射性圆柱及下部块体单元体的建立,然后镜像。
陈育民《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_3plot sur2-1newgen 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 2hist gp vel 0 0 3hist gp vel 0 3 3plo hist 1 redplo add hist 2 bluesolve3-1;-------------------------------------工程信息;Project Record Tree export;Title:Simple test;---------------------------------计算第一步;... STATE: STATE1 ....configgrid 10,10model elastic group '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 line5-1new; ===============================; 定义球体半径和半径方向上单元网格数; ===============================def parmrad=10.0rad_size=5endparm; ===============================; 建立八分之一球体外接立方体网格; ===============================gen zone pyramid p0 rad 0 0 p1 rad 0 rad p2 rad rad 0 p30 0 0 &p4 rad rad rad size rad_size rad_size rad_size group 1 gen 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 2 gen 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 surfpl set back whpl bl gr 5-3ngen zon bri size 1 1 2group soil ran z 1 1group rock ran z 0 1expgrid 1.flac3d6-1gen zon bri size 3 3 3model mohrprop bu 3e6 sh 1e6 coh 10e3 fric 15fix 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.sav6-2rest 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.sav6-3rest 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.sav6-4rest 6-3.savset log onset logfile 6-2.logprint zone stressprint gp disset log off6-5rest 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 finish7-1ngen zon bri size 1 1 2model elasprop bulk 3e7 shear 1e7fix 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 sz7-2ngen zon bri size 1 1 2 model 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 sz7-3ngen zone brick size 1 1 2model mohrprop bulk 3e7 shear 1e7 coh 10e3 fri 15 ten 0fix 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 -10solve elasplo con sz7-4newgen zone brick size 1 1 2model mohrprop bulk 3e7 shear 1e7 coh 10e3 fri 15 ten 0fix 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 sz7-5ngen 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 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 sz7-6ngen 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 2 set grav 0 0 -10solveplo con sz7-7newgen 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 szz7-8newgen 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 szz7-9newgen zone brick p0 0 0 -50 p1 27.5 0 -50 p2 0 5 -50 p3 0 0 -10 size 8 1 10 group claygen zone brick p0 27.5 0 -50 p1 100 0 -50 p2 27.5 5 -50 p3 27.5 0 -10 ratio 1.1 1 1 size 12 1 10 group claygen zone brick p0 0 0 -10 p1 27.5 0 -10 p2 0 5 -10 p3 0 0 0 ratio 1 1 0.8 size 8 1 4 group soilgen zone brick p0 27.5 0 -10 p1 100 0 -10 p2 27.5 5 -10 p3 27.5 0 0 ratio 1.1 1 0.8 size 12 1 4 group soilgen zone brick p0 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 group damfix x y z ran z -49.9 -50.1fix x ran x -.1 .1fix x ran x 99.9 100.1fix ymodel mohr ran z -50 0model null ran z 0 5prop bulk 7.8e6 shear 3.0e6 coh 10e10 tension 1e10 ran group soilini dens 1500 ran group soilprop bulk 3.91e6 shear 1.5e6 coh 10e10 tension 1e10 ran group clayini dens 1800 ran group clayset grav 0 0 -9.8hist id=1 unbalsolveprop bulk 7.8e6 shear 3.0e6 coh 10e3 fric 15 ran group soilprop bulk 3.91e6 shear 1.5e6 coh 20e3 fric 20 ran group claysolvesave elastic.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 elastic ran z 0 1 ; ;激活0 m ~ 1 m的单元prop bulk 7.8e6 shear 3.0e6 ran z 0 1ini dens 1500 ran z 0 1solve ;按软件默认精度求解save fill-1.savmodel elastic ran z 1 2prop bulk 7.8e6 shear 3.0e6 ran z 1 2ini dens 1500 ran z 1 2solvesave fill-2.savmodel elastic ran z 2 3prop bulk 7.8e6 shear 3.0e6 ran z 2 3ini dens 1500 ran z 2 3solvesave fill-3.savmodel elastic ran z 3 4prop bulk 7.8e6 shear 3.0e6 ran z 3 4ini dens 1500 ran z 3 4solvesave fill-4.savmodel elastic ran z 4 5prop bulk 7.8e6 shear 3.0e6 ran z 4 5ini dens 1500 ran z 4 5solvesave fill-5.savpau;plo bl gr;gen zone brick p0 0 0 0 p1 100 0 0 p2 0 5 0 p3 0 0 5 sizegen zone brick p0 0 0 -50 p1 27.5 0 -50 p2 0 5 -50 p3 0 0 -10 size 8 1 10 group claygen zone brick p0 27.5 0 -50 p1 100 0 -50 p2 27.5 5 -50 p3 27.5 0 -10 ratio 1.1 1 1 size 12 1 10 group clay gen zone brick p0 0 0 -10 p1 27.5 0 -10 p2 0 5 -10 p3 0 0 0 ratio 1 1 0.8 size 8 1 4 group soilgen zone brick p0 27.5 0 -10 p1 100 0 -10 p2 27.5 5 -10 p3 27.5 0 0 ratio 1.1 1 0.8 size 12 1 4 group soil gen zone brick p0 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 group dam7-10set log on ;打开log记录set logfile 1.log ;设置记录文件名为:1.log restore fill-1.sav ;调用保存的文件print gp dis range id 517 any id 533 any ;输出两个节点的变形值restore fill-2.savprint gp dis range id 517 any id 533 anyrestore fill-3.savprint gp dis range id 517 any id 533 anyrestore fill-4.savprint gp dis range id 517 any id 533 anyrestore fill-5.savprint gp dis range id 517 any id 533 anyset log off ;关闭log记录8-1def abcabc = 1 + 2 * 3abcd = 1.0 / 2.0endabcprint fish8-2def abcif aa < 0 thenabc = 0.0elseabc = 2.0 * aaendifendabc8-3def abcloop aa (1, 2.5)commandprint aaendcommandendloopend8-4newgen zon bri size 3 3 3model elasticprop 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_modifyp_z = zone_headd_k = 704d_n = 0.38d_pa = 101325.0 ;//标准大气压loop while p_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)endloopendE_modify8-6rest 8-5.savtable 1 name load_settlementdef add_loadp_gp = gp_near(2,1,3)loop n (1,5)app_load = n * (-1000e3)file_name = '7-6_add_step' + string(n) + '.sav'commandapp nstress app_load ran z 2.9 3.1 x 1 2 y 1 2solvesave file_nameendcommandxtable(1,n) = -1.0 * app_loadytable(1,n) = gp_zdisp(p_gp)endloopendadd_loadsave 8-6.sav8-7rest 8-6.savdef find_max_dispp_gp = gp_headmaxdisp_value = 0.0maxdisp_gpid = 0loop while p_gp # nulldisp_gp = sqrt(gp_xdisp(p_gp) ^ 2 + gp_ydisp(p_gp) ^ 2 + gp_zdisp(p_gp) ^ 2)if disp_gp > maxdisp_valuemaxdisp_value = disp_gpmaxdisp_gpid = gp_id(p_gp)endifp_gp = gp_next(p_gp)endloopendfind_max_dispprint maxdisp_value maxdisp_gpidrest 8-6.savconfig zextra 1def get_sigma_difp_z = zone_headloop while p_z # nullsigma_dif = z_sig3(p_z) - z_sig1(p_z)z_extra(p_z,1) = sigma_difp_z = z_next(p_z)endloopendget_sigma_difplot con zextra 19-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 ratio 1 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 ratio 1 1 1 1.15 fillgen zone reflect dd 270 dip 90group clay;interface 1 face range cylinder end1 (0,0,0) end2 (0,0,-5.1) radius .31 &cylinder end1 (0,0,0) end2 (0,0,-5.1) radius .29 not interface 2 face range cylinder 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 reflect dd 270 dip 90 range z 1 6.1group pile range z 1 6.1pauseini z add -6.0 range group pilesave pile_geom.sav9-2;导来导去法;---------------------------------------------ngen zone brick size 3 3 3group 2 range x 1 2 y 1 2 z 1 2group 1 range gr 2 notsave 1.savdel ran group 2 notinterface 1 face range x 1 y 1 2 z 1 2interface 1 face range x 2 y 1 2 z 1 2interface 1 face range x 1 2 y 1 z 1 2interface 1 face range x 1 2 y 1 2 z 1interface 1 face range x 1 2 y 1 2 z 2rest 1.savdel ran group 2expgrid 1.fac3dimpgrid 1.flac3dmodel elafix x y z ran z 0ini den 2000set grav 0 0 -10interface 1 prop kn 20e6 ks 20e6 coh 10e3 fri 15app nstr -200e3 ran x 0 1 y 1 2 z 3solve9-3;切割模型法;------------------------------ngen zone brick size 3 3 3group 1 range x 1 2 y 1 2 z 2 3group 2 range group 1 notgen separate 1int 1 wrap 1 2int 1 maxedge 0.5plo int red9-4; Create Material Zonesgen zone brick size 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 brick size 5 5 5 p0 (0,0,5) edge 5.0group Material; Create Bin Zonesgen zone brick size 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 brick size 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 brick size 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 brick size 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)group Bin range group Material not; Create named range synonymsrange name=Bin group Binrange name=Material group Material; Assign models to groupsmodel mohr range Materialmodel elas range Bingen separate Materialinterface 1 wrap Material Bin range plane ori 0 0 0 normal 1 -1 0 aboveinterface 2 wrap Material Bin range plane ori 0 0 0 normal 1 -1 0 belowint 1 maxedge 0.55int 2 maxedge 0.55; Assign propertiesprop shear 1e8 bulk 2e8 fric 30 range Materialprop shear 1e8 bulk 2e8 range Binini den 2000int 1 prop ks 2e9 kn 2e9 fric 15int 2 prop ks 2e9 kn 2e9 fric 15; Assign Boundary Conditionsfix x range x -0.1 0.1 any x 5.9 6.1 anyfix y range y -0.1 0.1 any y 5.9 6.1 anyfix z range z -0.1 0.1 Bin; Monitor historieshist unbalhist gp zdisp (6,6,10)hist gp zdisp (0,0,10)hist gp zdisp (0,0,0); Settingsset largeset grav 0,0,-10; Cyclingstep 4000save bin.sav9-5;;------------------------------------------------------------------ rest pile_geom.savmodel mohr range group clayprop bulk 8.333e7 shear 3.846e7 coh 30000 fric 0 range group claymodel elas range group pile prop bulk 8.333e7 shear 3.846e7 range group pile interface 1 prop kn 1e8 ks 1e8 fric 20 coh 30000 interface 2 prop kn 1e8 ks 1e8 fric 20 coh 30000;ini dens 1230 range group clayini dens 1230 range group pilemodel null range z -0.1 0.15;fix z range z -8.1 -7.9fix x range x -8.1 -7.9fix x range x 7.9 8.1fix y range y -.1 .1fix y range y 7.9 8.1set grav 0 0 -10ini szz 0. grad 0 0 12300. range z -5.5 0.ini szz 17600 grad 0 0 15500 range z -8 -5.5ini sxx 0. grad 0 0 5271.4 range z -5.5 0.ini sxx 7542.86 grad 0 0 6642.86 range z -8 -5.5ini sxx add 31428.6 grad 0 0 5714.3 range z -8 -5.5ini syy 0. grad 0 0 5271.4 range z -5.5 0.ini syy 7542.86 grad 0 0 6642.86 range z -8 -5.5ini syy add 31428.6 grad 0 0 5714.3 range z -8 -5.5; water density 1000water table origin 0,0,-5.5 normal 0 0 -1ini dens 1550 range z -8 -5.5hist unbal;solve rat 1.e-6save pile0.sav;model elas range group pile prop bulk 13.9e9 shear 10.4e9 range group pileini dens 2500 range group pile call find_add.fissolve rat 1.e-6save pile1.savrest pile1.sav ;调用保存文件ini state 0ini xdis 0.0 ydis 0.0 zdis 0.0 ;位移清零apply szz -0.4e6 range z 0.05 0.15 group pile ;桩顶加第一级荷载solvesave app0.4.savprint gp disp range id 1 ;输出第一级荷载下的桩顶位移,假定桩顶中心的id号为1apply szz -0.6e6 range z 0.05 0.15 group pile ;桩顶加第二级荷载solvesave app0.6.savprint gp disp range id 1 ;输出第二级荷载下的桩顶位移…………………………………………;依次加载,直到桩破坏;-------------------------------------------------------------------- ;速度加载法rest pile1.savini state 0ini xdis 0 ydis 0 zdis 0def zs_top ;检测桩顶竖向荷载ad = top_headzftot = 0.0loop while ad # nullgp_pnt = mem(ad+1)zf = gp_zfunbal(gp_pnt)zftot = zftot + zfad = mem(ad)endloopzs_top = zftot / 0.1414endfix z range z 0.05 .15 group pile ;固定桩顶速度,用速度来确定位移def rampwhile_steppingif step < ncut thenudapp = float(step) * udmax / float(ncut) elseudapp = udmaxendifad = top_headloop while ad # nullgp_pnt = mem(ad+1)gp_zvel(gp_pnt) = udappad = mem(ad)endloopendhist 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_file = string(n) + '-step.sav'commandstep 40000save save_filepri zone stress ran id 2381 a id 2361 a id 2341 a ;输出桩顶网格单元的应力endcommandendloopendsolve_steps ;-----------------------------------------------------------------------------10-1sel 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 2plot sel geo id on nod on scale 0.04plot ad ax10-2sel node id=1 0 0 0sel node id=2 2 0 0sel node id=3 4 0 -1sel node id=4 5 0 -2sel beamsel id=1 cid=1 node 1 2sel beamsel id=1 cid=2 node 2 3sel beamsel id=1 cid=3 node 3 4plot sel geo id on nod on scale 0.04plot ad ax10-3def set_valsptA = 25.0 * sin( 40.0*degrad )ptB = 25.0 * cos( 40.0*degrad )endset_valsgen zone cylinder 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 shell id=5 range cylinder end1=(0.0, 0.0,0.0) &end2=(0.0,25.0,0.0) radius=24.5 notplot blo groplot ad sel geom black black cid on scale=0.03plot ad axpaudelete ; delete all zonessel node init zpos add -25.010-4newgen zone brick size 6 8 8model mohrprop bulk 1e8 shear 0.3e8 fric 35prop coh 1e10 tens 1e10set grav 0 0 -9.81ini dens 1000fix x range x -0.1 0.1fix x range x 5.9 6.1fix y range y -0.1 0.1fix y range y 7.9 8.1fix z range z -0.1 0.1hist n 5hist unbalset mech force 50solvesave beam-brace0.sav;prop coh 1e3 tens 1e3model null range x 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.0hist gp zdisp 4 4 8solvesave beam-brace1.sav;plot create GravVplot set plane dip 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 plane behind shade onplot add sel beam force fxplot add sel geom black black node=off shrinkfac=0.0 plot add axesplot show 10-5;非全长锚固、预紧力锚杆(锚索)模拟;方法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 ratio 1 1 1 1.1 fill gen zone reflect normal 1 0 0 ori 0 0 0gen zone reflect normal 0 0 1 ori 0 0 0mo mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5ini dens 2000fix x range x -25.1,-24.9fix x range x 24.9 25.1fix y range y 49.9 50.1fix z range z -25.1 -24.9fix z range z 24.9 25.1sel cable id=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10sel cable id=1 beg 0,29,0 end 0,35,0 nseg 6sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 1 gr_k 1 gr_per 0.0785 range cid 1,10sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 10e5 gr_k 2e7 range cid 11,17sel delete link range id 1sel link id=100 1 target zonesel link attach xdir=rigid ydir=rigid zdir=rigid xrdir=rigid yrdir=rigid zrdir=rigid range id 100sel cable id=1 pretension 60e3 range cid 1,10step 2000sav 10-5.sav10-6;非全长锚固、预紧力锚杆(锚索)模拟;方法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 ratio 1 1 1 1.1 fillgen zone reflect normal 1 0 0 ori 0 0 0gen zone reflect normal 0 0 1 ori 0 0 0mo mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5ini dens 2000fix x range x -25.1,-24.9fix x range x 24.9 25.1fix y range y 49.9 50.1fix z range z -25.1 -24.9fix z range z 24.9 25.1sel cable id=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10sel cable id=1 beg 0,29,0 end 0,35,0 nseg 6sel cable prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 1 gr_k 1 gr_per 0.0785 range cid 2,10sel cable prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 10e5 gr_k 2e7 range cid 11,17sel cable prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 10e8 gr_k 2e10 range cid 1,1sel cable id=1 pretension 60e3 range cid 1,10step 2000sav 10-6.sav10-7;非全长锚固、预紧力锚杆(锚索)模拟;方法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 ratio 1 1 1 1.1 fillgen zone reflect normal 1 0 0 ori 0 0 0gen zone reflect normal 0 0 1 ori 0 0 0mo mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5ini dens 2000fix x range x -25.1,-24.9fix x range x 24.9 25.1fix y range y 49.9 50.1fix z range z -25.1 -24.9fix z range z 24.9 25.1sel cable id=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10sel cable id=1 beg 0,29,0 end 0,35,0 nseg 6 sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 1 gr_k 1 gr_per 0.0785 range cid 1,10sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 10e5 gr_k 2e7 range cid 11,17sel liner range y=-.1, .1 x=-1,1 z=-1,1sel liner PROP iso=( 25e9, 0.15) thick=0.1 ; concrete sel liner PROP cs_nk=8e8 cs_sk=8e8 &cs_ncut=0.0 cs_scoh=0.0 cs_scohres=0.0 cs_sfric=0.0 sel delete link range id 1sel link id=100 1 target node tgt_num 18sel link attach xdir=rigid ydir=rigid zdir=rigid xrdir=rigid yrdir=rigid zrdir=rigid range id 100sel cable id=1 pretension 60e3 range cid 1,10step 2000sav 10-7.sav10-8ntitle Structure_dynamic_analysis_lakewaterconfig 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.16375 XCIy 0.00625 XCIz 0.01575 &Per 2.8 &CS_sK 1.3e11 CS_sCoh 0.0 CS_sFric 10.0 &CS_nK 1.3e11 CS_nCoh 0.0 CS_nFric 0.0 CS_nGap offdef f1whilesteppingf0=10000*sin(10*dytime)np = nd_headloop while np # nullif nd_pos(np,1,3)=1nd_apply(np,1)=f0endifnp = nd_next(np)endloopendsel node fix x y z xr yr zr ran id=1sel set damp combinedplo cre pileplo current pileplo set back black fore white mag 0.8plo add sel geo id on sca .04 magf 1e3plo add sel fapp lgreen magf 1e3plo add sel pile mom my lblue lred magf 1e3 axe yel set movie avi step 100 file pile.avimovie startsol age 1movie finish11-1newconf dyn ;打开动力计算功能gen zone brick size 10 5 10mod elasmod null range x=0,5 z=5,10 ;删除部分网格fix z range x=-.1 .1 z=.1 10.1 ;设置静力边界条件fix z range x=9.9,10.1 z=.1 10.1fix y range y=-.1 .1fix y range y=4.9 5.1prop bulk 2e8 shear 1e8 ;设置土体参数prop bulk 4e9 shear 2e9 range x=5,6 z=5,10 ;设置墙体参数(土体参数的20倍)ini dens 2000 ;设置密度def setup ;动荷载中的变量赋值freq = 1.0omega = 2.0 * pi * freqold_time = clockendsetup ;执行变量赋值def wave ;定义动荷载函数wave = sin(omega * dytime) ;定义动荷载变量endapply xvel = 1 hist wave range z=-.1 .1 ;施加动荷载apply zvel = 0 range z=-.1 .1hist gp xvel 5,2,0hist gp xvel 5,2,10hist gp zvel 5,2,10hist dytimedef tim ;估算程序运行的时间tim = 0.01 * (clock - old_time)end set dyn multi on ;设置动态多步solve age 1.0print tim ;输出计算时间print dyn ;输出动力计算相关信息save mult1.sav11-2newconfig dyngen zone brick size 1,1,50model elasprop shear 1e7 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))endifendrange name bottom z=-.1 .1fix z range z=.5 55 ;将上部网格都施加数值向约束apply dquiet squiet range bottomapply sxz -2e5 hist wave syz 0.0 szz 0.0 range bottom ;-2e5的系数来源于的值apply nvel 0 plane norm 0,0,1 range bottomhist 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 showsolve age 211-3new;第一步:静力计算阶段config dynset dyn offgen zone brick size 6 3 2gen zone brick size 2 3 2 p0 0 0 2gen zone brick size 2 3 2 p0 4 0 2gen zone wedge size 1 3 2 p0 2 0 2gen zone wedge size 1 3 2 p0 4 3 2 p1 3 3 2 p2 4 0 2 p3 4 3 4 &p4 3 0 2 p5 4 0 4model elasticprop bulk 66667 shear 40000ini dens 0.0025set grav 0 0 -10fix x range x -0.01 0.01fix x range x 5.99 6.01fix y range y -0.01 0.01fix y range y 2.99 3.01fix z range z -0.1 0.1hist unbalsolvesave 11-3_1.sav;第二步:动力计算阶段set dyn ondef iniwaveper = 0.01endiniwavedef wavewave = 0.5 * (1.0 - cos (2*pi*dytime/per))endfree x y z ran z -0.1 0.1 ;去掉模型底部原有的静力条件apply nquiet squiet dquiet ran z -0.1 0.1 ;静态边界条件apply dstress 1.0 hist wave ran z -0.1 0.1 ;加动力荷载apply ff ;施加自由场边界条件group ff_cornergroup ff_side ran x 0 6group ff_side ran y 0 3group main_grid ran x 0 6 y 0 3set dyn time = 0 ;设置动力计算从0s开始hist reset ;清空已有的历史信息hist unbalhist dytime ; 主体网格hist gp xvel 2 1 0hist gp xvel 2 1 5.0 ; 柱体网格hist gp xvel -1 -1 0hist gp xvel -1 -1 5 ;平行于y方向的二维自由场网格hist gp xvel -1 0 0hist gp xvel -1 0 5.0;平行于x方向的二维自由场网格hist gp xvel 2 -1 0hist gp xvel 2 -1 5.0solve age 0.015save 11-3_2.sav11-4conf dygen zone brick size 3,3,3model elasprop bulk 1e8 shear 0.3e8ini dens 1000fix z range z -.1,.1set dyn=on, grav 0 0 -10, hist_rep=1hist gp zdisp 3.0,1.5,3.0hist dytimeplot create hhplot add his 1 vs 2save 11-4_1.sav;保存文件,在后续计算中需调用该文件cyc 15011-5;(1)质量分量和刚度分量共同作用rest 11-4_1.savset dyn damp rayleigh 1 22.8solve age=0.2titlevertical displacement versus time (mass & stiffness damping)plot showpause;(2)只有质量分量rest 11-4_1.sav。
(完整word版)flac命令流
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。
flac3d命令总结
6.加载前的位移清零
ini xdisp=0 ydisp=0 zdisp=0
7.开挖命令
m null range x 20 100 y 20 30 z 20 24.50
8.看切面及记录数据
pl set plane ori 0 0 76.85 norm 0 0 1
12.显示塑性区
plot block state
13.显示部分网格情况(位移上的范围)
plot block state/zadisp/szz range z 3.15 7.65
14.显示部分网格情况(id上的范围)
pl block state/zadisp/szz range id 501 1100
21.出图命令
set plot jpg
set plot quality 40
plot hard file name
22.看已知单元id号岩性参数方法
菜单栏-display-set range-"add"-ID-"在low里输入ID号"-确定-再点display-zones-property-bulk
15.修改间隔
pl con szz interval 2.5e06
16.显示网格
pl grid
17.查看节点号
pl grid num
18.查看模型有多少个单元、节点。
pl info
19.查看边界条件
plot fix
20.如何保存/名
1.建模型命令
new
plot block group
gen zone brick size 60 100 2 p0 0 0 0 p1 120 0 0 p2 0 200 0 p3 0 0 8.40 group 1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、怎样查看模型?答:plot grid 可以查看网格,plot grid num 可以查看节点号。
2、请问在圆柱体四周如何施加约束条件?答:可以用fix ... ran cylinder end1 end2 radius r1 cylinderend1 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 0rad 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 fillplot surfgen zone reflect dip 0 dd 90 (对xy面做镜像)gen zone reflect dip 90 dd 90 (对yz面做镜像)(1)dd表示y轴正向顺时针到那条射线的夹角,dip表示对称参照面与xy平面的夹角,对称参照面与xy平面的夹角在xy平面的投影是一条射线。
首先应该按照dd的方向大体确定这个面的朝向,dd 指的是从y轴正方向按顺时针(clockwise)方向转向所要确定面的法线方向在xy平面上的投影的夹角,然后再确定dip,dip指的是从xy平面转向所要确定的平面的角.(及z轴负方向转过角度)(2)命令:reflect normal xyz origin xyz (根据法线和过一点建的面)最常用,至于实际使用过程中有人问道:normal -1 0 0 与normal 1 0 0的区别,我试过两者的效果是一样的,没区别,虽然方向不同,但表达的是同一个面。
reflect dd a dip b origin xyz 这个就是用里建立斜面镜像的。
有一点注意了,镜像的时候如果是模型镜像的话,相当于在建立一个模型,故,在reflect的前面要加建模的关键字,gen zone reflect……7、关于两种fix是否有区别?fix z range z -0.1 0.1fix x range x -0.1 0.1 any x 1.9 2.1 anyfix y range y -0.1 0.1 any y 1.9 2.1 any和fix z range z -0.1 0.1fix x range x -0.1 0.1fix x range 1.9 2.1fix y range y -0.1 0.1fix y range y 1.9 2.1答:是一样的,any表示并列连接关系,及and的意思。
8、initial apply set 的区别答:initial 初始化命令,初始化计算应力状态,定义材料参数、重力等;apply边界条件限制命令,如施加边界的力、位移等约束等;set 用于设置计算的模式,控制计算过程。
Ini 施加的初始力在计算过程中是会变的,一般体力需要初始化,而apply施加的力、边界条件不会随着计算变化。
set命令作用于整个网格(赋值全局变量),ini则初始化指定范围内网格点、域的偏移量。
初始应力不仅仅是重力引起的。
9、Tension-p shear-p tension-n shear-n表示的含义答:在计算的循环里面,每个循环中,每个zone 都依据failure criterion 处于不同的状态,shear和tension 分别表示因受剪和受拉而处于塑性状态.n 表示now,p表示previous,即分别表示在现在和以前的循环当中处于塑性状态。
10、history保存数据,print显示在错误的命令流中“原点位移.dat”文件中只有:“Step 1 Y-Displace”而没有保存下数值,怎么回事?我怎么才能获得table中的数据?输入'print tabel n'能得到table中的数据(正确)hist gp ydisp 0,0,0hist zone syy 0,1,0hist zone syy 1,1,0step 3000hist write 1 file 原点位移.dathist write 2 file 中部单元应力.dathist write 3 file 边缘单元应力.dathist write 1 table 1hist write 2 table 2hist write 3 table 3hist write 2 3 vs 1 file 单压.dat(错误)hist gp ydisp 0,0,0hist zone syy 0,1,0hist zone syy 1,1,0hist write 1 file 原点位移.dathist write 2 file 中部单元应力.dathist write 3 file 边缘单元应力.dathist write 1 table 1hist write 2 table 2hist write 3 table 3hist write 2 3 vs 1 file 单压.datstep 300011、plot显示x、y坐标图hist n 1hist gp ydisp 0,0,0hist ax_strhist gp xdisp 1,1,0step 1500plot hist 2 vs -1 ;axial stress vs axial disp.plot hist 3 vs -1 ; circumferential disp. vs axial disp答:那2是不是代表hist gp ydisp 0,0,0,而-1 指得是hist gp ydisp 0,0,0为什么不是1而是负值?1) 在plot hist m vs n的形式里,m代表y轴,n代表x轴(不管m,n 的正负);2) "-"表示对其值作"mirror",如果大家使用AUTOCAD的话就明白"mirror"的含义了,比如上面的 hist 1 gp ydisp的值是0~100,那么vs -1就变成-100~0.以此类推.3) 要这么做主要是为了符合岩土工程的习惯需要,例如桩载荷试验曲线,沉降曲线等都不是画在第一象限内。
12、关于water.fis的命令注释(设置地下水位)答:(1)water.fis的功能是设置地下水位面,在二维计算中,通过water table命令即可设置水位线,在三维计算中由于地下水位是面,因此需要作一些插值运算,以便形成水位面。
这个FISH程序包含三个函数parm,aux1和aux2。
parm用来设定水位的边值,即设置水位的区域,aux1插值计算等值线的点,aux2调用aux1的计算结果,使用FLAC3D命令形成水位面。
(2)首先设置参数值,然后定义一个table.def parmnptab1=7nprof=10endparmtable 1 (12 0) (18.25 12.5) (25 17) (35 21) (50 24) (75 25) (150 25)产生table1,包含7组数据点。
3) 在解释的两个FISH函数之前,对table,xtable,ytable作一些总的说明。
water.fis程序反复使用了这三个变量,理解了这三个变量的含义,water.fis这段程序就解决了大半问题了。
Itasca 的所有软件都使用了相同的数据结构储存数据,称之为链表结构,类似于关系型数据库中的数据链接方法。
如果有数据结构的知识,或掌握关系型数据库的SQL 语言,这三个变量的含义就不难理解了,只不过这个操作与真正的数据库操作相比,只有两个数据变量x,y。
我用数据库的术语作解释:table 就是产生一个“表”,xtable,ytable的作用就是产生一个新表(Create)以及对表中的数据进行取出(Select)、插入(Insert)、替换(Update)操作.4)FISH函数aux1的作用是在table 1的基础上产生出另外个table,table的ID 从11到17,每个table有10个数据集。
alfa的计算方法是为适合(fit)曲面而采用的坐标点算法。
def aux1loop n(1,nptab1)rr=xtable(1,n)zz=ytable(1,n)loop k(1,nprof)case_of kalfa=0.5*(pi+.1)*float(k-2)/float(nprof-2)xtable(n+10,k)=rr*cos(alfa)ytable(n+10,k)=rr*sin(alfa)case 1xtable(n+10,k)=rrytable(n+10,k)=-40.0case 2xtable(n+10,k)=rrytable(n+10,k)=0.0end_caseend_loopend_loopendaux1当执行这个FISH函数后,生成(nptab1+10,nprof)组数据,这些数据为Aux2调用。
注意:本段程序产生的数据是为那个特定的曲面边坡制作的,不是一个general purpose的LIB5)FISH函数aux2的作用是使用WATER TABLE face命令产生水面,把table 1的ytable值作为z坐标,aux1产生的数据作为x,y坐标。
def aux2commandset grav 0 0 -10water dens 1000end_commandloop n(1,nptab1-1)loop k (1,nprof-1)xx1=xtable(n+10,k)yy1=ytable(n+10,k)zz1=ytable(1,n)xx2=xtable(n+10,k+1)yy2=ytable(n+10,k+1)zz2=zz1xx3=xtable(n+11,k+1)yy3=ytable(n+11,k+1)zz3=ytable(1,n+1)xx4=xtable(n+11,k)yy4=ytable(n+11,k)zz4=zz3commandWATER TABLE face xx1,yy1,zz1 xx2,yy2,zz2 xx3,yy3,zz3WATER TABLE face xx1,yy1,zz1 xx3,yy3,zz3 xx4,yy4,zz4end_commandend_loopend_loopendaux213、 FLAC结果数据的导出pl set back white ;设置背景set plot bitmap size (800,510) ;设置图片大小plot set caption size 37 ; 设置图例数字大小 (default=35 范围10-50)mainwin size 1 1 position 0 0.8 ; command windowplot set window size 0.8 0.8 position 0.1 0.0 ; graphics window plot set center 100 0 40根据情况更改14、一段fish命令的解释def aux1 定义函数loop n(1,nptab1) 开始一个循环,从1循环到变量nptab1rr=xtable(1,n) 从table 1 的x列中读第n个数付给变量rrzz=ytable(1,n) 从table 1 的y列中读第n个数付给变量zzloop k(1,nprof) 开始第二个循环,从1循环到变量nprofcase_of k 下面是一个选择结构,利用变量k判断alfa=0.5*(pi+.1)*float(k-2)/float(nprof-2)xtable(n+10,k)=rr*cos(alfa)ytable(n+10,k)=rr*sin(alfa)case 1 当k=1的时候执行下面语句xtable(n+10,k)=rr table n+10的x列第k个值等于变量rrytable(n+10,k)=-40.0 table n+10的y列第k个值等于变量-40 case 2 当k=2的时候执行下面语句xtable(n+10,k)=rr table n+10的x列第k个值等于变量rrytable(n+10,k)=0.0 table n+10的y列第k个值等于变量0end_case 结束选择结构end_loop 结束第二个循环end_loop 结束第一个循环end 函数定义结束aux1 执行什么定义的函数15、有关命令的解释(1)apply nvel 0.1 plane dip 60 dd 270 range left_bounapply 施加边界条件,plane法向速度为0.1,plane 面的位置:倾角60(在xoy平面从-Z轴方向逆时针旋转),dd 走向270度,从+y 方向绕z轴顺时针旋转;(2) ini szz -5e4 grad 0 0 -1e4ini 初始边界条件,szz=-5e4+x*0+y*0+-z*-1e4,注:-5e4是range 范围起点坐标的SZZ值,x,y,z所施加应力网格点的坐标。