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。
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 + v10long_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 insiderockgen 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 outsiderock1gen zon brick p0 0 0 -12 p1 6 0 -12 p2 0 1 -12 p3 0 0 -6 size 4 2 5 groupoutsiderock2gen zon brick p0 6 0 0 p1 21 0 0 p2 6 1 0 p3 6 0 6 size 10 2 4 group outsiderock3gen 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 outsiderock4 gen zon brick p0 6 0 -12 p1 21 0 -12 p2 6 1 -12 p3 6 0 -6 size 10 2 5 group outsiderock5gen 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;完成计算分析(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。
FLAC-命令流及其解释大全
FLAC-命令流及其解释大全1. FLAC3D是有限元程序吗?答:不是!是有限差分法。
2. 最先需要掌握的命令有哪些?答:需要掌握gen, ini, app, plo, solve等建模、初始条件、边界条件、后处理和求解的命令。
3. 怎样看模型的样子?答:plo blo gro可以看到不同的group的颜色分布4. 怎样看模型的边界情况?答:plo gpfix red sk5. 怎样看模型的体力分布?答:plo fap red sk6. 怎样看模型的云图?答:位移:plo con dis (xdis, ydis, zdis)应力:plo con sz (sy, sx, sxy, syz, sxz)7. 怎样看模型的矢量图?答:plo dis (xdis, ydis, zdis)8. 怎样看模型有多少单元、节点?答:plo 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 / Restor17. 如何暂停计算?答:Esc18. 如何在程序中进行暂停,并可恢复计算?答:在命令中加入pause命令,用continue进行继续19. 如何跳过某个计算步?答:在计算中按空格键跳过本次计算,自动进入下一步20. Fish是什么东西?答:是FLAC3D的内置语言,可以用来进行参数化模型、完成命令本身不能进行的功能21. Fish是否一定要学?答:可以不用,需要的时候查Mannual获得需要的变量就可以了22. FLAC3D允许的命令文件格式有哪些?答:无所谓,只要是文本文件,什么后缀都可以23. 如何调用一些可选模块?答:config dyn (fluid, creep, cppudm)后注:这个工作很繁琐,需要的时间很多,希望广大网友能够将自己曾经遇到的常见问题在后续跟贴,也为了将这个FAQ进行很好的充实。
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,10group '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 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 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 2set 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 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 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 histories hist unbalhist gp zdisp (6,6,10)hist gp zdisp (0,0,10)hist gp zdisp (0,0,0); Settings set largeset grav 0,0,-10; Cycling step 4000save bin.sav9-5;;------------------------------------------------------------------rest pile_geom.sav model mohr range group clay prop bulk 8.333e7 shear 3.846e7 coh 30000 fric 0 range group clay model elas range group pile prop bulk 8.333e7 shear 3.846e7 range group pile interface 1 prop kn 1e8 ks 1e8 fric 20 coh 30000interface 2 prop kn 1e8 ks 1e8 fric 20 coh 30000;ini dens 1230 range group clay ini dens 1230 range group pile model 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 pile ini dens 2500 range group pile call find_add.fis solve 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 ;桩顶加第一级荷载solve save app0.4.sav print gp disp range id 1 ;输出第一级荷载下的桩顶位移,假定桩顶中心的id 号为1apply szz -0.6e6 range z 0.05 0.15 group pile ;桩顶加第二级荷载solve save app0.6.sav print gp disp range id 1 ;输出第二级荷载下的桩顶位移………………………………………… ;依次加载,直到桩破坏;--------------------------------------------------------------------;速度加载法rest pile1.sav ini state 0ini xdis 0 ydis 0 zdis 0def zs_top ;检测桩顶竖向荷载 ad = top_head zftot = 0.0 loop while ad # null gp_pnt = mem(ad+1) zf = gp_zfunbal(gp_pnt)zftot = zftot + zf ad = mem(ad) endloopzs_top = zftot / 0.1414endfix z range z 0.05 .15 group pile ;固定桩顶速度,用速度来确定位移def rampwhile_stepping if step < ncut then udapp = float(step) * udmax / float(ncut) else udapp = udmax endifad = top_headloop while ad # null gp_pnt = mem(ad+1) gp_zvel(gp_pnt) = udapp ad = mem(ad) endloop endhist gp zdis 0,0,0hist gp zvel 0,0,0hist zs_tophist zone szz 0,0,-.1set mech damp combset udmax = -1e-8 ncut 30000 step 225000save pile2.sav ;;--------------------------------------------------------------------;位移控制法def solve_steps loop n (1,21) save_file = string(n) + '-step.sav' command step 40000 save save_file pri zone stress ran id 2381 a id 2361 a id 2341 a;输出桩顶网格单元的应力endcommand endloop end solve_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 0 sel 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 )end set_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 not plot blo gro plot ad sel geom black black cid on scale=0.03plot ad ax pau delete ; 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 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 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 yelset 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。
(完整版)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命令流
命令流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 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 line5-1new; ===============================; 定义球体半径和半径方向上单元网格数; ===============================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 ref gen zone ref dip 90gen zone ref dip 90 dd 90; ===============================; 显示球体网格; ===============================plot surfpl set back whpl bl gr5-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 0.app 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 2000 set grav 0 0 -10solveplo con sz7-2ngen 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 0 solveplo con sz7-3ngen zone brick size 1 1 2model mohrprop bulk 3e7 shear 1e7 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 -10solve elasplo con sz7-4newgen 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 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 1 fix 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 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.1apply syy -1e9 grad 0 0 8.3333333e6 range y -.1 .1 apply syy -1e9 grad 0 0 8.3333333e6 range y 59.9 60.1apply szz -1e8 grad 0 0 8.3333333e5 ran z 0 120 set 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 .1 ini sxx -1e9 grad 0 0 6.6666666e6 range x 59.9 60.1ini syy -1e9 grad 0 0 8.3333333e6 range y -.1 .1 ini 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 soil gen 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 clay gen 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 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 any restore fill-3.savprint gp dis range id 517 any id 533 any restore fill-4.savprint gp dis range id 517 any id 533 any restore fill-5.savprint gp dis range id 517 any id 533 anyset log off ;关闭log记录8-1 def 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 0 save 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 fill gen zone reflect dd 270 dip 90 group 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 ; pause gen 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 6 gen 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 6 gen zone reflect dd 270 dip 90 range z 1 6.1 group pile range z 1 6.1 pause ini z add -6.0 range group pile save pile_geom.sav 9-2 ;导来导去法 ;--------------------------------------------- n gen zone brick size 3 3 3 group 2 range x 1 2 y 1 2 z 1 2 group 1 range gr 2 not save 1.sav del ran group 2 not interface 1 face range x 1 y 1 2 z 1 2 interface 1 face range x 2 y 1 2 z 1 2 interface 1 face range x 1 2 y 1 z 1 2 interface 1 face range x 1 2 y 1 2 z 1 interface 1 face range x 1 2 y 1 2 z 2 rest 1.sav del ran group 2 expgrid 1.fac3d impgrid 1.flac3d model elafix x y z ran z 0 ini den 2000 set grav 0 0 -10 interface 1 prop kn 20e6 ks 20e6 coh 10e3 fri 15 app nstr -200e3 ran x 0 1 y 1 2 z 3 solve 9-3 ;切割模型法 ;------------------------------ n gen zone brick size 3 3 3 group 1 range x 1 2 y 1 2 z 2 3 group 2 range group 1 not gen separate 1 int 1 wrap 1 2 int 1 maxedge 0.5 plo int red 9-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.0 group Material ; Create Bin Zones gen 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 Material prop 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 histories hist 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 fric0 range group claymodel elas range grouppileprop bulk 8.333e7 shear 3.846e7 range grouppileinterface 1 prop kn 1e8 ks 1e8 fric 20 coh30000interface 2 prop kn 1e8 ks 1e8 fric 20 coh30000;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.5 ini 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 pileprop bulk 13.9e9 shear 10.4e9 range group pileini dens 2500 range group pilecall 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.03 plot 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=2 sel 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 GravV plot set plane dip 90 dd 0 origin 3 4 0 plot set rot 15 0 20 plot set center 2.5 4.2 4.0 plot set cap size 25 plot add cont disp plane behind shade on plot add sel beam force fx plot add sel geom black black node=off shrinkfac=0.0 plot add axes plot 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 0 gen zone reflect normal 0 0 1 ori 0 0 0 mo mohr pro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5 ini dens 2000 fix x range x -25.1,-24.9 fix x range x 24.9 25.1 fix y range y 49.9 50.1 fix z range z -25.1 -24.9 fix z range z 24.9 25.1 sel cable id=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10 sel 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,10 sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 & gr_coh 10e5 gr_k 2e7 range cid 11,17 sel delete link range id 1 sel link id=100 1 target zone sel link attach xdir=rigid ydir=rigid zdir=rigid xrdir=rigid yrdir=rigid zrdir=rigid range id 100 sel cable id=1 pretension 60e3 range cid 1,10 step 2000 sav 10-5.sav 10-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 fill gen zone reflect normal 1 0 0 ori 0 0 0 gen zone reflect normal 0 0 1 ori 0 0 0 mo mohr pro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5ini dens 2000fix x range x -25.1,-24.9 fix x range x 24.9 25.1 fix y range y 49.9 50.1 fix z range z -25.1 -24.9 fix z range z 24.9 25.1 sel cable id=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10 sel cable id=1 beg 0,29,0 end 0,35,0 nseg 6 sel cable prop emod 2e10 ytension 310e3 xcarea 0.0004906 & gr_coh 1 gr_k 1 gr_per 0.0785 range cid 2,10 sel 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,1 sel cable id=1 pretension 60e3 range cid 1,10 step 2000 sav 10-6.sav 10-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,10 sel 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 ; concretesel liner PROP cs_nk=8e8 cs_sk=8e8 &cs_ncut=0.0 cs_scoh=0.0 cs_scohres=0.0 cs_sfric=0.0sel 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 100 sel cable id=1 pretension 60e3 range cid 1,10step 2000sav 10-7.sav10-8 ntitle Structure_dynamic_analysis_lakewater config 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 yelset 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)endset 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 1000 def 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 0 hist 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.savset dyn damp rayleigh 2 22.8 masssolve age=0.08titlevertical displacement versus time (mass damping only)plot showpause;(3)只有刚度分量rest 11-4_1.savset dyn damp rayleigh 2 22.8 stiffnesssolve age=0.08。
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平面的投影是一条射线。
完整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命令流(整理版)
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命令流
命令流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,10 model 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 line5-1new; ===============================; 定义球体半径和半径方向上单元网格数; ===============================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 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 surf pl set back whpl bl gr5-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-2 ngen 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 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 1 ini pp 30e3 grad 0 0 -10e3 ran z 0 2app nstress -10e3 ran z 2set 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 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 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 1 9-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 15 app 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.5 ini 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 ;输出桩顶网格单元的应力endcommandendloop endsolve_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 axes plot show10-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.1 sel 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 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)endset 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 3 group 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。
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仄里的投影是一条射线.最先该当依照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隐现正在过失的下令流中“”文献中惟有:“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 windowplot 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个值等于变量-40case 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所施加应力网格面的坐标.16、渗流示例;------------------------------参数部分bulk 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 流体的体积模量;-----------------------以下是下令流;------------------------------------------------------; Excavation in a saturated soil;------------------------------------------------------config fluid ;树坐流体算法; --- geometrical model --- 建坐模型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 ;档土墙不渗火ini 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 ;启掘部分也给拘束住了,而其余的场合不管; --- mechanical model --- 力教模型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.1; initial total stresses 出世总应力ini szz 0 grad 0 0 -1.5e4 ;z目标的应力大一些ini sxx 0 grad 0 0 -1.2e4 ;火仄目标的,小一些ini syy 0 grad 0 0 -1.2e4 ;apply 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 ;树坐重力加速度; --- initial state --- ;初初化状态solve force 1 ; check initial equilibrium 供解仄稳; --- histories --- 记录set hist_rep 40 ;记录步为40hist fltime ;记录时间hist gp pp 0 0 6 ;记录某面的孔隙火压力hist gp xdis 4 0 0 ;火仄位移hist gp xdis 4 0 2 ;记录火仄位移hist gp xdis 4 2 0hist gp zdis 0 0 5 ;记录横背位移hist gp zdis 2 0 5hist gp zdis 4 0 5hist gp zdis 2 2 5hist gp zdis 4 2 5hist gp zdis 4 4 5hist gp zdis 10 0 1hist gp zdis 10 0 2;; --- excavation --- 启掘set fluid off ;关关火; apply pore pressure at walls 正在墙上施加孔隙火压力apply nstress 0 grad 0 0 -1.e4 range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0 apply nstress 0 grad 0 0 -1.e4 range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0 apply 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.0endifend ;中断set ncyc = 1000 ;先赋值,随后调用apply nstress 0 grad 0 0 -1.e4 hist relax &range x 0.0 4.0 y 3.9 4.1 z 0.0 5.0apply nstress 0 grad 0 0 -1.e4 hist relax &range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0apply nstress -5.e4 hist relax &range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1cyc ncycsolve ;供解save exc2.sav ;保存;; --- percolation --- 渗透set fluid on ;树坐火算法fix pp 0 range x -0.1 4.1 y -0.1 4.1 z 4.9 5.1 ;施加孔隙火压力cyc 9000 ;循环save exc3.sav ;保存plot create excav ;建坐一个隐现的视图一下真量皆是隐现真量plot set rot 200 0 195plot set cent 6 6 6plot set dist 39.18plot set magn 0.8plot set plane ori 0 0 0 normal 0 -1 0plot add cont pp out onplot add block group lgra range group wallplot add cont pp int 10000 max 110000 range x 0 4 y 0 4 z 5 7 plot add flow planeplot showRet17、用什么下令不妨位移图中隐现最大位移面的坐标?问:用fish编了一个,算法佳像有面烦,不过脚段不妨真止您不妨参照一下.def get_gp_maxdispgp0_disp = gp_xdisp(gp_head)*gp_xdisp(gp_head)gp0_disp = gp0_disp + gp_ydisp(gp_head)*gp_ydisp(gp_head) gp0_disp = gp0_disp + gp_zdisp(gp_head)*gp_zdisp(gp_head) gp0_disp = sqrt(gp0_disp)p_gp=gp_head;找最大值loop while p_gp # nullgp_disp = gp_xdisp(p_gp)*gp_xdisp(p_gp)gp_disp = gp_disp + gp_ydisp(p_gp)*gp_ydisp(p_gp)gp_disp = gp_disp + gp_zdisp(p_gp)*gp_zdisp(p_gp)gp_disp = sqrt(gp_disp)if gp_disp>gp0_dispgp0_disp=gp_dispendifp_gp = gp_next(p_gp)endloop;找最大值的坐标p_gp=gp_headss=0loop while p_gp # nullgp_disp = gp_xdisp(p_gp)*gp_xdisp(p_gp)gp_disp = gp_disp + gp_ydisp(p_gp)*gp_ydisp(p_gp)gp_disp = gp_disp + gp_zdisp(p_gp)*gp_zdisp(p_gp)gp_disp = sqrt(gp_disp)if gp_disp=gp0_dispss=ss+1xtable(1,ss)=gp_xpos(p_gp)ytable(1,ss)=gp_ypos(p_gp)endifp_gp = gp_next(p_gp)endloopendget_gp_maxdisp18、怎么样隐现估计后模型的变形状态?问:pl sk magfac **(一个搁大的数字)19、怎么样查看剖里上任一面的位移值问:print gp disp range x() y( ) z( )大概 print gp disp range idplot gp disp range x() y( ) z( )大概 plot gp disp range id20、group下令区分斜里问:group groupname colour range plane above dd ** dip ** origin *** plane below dd ** dip ** origin ***dd 战dip便是二个斜里的倾背战倾角,origin是那个斜里通过的某个面,那个下令便不妨group二个斜里间的天区21、ansys导进flac的时间,怎么样区分一下group问:正在ansys中对于分歧group用分歧的资料号(mat)定义,再用ansys2flac之类的步调变换成flac的.dat 文献便可,group自动死成. 22、 fix x y z range x -0.1 0.1 ..........................afix x range x -0.1 0.1................................b请问a式与b式有何辨别?问:a 表示正在x=0 那个仄里是牢固的b 表示正在x=0 那个仄里只x目标不克不迭爆收疏通.23、怎么样了解每个单元的ID?问:用鼠标单打单元的表面,不妨了解单元的ID战坐标.24、怎么样举止切片?问:plo set plane ori (面坐标) norm (法背矢量)plo con sz plane (隐现z目标应力的切片)那二止下令,用去隐现指定里上的位移变更云图(把第二止改改,还不妨隐现应力云图,等其余);plot con syy y背应力云图plot con szz outline on z背应力云图加隐现网格plot con szz effective on z背灵验应力plot con szz inter 1e4 云图隐现删量(后里的值越小,图上颜色条戴便越细,)plot con szz min -10e4 隐现最小值,图上小于那个数的值皆用共一色表示plot con szz max 10e4 隐现最大值,图上大于那个数的值皆用共一色表示plot fip outside on 隐现力的箭头当前瞅鸿沟,如果是不动里,用fix x range…如果鸿沟戴速率,大概位移用ini…ini dens 1000树坐重力便一定要树坐稀度,不思量重力便不要安排稀度.二者共存的,安排步调的时间一定要记的.set mech force 50solve用SET下令设定了最大不仄衡力的上限值为50N,即:估计的最大不仄衡力一往小于此值,咱们便人为模型达到了仄稳状态.供解历程末止.树坐那个脚段是正在一定粗度央供下,加快估计(值越大,算的量越少,花的时间也越少).25、怎么样正在步调中举止久停,并可回复估计?问:正在下令中加进pause下令,用continue举止继承.正在咱们分步供解中念得到某一个历程中的截止,不必等到齐供完,还不妨正在分集供解过失的时间便举止改正,而不是等到截止出去. 26、怎么样跳过某个估计步?问:正在估计中按空格键跳过本次估计,自动加进下一步27、Fish是什么物品?Fish是可一定要教?问:是FLAC3D的内置谈话,不妨用去举止参数化模型、完毕下令自己不克不迭举止的功能.Fish不妨不必教,需要的时间查Mannual赢得需要的变量便不妨了.28、怎么样调用一些可选模块?问:config dyn (fluid, creep, cppudm)29、range的下令:①与圆球里的范畴,便是共一个核心,分歧半径之间夹的那一部分,用正在给球里施加力,拘束时用该下令,下令:range annulus center xyz(核心坐标)radius r1 r2(二半径),念要表黑的是球里时,r1r2与值出进小面即可,如radius 2.9 3.1 那时范畴便是半径为3的里.②圆柱的环里施加力大概拘束时也用到该下令.range cylinder end1 xyz end2 xyz radius r(end是表示柱体断里的核心面坐标)range plane above 表示的是z大于0的上部结构range plane blow 表示的是z小于0的下部结构range dd a dip b origin xyz 表示的是走背角度a,倾背角度b的里dd表示,劈里与xoy里相接时的垂线与y轴正背的夹角,顺为正,道心语,便是里的指背目标里是往那个目标的意义.dip里与xoy里的夹角,与z轴背背为正,origin表示里通过xyz面;range normal xyz 法线目标为xyz的里range not 出试用过(范畴中的物品,念念用到圆上与范畴非常佳). 30、怎么样调用FISH文献?问:新脚调用FISH文献堕落的本果:是:文献名为fishcall.fis.txt(果为正在记事本里那个txt的后缀是默认的).建改要领是:将fishcall.fis.txt 内里的真量局部复造到新的记事本里,再按保存,保存时间将保存典型改为所有文献(*,*),那时您即可正在文献名栏内输进fishcall.fis,典型也便粗确了.31、问a式与b式有何辨别?问:fix x y z range x -0.1 0.1 ..........................afix x range x -0.1 0.1................................ba 表示正在x=0 那个仄里是牢固的;b 表示正在x=0 那个仄里只x目标不克不迭爆收疏通.32、怎么样查看各个时段不仄衡力的简直数值?问:采与his去记录估计,包罗位移应力等下令his unbal;his gp(zone) zdis range (0 0 0) 大概者id=?;导出数据下令his write n vs m begin 时步 end 时步+ file filename.hisn表示记录的id m表示时步;要导出不仄衡力的简直数值his unbalstep 100000 or solvehis write 1 vs step begin 1 end 1000 file 123.his使用上述下令便不妨查看各个时步下的不仄衡力的简直数值.33、怎么样隐现变形表面线的下令?plo ske magf 10 其中10为搁大系数34、何如查看模型的矢量图?pl grid vel (disp) redplo blo gro不妨瞅到分歧的group的颜色分集(瞅模型的格式);plo gpfix red sk 瞅模型的鸿沟情况plo fap red sk 瞅模型的体力分集plo con dis (xdis, ydis, zdis) 瞅模型的云图:位移plo con sz (sy, sx, sxy, syz, sxz) 瞅模型的云图:应力plo dis (xdis, ydis, zdis) 瞅模型的矢量图plo info 瞅模型有几单元、节面plot grid 不妨查看网格,plot grid num 不妨查看节面号.plot fix 查看鸿沟条件plot grid mark 查看预先留设的启掘鸿沟pl syy (sxx xdis ydis sig1..) fill;查看模型的云图.注意,戴fill关键字便是查看云图,不戴fill 关键字便是查看等直线图.plo add ske 剖里的重落云图上减少网格plo add dis plane 剖里上的矢量plo add axe 剖里上坐标值35、何如查看INTERFACE?问:pl grid iface id redprint iface id ; id 是interface的编号36、FLAC怎么安排视图?问:ctrl+z 大概shift+z ,而后面打要搁大部位的左上角战左下角便不妨搁大某个部位,如果要缩小,单打屏幕. 37、推断模型中网格面是一个仍旧二个的要领.问:隐现模型网格面的ID,如果有二个ID号,证明是二个.节理里上的网格面该当有二个ID号.38、flac中效率运止时间的果素问:(1)单元资料,结构里之间的刚刚度对于比很大;(2)区分单元尺寸对于比很大,尽管预防少细比大于5:1的细少单元.39、简朴下令阐明:问:1.plot add cont disp out on 常常隐现云图2.plot block group gpnum on 隐现节面编号3.plot inter red ske 瞅交战里的效验.4.del range group 1 not 不简略group疑息5.del range group 2 简略group疑息6.ini z add ** range group ** (name)7.interface 1 face range x(*,*)y(*,*)z(*,*)大概者 interface 1 face range plane orig(x y z 坐标)norm(法线目标)建坐交战里8.water table clear 扫除火位线9.pl set back white 树坐背景10.set plot bitmap size (800,510) 树坐图片大小11.plot set caption size 37 树坐图例数字大小12.plot set center 100 0 40 树坐图片核心13.fix x y z range x -0.1 0.1 表示正在x=0 那个仄里是牢固的14.fix x range x -0.1 0.1 表示那个仄里只x目标不克不迭爆收疏通40、正在牢固里上施加位移时,fix与apply不克不迭共时使用,该当用ini战fix,才搞施加上.41、正在举止三轴压缩时间,怎么样施加围压?问:使用apply sxx =-1e5 szz=-1e5 range cyl end1 0,0,0 end2 0,2,0 radius 1,其中X战Z轴是正在咱们眼睛正对于的里.42、正在举止三轴压缩时间,怎么样对于轴背力举止位移统造?问:使用 ini yvel 1e-7 range y -0.1 0.1 ini yvel 1e-7 range y 1.9 2.1 即可,数值不妨变更.43、正在FLAC3D估计中,怎么样记录步调中的值,如果不念常常记录该怎么弄?问:用 hist wtite n1 vs n2 file.txt,念隔断记录可用set hist_rep n44、念记录交战里上的相关力教参数该怎么办?问:hist inter i nstress /ndis/sstress/sdisp45、交战里树坐参数包罗哪几个?问:coh dial fric kn ks ten.46、怎么样输出单元格的数据?问;expgrid .flacsd47、建模的历程中,大概共一个文献中有重复应用的下令,便不妨用宏下令了.问:宏下令: macro 称呼‘下令的真量’例:macro shiping ’ plot con zdip outline on’用shiping 代替后里的引号里的物品.正在建模中只消有相共的皆不妨用shiping代替,紧缩了书籍写下令的时间,完齐上也能让人瞅的更明黑.注意,您命名的标记最佳跟falc自戴的下令不要重复,处理要领是,称呼后戴数字.如shiping1;如果您念建改宏对于象,改变下令的真量,正在称呼上加单引号便是替换的意义. 例macro ’shiping1‘‘新的下令’.48、group的用法:①group间接加到模型的后里相称于给所有模型命名;②group name range x xyy zz给一个范畴的体命名 .例:正在gen zone brick ------ size ---- group name49、plot中add与set的辨别add本去有的加新的用addset本去不的,树坐用setplot 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 add bound behindplot add bcont szz planeplot add axesplot show .咱们念隐现别的图像,又不念把那个弄佳的图像拾掉,则用plot create name建坐一个图像,正在建坐新的图像时,plot create name1(新的名)隐现往日的图像,那么输进如下下令:plot current name.另一种要领,输进:plot show name50、分歧的天区定义分歧的本构模型model mohr range z=0,5prop ClayeyGravel range z=0,5正在定义参数后里加个range范畴,为了预防正在输进下令时总要通过range+局部坐标域的要领去规定该下令真止的天区,咱们不妨先通过range下令去给分歧的天区命名,而后便不妨用range+天区名的要领去规定范畴了.那样便预防了屡屡输进下令要规定正在该天区真止时,皆要输进一遍坐标范畴的贫苦.简直怎么样给天区命名,以及日后怎么样用天区名去规定该天区,不妨瞅底下那个例子:range name trench x=-1,1 y=0,4 z=-2,2model null range trench51、左脚规则:建坐模型时,各面的排搁时有顺序的.要领如下:拿出左脚伸直了4指合并指背便是p0到p1的目标,掌心指背便是p0到p2的目标,拇指与4指笔直的目标便是p0到p3的目标.很多人道网格后的云图有戴齿什么的,矫正的要领便是重复用底下的下令Gen ADJust用此下令去微调网格, 使之失集仄滑.该下令不妨连绝使用以删进仄滑效验的.52、如果念瞅模型正在估计历程中的变更情况Set movie avi step 1 file 1.avi;定义动画,动画记录的频次为1时步一频次(估计量大的时间便出需要1时步的记录,不妨10,100时步的记录,缩小电脑的使用):Movie start;动画启初附件里那个下令“”能将截止准时步道便算截止输出hist n= 5 :N(Nstep)=5指定了每迭代估计5次记录一次相关的值(如果不指定,则系统默认值为10);hist unbal 下令的第二止指定记录最大不仄衡力(the maximum unbalanced force);hist gp zdisp 4,4,8 记录坐标值为(4,4,8)的节面Z目标的位移(那个用的多,查看支敛量时便是那个下令,上头二个部分认为用处不大,也很少用过).53、应变硬化/硬化模型SS,怎么样采用参数表Pro ftab 1 ctab 2 dtab 3Table 1 0 45 .05 42 .1 40 1 40。
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 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 line5-1new; ===============================; 定义球体半径和半径方向上单元网格数; ===============================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 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 gr5-3ngen zon bri size 1 1 2group soil ran z 1 1group rock ran z 0 1expgrid 1.flac3d 6-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 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 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 0 fix 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 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 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 1e10fix 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 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 .1 ini 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_nz_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-7 rest 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 -10 interface 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 aprint gp disp range id 1 ;输出第一级荷载下的桩顶位移,假定桩顶中心的id号为1apply szz -0.6e6 range z 0.05 0.15 group pile ;桩顶加第二级荷载solveprint 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 show10-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 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 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 off def 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 yelset 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)endset 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 / freqend set 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,.1 set 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.savset dyn damp rayleigh 2 22.8 masssolve age=0.08titlevertical displacement versus time (mass damping only) plot showpause;(3)只有刚度分量rest 11-4_1.savset dyn damp rayleigh 2 22.8 stiffnesssolve age=0.08titlevertical displacement versus time (stiffness damping only)plot show11-6rest 11-4_1.savset dyn damp rayleigh 0.05 22.8set hist_rep=5solve age=0.5titlevertical displacement versus time (5% Rayleigh damping)plot showpauserest 11-4_1.sav。
FLAC动力分析
第11章非线性动力反应分析FLAC / FLAC3D可以进行非线性动力反应分析,而且具有强大的动力分析功能。
本章以FLAC3D为例,详细介绍了动力分析过程中的边界条件、阻尼形式、荷载要求等,并通过一些实例对个别问题做了详细解答。
本章要点:✓FLAC动力分析与等效线性方法的差别✓动力分析时间步的确定方式及影响因素✓动态多步的概念✓动力荷载的形式及施加方法✓动力边界条件的类型及适用条件✓地震荷载输入的要点✓三种阻尼形式的概念、参数确定及适用条件✓网格尺寸的要求✓输入荷载的校正✓地震液化的模拟✓完全非线性动力分析的步骤Equation Section 1111.1 概述FLAC / FLAC3D可以进行二维或三维的完全动力分析,FLAC/FLAC3D中的动力分析功能是可选模块,需要在程序中添加动力分析模块才可以进行。
FLAC3D中在动力分析前需要采用以下的命令:CONFIG dynamic对于FLAC,在程序开始时的Model Options对话框中选择Dynamic复选框。
FLAC / FLAC3D中的动力分析并不是只能孤立进行的,还可以与其他FLAC/FLAC3D元素进行耦合。
(1)与结构单元相耦合,可以用来进行土与结构的动力相互作用。
(2)与流体计算相耦合,可以模拟动力作用下土体孔隙水压力的上升直至土体液化。
(3)与热力学计算相耦合,可以计算热力荷载和动力荷载的共同作用。
(3)采用大变形计算模式,可以分析岩土体在动力荷载作用下发生的大变形。
FLAC和FLAC3D可以模拟岩土体在外部(如地震)或内部(如风、爆炸、地铁振动)荷载作用下的完全非线性响应,因此可以适用于土动力学、岩石动力学等学科的计算。
本章将以FLAC3D为例讨论动力计算的相关内容,FLAC的动力分析可以参照执行。
注意:FLAC和FLAC3D的动力计算十分复杂,读者在阅读本章内容之前要对FLAC3D的静力计算、流体计算十分熟悉,具体可以参阅本书的第7章和第12章的内容。
FLAC3D基本原理和应用特点第三讲FLAC3D动力分析、自定义本构以及结构单元
30
Friction=30, hr=0.43, Go=440
Damping Ratio (%)
20
10
0
0.0001
0.001
0.01
0.1
1
Shear Strain Amplitude (%)
14
14
等效线性方法
• 等效线性方法是岩土地震工程中模拟波的传播的最常用的方法。 • 假定土体是粘弹性体,参照实验室得到的切线模量及阻尼比与剪应变幅值的关
From Seed & Idriss (1970)
Go = small-strain
27
shear modulus
27
滞后阻尼
特定的曲线可以使用滞后阻尼 来描述,并在本构模型计算中 根据应变的大小获得不同的切 线模量。
表观应变是偏应变,根据先前 反转的点进行累计得到的。使 用堆栈的数据结构可以描述应 变反转现象。
19
19
弹塑性模型
简单的理想弹塑性本构模型仅仅在发生屈服时才会出现滞回特性
stress strain
注意:
即使这样粗糙的模型也能够作出连续的 阻尼比和模量衰减曲线。
在屈服条件下会产生 体积改变,但通常都 是剪胀。
20
20
FLAC3D中的阻尼比 1. 弹塑性本构模型使用瑞利(粘性)阻尼 2. 弹塑性本构模型使用滞后(HD)阻尼. 3. 复杂本构模型拥有连续的屈服应力应变关系和对应的加卸载
2. 不能计算永久变形。等效线性方法模型在加荷与卸荷时模量相同,不能计 算土体在周期荷载作用下发生的剩余应变或位移。
3. 塑形屈服模拟不合理。在塑性流动阶段,普遍认为应变增量张量是应力张 量的函数,称之为“流动法则”。然而,等效线性方法使用的塑性理论认为应 变张量(而不是应变增量张量)是应力张量的函数。因此,塑性屈服的模 拟不合理。
FLAC动力分析
第11章非线性动力反应分析FLAC / FLAC3D可以进行非线性动力反应分析,而且具有强大的动力分析功能。
本章以FLAC3D为例,详细介绍了动力分析过程中的边界条件、阻尼形式、荷载要求等,并通过一些实例对个别问题做了详细解答。
本章要点:✓FLAC动力分析与等效线性方法的差别✓动力分析时间步的确定方式及影响因素✓动态多步的概念✓动力荷载的形式及施加方法✓动力边界条件的类型及适用条件✓地震荷载输入的要点✓三种阻尼形式的概念、参数确定及适用条件✓网格尺寸的要求✓输入荷载的校正✓地震液化的模拟✓完全非线性动力分析的步骤Equation Section 1111.1 概述FLAC / FLAC3D可以进行二维或三维的完全动力分析,FLAC/FLAC3D中的动力分析功能是可选模块,需要在程序中添加动力分析模块才可以进行。
FLAC3D中在动力分析前需要采用以下的命令:CONFIG dynamic对于FLAC,在程序开始时的Model Options对话框中选择Dynamic复选框。
FLAC / FLAC3D中的动力分析并不是只能孤立进行的,还可以与其他FLAC/FLAC3D元素进行耦合。
(1)与结构单元相耦合,可以用来进行土与结构的动力相互作用。
(2)与流体计算相耦合,可以模拟动力作用下土体孔隙水压力的上升直至土体液化。
(3)与热力学计算相耦合,可以计算热力荷载和动力荷载的共同作用。
(3)采用大变形计算模式,可以分析岩土体在动力荷载作用下发生的大变形。
FLAC和FLAC3D可以模拟岩土体在外部(如地震)或内部(如风、爆炸、地铁振动)荷载作用下的完全非线性响应,因此可以适用于土动力学、岩石动力学等学科的计算。
本章将以FLAC3D为例讨论动力计算的相关内容,FLAC的动力分析可以参照执行。
注意:FLAC和FLAC3D的动力计算十分复杂,读者在阅读本章内容之前要对FLAC3D的静力计算、流体计算十分熟悉,具体可以参阅本书的第7章和第12章的内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
hist id=16 gp disp 62.3912 30 75.2851
hist id=17 gp disp 65 30 75.6
hist id=18 gp yacc 0 30 24.6
hist id=19 gp yacc 8.1089 30 25
hist id=10 gp disp 34.7475 30 69
hist id=11 gp disp 37.9218 30 72
hist id=12 gp disp 43.846 30 72.6824
hist id=13 gp disp 46.6029 30 73
hist id=14 gp disp 55.3267 30 74
set dyn damp rayleigh 0.05 9
set dyn time=0
hist reset ;清空里面所有的监测点
hist id=1 unbal
hist id=2 gp disp 0 30 24.6
hist id=3 gp disp 8.1089 30 25
hist id=4 gp disp 14.2921 30 28
hist id=40 gp yvel 30.0305 30 40.2326
hist id=41 gp yvel 31.655 30 64
hist id=42 gp yvel 34.7475 30 69
hist id=43 gp yvel 37.9218 30 72
hist id=44 gp yvel 43.846 30 72.6824
hist id=115 gp zdisp 8.1089 30 25
hist id=116 gp zdisp 14.2921 30 28
hist id=117 gp zdisp 22.3255 30 29
hist id=118 gp zdisp 24.6548 30 30
hist id=95 gp xdisp 59.6752 30 75
hist id=96 gp xdisp 62.3912 30 75.2851
hist id=97 gp xdisp 65 30 75.6
hist id=98 gp ydisp 0 30 24.6
hist id=99 gp ydisp 8.1089 30 25
hist id=5 gp disp 22.3255 30 29
hist id=6 gp disp 24.6548 30 30
hist id=7 gp disp 28.0801 30 34
hist id=8 gp disp 30.0305 30 40.2326
hist id=9 gp disp 31.655 30 64
hist id=55 gp zacc 28.0801 30 34
hist id=56 gp zacc 30.0305 30 40.2326
hist id=57 gp zacc 31.655 30 64
hist id=58 gp zacc 34.7475 30 69
hist id=59 gp zacc 37.9218 30 72
solve
save 静力分析摩尔库伦模型.sav
;动力学计算
restore 初始地应力.sav
set dyn on
set dyn multi on
ini xdis 0 ydis 0 zdis 0
ini xvel 0 yvel 0 zvel 0
;去掉模型底部原有的静力边界
fix x range x 0
fix x range x 65
fix y range y 0
fix y range y 60
hist id=1 unbal
solve
hist id=50 gp zacc 0 30 24.6
hist id=51 gp zacc 8.1089 30 25
hist id=52 gp zacc 14.2921 30 28
hist id=53 gp zacc 22.3255 30 29
hist id=54 gp zacc 24.6548 30 30
save 初始地应力.sav
ini xdis 0 ydis 0 zdis 0
ini xvel 0 yvel 0 zvel 0
model mohr
;定义材料属性灰岩
prop bulk=8.3e7 shear=3.85e7 ten=1.17e6 coh=27.2e6 fric=27.8
hist id=110 gp ydisp 55.3267 30 74
hist id=111 gp ydisp 59.6752 30 75
hist id=112 gp ydisp 62.3912 30 75.2851
hist id=113 gp ydisp 65 30 75.6
hist id=114 gp zdisp 0 30 24.6
hist id=90 gp xdisp 34.7475 30 69
hist id=91 gp xdisp 37.9218 30 72
hist id=92 gp xdisp 43.846 30 72.6824
hist id=93 gp xdisp 46.6029 30 73
hist id=94 gp xdisp 55.3267 30 74
hist id=45 gp yvel 46.6029 30 73
hist id=46 gp yvel 55.vel 59.6752 30 75
hist id=48 gp yvel 62.3912 30 75.2851
hist id=49 gp yvel 65 30 75.6
hist id=20 gp yacc 14.2921 30 28
hist id=21 gp yacc 22.3255 30 29
hist id=22 gp yacc 24.6548 30 30
hist id=23 gp yacc 28.0801 30 34
hist id=24 gp yacc 30.0305 30 40.2326
hist id=80 gp zvel 62.3912 30 75.2851
hist id=81 gp zvel 65 30 75.6
hist id=82 gp xdisp 0 30 24.6
hist id=83 gp xdisp 8.1089 30 25
hist id=84 gp xdisp 14.2921 30 28
hist id=70 gp zvel 24.6548 30 30
hist id=71 gp zvel 28.0801 30 34
hist id=72 gp zvel 30.0305 30 40.2326
hist id=73 gp zvel 31.655 30 64
hist id=74 gp zvel 34.7475 30 69
hist id=35 gp yvel 8.1089 30 25
hist id=36 gp yvel 14.2921 30 28
hist id=37 gp yvel 22.3255 30 29
hist id=38 gp yvel 24.6548 30 30
hist id=39 gp yvel 28.0801 30 34
hist id=60 gp zacc 43.846 30 72.6824
hist id=61 gp zacc 46.6029 30 73
hist id=62 gp zacc 55.3267 30 74
hist id=63 gp zacc 59.6752 30 75
hist id=64 gp zacc 62.3912 30 75.2851
hist id=30 gp yacc 55.3267 30 74
hist id=31 gp yacc 59.6752 30 75
hist id=32 gp yacc 62.3912 30 75.2851
hist id=33 gp yacc 65 30 75.6
hist id=34 gp yvel 0 30 24.6
hist id=65 gp zacc 65 30 75.6
hist id=66 gp zvel 0 30 24.6
hist id=67 gp zvel 8.1089 30 25
hist id=68 gp zvel 14.2921 30 28
hist id=69 gp zvel 22.3255 30 29
hist id=100 gp ydisp 14.2921 30 28
hist id=101 gp ydisp 22.3255 30 29
hist id=102 gp ydisp 24.6548 30 30
hist id=103 gp ydisp 28.0801 30 34
hist id=104 gp ydisp 30.0305 30 40.2326
hist id=85 gp xdisp 22.3255 30 29
hist id=86 gp xdisp 24.6548 30 30
hist id=87 gp xdisp 28.0801 30 34
hist id=88 gp xdisp 30.0305 30 40.2326
hist id=89 gp xdisp 31.655 30 64
;地震波输入