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 <add> 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/average>;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地址链条,方便以后使用。
(完整word版)FLAC3D命令流
(完整word版)FLAC3D命令流命令流1gen zone bri p0 0 0 0 p1 10 0 0 p2 0 10 0 p3 0 0 10 &p4 15 15 0 p5 0 15 15 p6 15 0 10 p7 20 20 20 &size 10 10 10 rat 1。
0 0。
9 1.1 group brick_1gen zone bri p0 20 0 0 p1 add 10 0 0 p2 add 0 20 0 p3 add 0 0 15 &size 10 10 10 rat 1。
0 0.9 1.1 group brick_2gen zone bri p0 40 0 0 edge 10 size 10 10 10 rat 1.0 0。
9 1.1 group brick_3plot sur2-1newgen zon bri size 3 3 3model elasprop bulk 3e8 shear 1e8ini dens 2000fix z ran z —。
1 。
1fix x ran x -。
1 。
1fix x ran x 2。
9 3。
1fix y ran y —.1 。
1fix y ran y 2.9 3.1set grav 0 0 —10solveapp nstress -10e4 ran z 3 x 1 2 y 1 2hist gp vel 0 0 3hist gp vel 0 3 3plo hist 1 redplo add hist 2 bluesolve3-1;——-—-—————--——-—--—-———--————-——-———-工程信息;Project Record Tree export;Title:Simple test ;—-———-—————---—-—--———————--—---—计算第一步;。
.。
STATE: STATE1 。
.configgrid 10,10model elastic(完整word版)FLAC3D命令流group 'User:Soil’ notnullmodel elastic notnull group 'User:Soil'prop density=1500.0 bulk=3E6 shear=1E6 notnull group ’User:Soil’fix x y j 1fix x i 1fix x i 11set gravity=9.81history 999 unbalancedsolvesave state1.sav;—-------—---——----—----------—---—计算第二步;... STATE:STATE2 ..。
FLAC3D常用命令总结
FLAC3D常用命令总结第一篇:FLAC3D常用命令总结1、模型建好如何检验所建模型是否有问题注意:第一步建模一定不要建太大的模型,可以建非常小的模型,确保模型的准确性,这样可以尽快开始后边的步骤,等后边计算分析步骤快速做完验证没有大问题,再将准确的模型建好换上,重新计算得到更加准确的结果。
2、如何检验应力边界、位移边界、加载速率等是否准确Plot add gpfix:看位移边界Plo add fap:看应力边界,看加载方向是否准确 Plot add vel:看速率,加载速率是否准确3、如何查看运算结果Plo con szz outline on:看z向应力云图,并显示边界网格 Plo add disp:看位移Plo con zdisp outline on magf 5:看z向位移云图,变形扩大5倍 Plo add bo :添加边界 Plo blo state:看是否屈服Plo add stensor:查看大主应力方向Plo con smin:小主应力Plo con smax:大主应力Plo con ssi(shear strain increment):查看剪切应变增量云图Plo bcont smin:查看单元小主应力4、如何做切面并查看切面结果在编辑“Edit“菜单中设置切面位置,在上述3命令后加上plane (pl)即可。
如:Plo con smin pl:查看切面小主应力5、后处理将模型导入到tecplot中做切面,加等值线等,对结果进一步处理,得到更漂亮的一些结果。
其他重要命令总结:1、如何在圆柱体四周如何施加约束条件?可以用fix...ran cylinder end1 end2 radius r1 cylinder end1end2 radius r2 not,其中r22、如何能把一个PLOT的图像数据导出来以便用其他软件绘图?答:用set log on 命令,把数据导出来,转到excel里处理一下,然后用surfer或者什么作图软件绘制就行了。
(完整版)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 fillplot surfgen zone reflect dip 0 dd 90 (对xy 面做镜像)面做镜像)gen zone reflect dip 90 dd 90 (对yz 面做镜像)面做镜像)(1)dd 表示y 轴正向顺时针到那条射线的夹角,dip 表示对称参照面与xy 平面的夹角,对称参照面与xy 平面的夹角在xy 平面的投影是一条射线。
陈育民《FLAC3D基础与工程实例》全部命令流
《FLAC/FLAC 3D基础与工程实例》全部命令流1gen zone bri p0 0 0 0 p1 10 0 0 p2 0 10 0 p3 0 0 10 &p4 15 15 0 p5 0 15 15 p6 15 0 10 p7 20 20 20 &size 10 10 10 rat 1。
0 0。
9 1.1 group brick_1gen zone bri p0 20 0 0 p1 add 10 0 0 p2 add 0 20 0 p3 add 0 0 15 &size 10 10 10 rat 1。
0 0.9 1.1 group brick_2gen zone bri p0 40 0 0 edge 10 size 10 10 10 rat 1。
0 0。
9 1.1 group brick_3plot sur2—1newgen zon bri size 3 3 3model elasprop bulk 3e8 shear 1e8ini dens 2000fix z ran z -.1 .1fix x ran x —.1 .1fix x ran x 2。
9 3。
1fix y ran y —.1 。
1fix y ran y 2.9 3.1set grav 0 0 -10solveapp nstress -10e4 ran z 3 x 1 2 y 1 2hist gp vel 0 0 3hist gp vel 0 3 3plo hist 1 redplo add hist 2 bluesolve3—1;———----——----—--—-—-——-—-—-——--------工程信息;Project Record Tree export;Title:Simple test;-—-—-—-——-—---———-—---—-——--——--—计算第一步;。
.. STATE: STATE1 ...。
FLAC3D命令流(整理版)
1、怎样查看模型答:plotgrid可以查看网格,plotgridnum可以查看节点号。
2、请问在圆柱体四周如何施加约束条件答:可以用fix...rancylinderend1end2radiusr1cylinderend1end2radiusr2not,其中r2<r1,其实就是选择range的时候选两个圆柱的差,即得到边界。
命令流如下:fixxrangeend1100end2140rad1end1100end2140rad13、怎么能把一个PLOT的图像数据导出来以便用其他软件绘图答:用setlogon命令,把数据导出来,转到excel里处理一下,然后用surfer或者什么作图软件绘制就行了。
4、用命令建立模型后,如何显示点的坐标答:使用ploblogrogpnumon命令5、关于gauss_dev对性质进行高斯正态分布的问题答:根据手册上的说明:下面的命令设定一个平均摩擦角为40度,标准方差是±5%。
则命令如下:propfriction40gauss_dev2问题:请问gauss_dev2中的2是如何计算的如果把±5%改为±10%,则命令应如何写40×5%=26、reflect问题问:genzoneradbrick&p0(0,0,0)p1(10,0,0)p2(0,10,0)p3(0,0,10)&size3,5,5,7&rati o1,1,1,&dim142fillplotsurfgenzonereflectdip0dd90(对xy面做镜像)genzonereflectdip90dd90(对yz面做镜像)(1)dd表示y轴正向顺时针到那条射线的夹角,dip表示对称参照面与xy平面的夹角,对称参照面与xy平面的夹角在xy平面的投影是一条射线。
首先应该按照dd 的方向大体确定这个面的朝向,dd指的是从y轴正方向按顺时针(clockwise)方向转向所要确定面的法线方向在xy平面上的投影的夹角,然后再确定dip,dip指的是从xy平面转向所要确定的平面的角.(及z轴负方向转过角度)(2)命令:reflectnormalxyzoriginxyz(根据法线和过一点建的面)最常用,至于实际使用过程中有人问道:normal-100与normal100的区别,我试过两者的效果是一样的,没区别,虽然方向不同,但表达的是同一个面。
FLAC3D命令流
命令流1gen zone bri p0 0 0 0 pl 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.00.91.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 n stress -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' notn ullmodel elastic notnull group 'User:Soil'prop den sity=1500.0 bulk=3E6 shear=1E6 not null group 'User:Soil'fix x y j 1fix x i 1fix x i 11set gravity=9.81history 999 un bala needsolvesave state1.sav; -------------------- 计算第二步;... STATE: STATE2 ....in itial xdisp 0 ydisp 0in itial xvel 0 yvel 0model null i 4 7 j 8 10group 'n ull' i 4 7 j 8 10group delete 'n ull'history 1 xdisp i=4, j=11solvesave state2.sav; ------------------- 绘图命令;*** plot comma nds ****;plot n ame: syyplot hold grid syy fill;plot n ame: Un bala need forceplot hold history 999;plot n ame: gridplot hold grid magnify 20.0 lred grid displaceme nt ;plot n ame: Xdis-Aplot hold history 1 line5- 1new;定义球体半径和半径方向上单元网格数 def parmrad=10.0 rad_size=5 end parm ;建立八分之一球体外接立方体网格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 语言将内部立方体节点调整到球面Jdef 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*py gp_zpos(p_gp)=k*pz end_ifp_gp=gp_next(p_gp)end_loopendmake_sphere gen zone refgen zone ref dip 90gen zone ref dip 90 dd 90J; 显示球体网格plot surf pl set back wh pl bl gr5- 3ngen zon bri size 1 1 2 group soil ran z 1 1 group rock ran z 0 1 expgrid 1.flac3d6- 1gen zon bri size 3 3 3 model 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 .1 fix y ran y 2.9 3.1 ini dens 2000 hist unbal set grav 10 solve elastic save 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 solve save 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 2hist 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.5; 利用镜像生成完整球体网格solve save 6-3.sav6- 4 rest 6-3.sav set log on set logfile 6-2.log print zone stress print gp dis set log off6- 5 rest 6-1.sav ini 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 plot set rot 20 0 30 plot con szz ou on magf 10 plot add hist 1set movie avi step 1 file 6-5.avi movie start solve movie finish7- 1 n gen zon bri size 1 1 2 model elas prop bulk 3e7 shear 1e7 fix z ran z 0 fix x ran x 0 fix x ran x 1 fix y ran y 0 fix y ran y 1 ini dens 2000 set grav 0 0 -10 solve plo con sz7- 2 n gen 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 0 fix x ran x 1 fix y ran y 0 fix y ran y 1 ini dens 2000 set grav 0 0 -10 solve prop bulk 3e7 shear 1e7 c 10e3 f 15 ten 0 solve plo con sz7- 3 n gen zone brick size 1 1 2 model mohr prop bulk 3e7 shear 1e7 coh 10e3 fri 15 ten0 fix z ran z 0 fix x ran x 0 fix x ran x1 fix y ran y 0 fix y ran y 1 ini dens 2000 set grav 0 0 -10 solve elas plo con sz7- 4 new gen zone brick size 1 1 2 model mohr prop bulk 3e7 shear 1e7 coh 10e3 fri 15 ten 0 fix z ran z 0 fix x ran x 0 fix x ran x 1 fix y ran y 0 fix y ran y 1 ini dens 2000ini szz -40e3 grad 0 0 20e3 ran z 0 2 ini syy -20e3 grad 0 0 10e3 ran z 0 2 ini sxx -20e3 grad 0 0 10e3 ran z 0 2set grav 0 0 -10 solve plo 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 1 ini syy -17.5e3 grad 0 0 10e3 ran z 0 1 ini sxx -17.5e3 grad 0 0 10e3 ran z 0 1 ini szz -15e3 grad 0 0 15e3 ran z 1 2ini syy -7.5e3 grad 0 0 7.5e3 ran z 1 2 ini sxx -7.5e3 grad 0 0 7.5e3 ran z 1 2ini pp 10e3 grad 0 0 -10e3 ran z 0 1 set grav 0 0 -10 solve plo 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 1 ini syy -30e3 grad0 0 10e3 ran z 0 1 ini sxx -30e3 grad 0 0 10e3 ran z 01 ini pp 30e3 grad 0 0 -10e3 ran z 02 app nstress -10e3 ran z 27-7 new gen 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 10 model elas pro bulk 10e10 she 10e10 ini 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 120 set grav 0 0 -10 step 30000ini xdisp 0 ydisp 0 zdisp 0 ini xvel 0 yvel 0 zvel 0 plo cont szz7-8 new gen 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 10 model elaspro bulk 10e10 she 10e10 ini 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.1 ini syy -1e9 grad 0 0 8.3333333e6 range y -.1 .1 ini syy -1e9 grad 0 0 8.3333333e6 range y 59.9 60.1 ini szz -1e8 ran z -.1 .1 fix x y z ran z -.1 .1 set grav 0 0 -10 solve ini xdisp 0 ydisp 0 zdisp 0 ini xvel 0 yvel 0 zvel 0 plo cont szzset grav 0 0 -10solve plo con sz7-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 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 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 clay set grav 0 0 -9.8 hist id=1 unbal solveprop 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 clay solvesave elastic.sav ;将节点位移清零;将节点速度清零;记录地基顶部中心点的沉降;记录路基坡脚处的沉降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 1 ini dens 1500 ran z 0 1 solve ; 按软件默认精度求解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 p30 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 5ini xdis 0 ydis 0 zdis 0ini xvel 0 yvel 0 zvel 0 hist id=2 gp zdis 0 0 0 hist id=3 gp zdis 27.5 0 0p4 27.5 5 0 &p5 0 5 5 p6 20 0 5 p7 20 5 5 size 8 1 5 group dam endcommandendloopend7-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 any set log off ;关闭 log 记录8- 1 def abcabc = 1 + 2 * 3abcd = 1.0 / 2.0 end abc print fish8- 2 def abcif aa < 0 thenabc = 0.0 elseabc = 2.0 * aaendif end abc8- 3def abcloop aa (1, 2.5) command print aa8- 4 new gen zon bri size 3 3 3 model elastic prop bu 3e7 sh 1e7 ini dens 2000 fix x y z ran z -.1 .1 fix x ran x -.1 .1 fix x ran x 2.9 3.1 fix y ran y -.1 .1 fix y ran y 2.9 3.1 set grav 10 solve ini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0 save 8-4.sav8- 5 rest 8-4.sav def E_modifyp_z = zone_head d_k = 704 d_n = 0.38 d_pa =101325.0 ;// 标准大气压 loop while p_z # null sigma_3 = -1.0 * z_sig1(p_z)E_new = d_k * d_pa * (sigma_3 / d_pa) A d_n z_prop(p_z,'young') = E_new p_z = z_next(p_z) endloopend E_modify8-6 rest 8-5.sav table 1 name load_settlement def 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 2 solve save file_name endcommand xtable(1,n) = -1.0 * app_load ytable(1,n) = gp_zdisp(p_gp) endloopend add_load save 8-6.sav8-7 rest 8-6.sav def find_max_disp p_gp = gp_head maxdisp_value = 0.0 maxdisp_gpid = 0 loop while p_gp # nulldisp_gp = sqrt(gp_xdisp(p_gp) A2 + gp_ydisp(p_gp) A 2 + gp_zdisp(p_gp) A 2)if disp_gp > maxdisp_value maxdisp_value = disp_gp maxdisp_gpid = gp_id(p_gp) endifp_gp = gp_next(p_gp) endloop end find_max_disp print maxdisp_value maxdisp_gpidrest 8-6.sav config zextra 1 def get_sigma_dif p_z = zone_head loop while p_z # nullsigma_dif = z_sig3(p_z) - z_sig1(p_z)z_extra(p_z,1) = sigma_dif p_z = z_next(p_z) endloop end get_sigma_dif plot 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.15 gen 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 clayJinterface 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 .31Jpausegen 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.1 pauseini z add -6.0 range group pile save pile_geom.sav9- 2.旦丰旦土洼导来导去法ngen zone brick size 3 3 3 group 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 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 2rest 1.sav del ran group 2 expgrid 1.fac3dimpgrid 1.flac3dmodel 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 solve9- 3 ;切割模型法 ngen 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 2int 1 maxedge 0.5plo int red9- 4; Create Material Zones gen 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 Zones gen zonebrick 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 synonyms range name=Bin group Bin range name=Material group Material ; Assign models to groups model mohr range Material model elas range Bingen separate Material interface 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 below int 1 maxedge 0.55 int 2 maxedge 0.55; Assign properties prop shear 1e8 bulk 2e8 fric 30 range Material prop shear 1e8 bulk 2e8 range Binini den 2000 int 1 prop ks 2e9 kn 2e9 fric 15 int 2 prop ks 2e9 kn 2e9 fric 15 ; Assign Boundary Conditions fix x range x -0.1 0.1 any x 5.9 6.1 any fix y range y -0.1 0.1 any y 5.9 6.1 any fix z range z -0.1 0.1 Binsolve rat 1.e-6 save pile1.savrest 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 30000Jini dens 1230 range group clayini dens 1230 range group pilemodel null range z -0.1 0.15Jfix 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.5 ini 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 rest pile1.sav ;调用保存文件ini state 0 ini 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 桩顶加第二级荷载solve save app0.6.sav print gp disp range id 1 输出第二级荷载下的桩顶位移依次加载,直到桩破坏;速度加载法 rest pile1.sav ini state 0 ini 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) endloop zs_top = zftot / 0.1414 endfix z range z 0.05 .15 group pile ; 固定桩顶速度,用速度来确定位移 def rampwhile_stepping if step < ncut thenudapp = float(step) * udmax / float(ncut) elseudapp = udmax endif ad = top_head loop while ad # nullgp_pnt = mem(ad+1) gp_zvel(gp_pnt) = udapp ad = mem(ad) endloop end hist gp zdis 0,0,0 hist gp zvel 0,0,0 hist zs_top hist zone szz 0,0,-.1 set mech damp comb set; Monitor histories hist unbal hist gp zdisp (6,6,10) hist gp zdisp (0,0,10) hist gp zdisp(0,0,0); Settings set large set grav 0,0,-10; Cycling step 4000 save bin.sav water density 1000water table origin 0,0,-5.5 normal 0 0 -1ini dens 1550 range z -8 -5.5hist unbalsolve rat1.e-6savepile0.savmodel elas propbulk 13.9e9 inidens 2500 callfind_add.fisshear 10.4e9range group pilerange group pilerange group pile9-5udmax = -1e-8 ncut 30000 step 225000 save 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_steps10- 1sel beam beg 0 0 0 end 2 0 0 nseg 2 sel beam beg 2 0 0 end 4 0 -1 nseg 3 sel beam id=2 beg 4 0 -1 end 5 0 -2 nseg 2 plot sel geo id on nod on scale 0.04 plot 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 2 sel beamsel id=1 cid=2 node 2 3 sel beamsel id=1 cid=3 node 3 4 plot sel geo id on nod on scale 0.04 plot 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 axpaudelete ; delete all zones10- 5 ;非全长锚固、预紧力锚杆(锚索)模拟 ;方法 1、通过删除-建立 link 链接来模拟托盘new gen zone radtun p0 0,0,0 p1 25,0,0 p2 0,50, 0 p3gen zone brick size 6 8 8 0,0,25 size 4 25 4 10 dim 4 4 4 4 ratio 1 1 1 1.1 fill model mohr gen zone reflect normal 1 0 0 ori 0 0 0prop bulk 1e8 shear 0.3e8 fric 35 gen zone reflect normal 0 0 1 ori 0 0 0prop coh 1e10 tens 1e10 mo mohrset grav 0 0 -9.81 pro bulk 2.2e9 she 1.3e9 fric 30 cohini dens 1000 1.3e6 ten 1.5e5fix x range x -0.1 0.1 ini dens 2000fix x range x 5.9 6.1fix y range y -0.1 0.1 fix x range x -25.1,-24.9fix y range y 7.9 8.1 fix x range x 24.9 25.1fix z range z -0.1 0.1 fix y range y 49.9 50.1hist n 5 fix z range z -25.1 -24.9hist unbal fix z range z 24.9 25.1set mech force 50solve sel cable id=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10save beam-brace0.sav sel cable id=1 beg 0,29,0 end 0,35,0 nseg 6J sel cable id=1 prop emod 2e10 ytension 310e3 xcarea prop coh 1e3 tens 1e3 0.0004906 &model null range x 2 4 y 2 6 z 5 10gr_coh 1 gr_k 1 gr_per 0.0785 range cid 1,10sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 &sel 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 8 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,10plot 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 showstep 2000sav 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 mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5 ini dens 2000fix x range x -25.1,-24.9fix x range x 24.9 25.1sel node init zpos add -25.010-4set largeini xdis 0 ydis 0 zdis 0solvesave beam-brace1.savfix 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 fill gen zone reflect normal 1 0 0 ori 0 0 0 gen zone reflect normal 0 0 1 ori 0 0 0 mo mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5 ini dens 2000fix x range x -25.1,-24.9fix x range x 24.9 25.1fix y range y 49.9 50.1fix z range z -25.1 -24.9fix z range z 24.9 25.1sel cable id=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10sel cable id=1 beg 0,29,0 end 0,35,0 nseg 6 sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 & gr_coh 1 gr_k 1 gr_per 0.0785 range cid 1,10sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 10e5 gr_k 2e7 range cid 11,17sel liner range y=-.1, .1 x=-1,1 z=-1,1sel liner PROP iso=( 25e9, 0.15) thick=0.1 ; concrete sel liner PROP cs_nk=8e8 cs_sk=8e8 &cs_ncut=0.0 cs_scoh=0.0 cs_scohres=0.0 cs_sfric=0.0 sel delete link range id 1sel link id=100 1 target node tgt_num 18sel link attach xdir=rigid ydir=rigid zdir=rigidxrdir=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.avi movie start sol age 1movie finish set dyn multi onsolve age 1.0print tim 输出计算时间 printdyn savemult1.sav;设置动态多步;输出动力计算相关信息11-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=.110.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 2000def setupfreq = 1.0omega = 2.0 * pi * freq old_time = clock end setup 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 ;估算程序运行的时间11-2 new config dyn gen zone brick size 1,1,50 model elas prop shear 1e7 bulk 2e7 ini dens 1000def setupomega = 2.0 * pi * freq pulse = 1.0 / freq endset freq=4.0 setup def waveif dytime > pulse wave = 0.0elsewave = 0.5 * (1.0 - cos(omega * dytime))endif endrange name bottom z=-.1 .1fix z range z=.5 55 ;将上部网格都施加数值向约束apply dquiet squiet range bottomapply sxz -2e5 hist wave syz 0.0 szz 0.0bottom ;-2e5 的系数来源于的值apply nvel 0 plane norm 0,0,1 range bottom hist gp xvel 0,0,0 histgp xvel 0,0,25 hist gp xvel 0,0,50 hist dytime hist wave plot create hhh plot add hist 1 2 3 vs 4 plot show solve age 2rangetim = 0.01 * (clock -old_time)end11- 3 new ;第一步:静力计算阶段config dyn set dyn off gen zone brick size 6 3 2 gen zone brick size 2 3 2 p0 0 0 2 gen zone brick size 2 3 2 p0 4 0 2 gen zone wedge size 1 3 2 p0 2 0 2 gen 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 4 model 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 unbalsolve save 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 3 set dyn time = 0 ;设置动力计算从 0s 开始hist reset ;清空已有的历史信息hist unbalhist dytime ; 主体网格hist gp xvel 2 1 0 hist 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.0 solve age 0.015 save 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 show pause;( 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.savset dyn damp local 0.1571 ; = pi * 0.05set hist_rep=5solve age=0.5titlevertical displacement versus time (5% Local damping) plot show11- 7 ;振动台试验的例子 new config dynamic fluid def model_dim h_R = 0 h_R1 = h_R + 1.0 end model_dimgen zon bri p0 0 0 -10 p1 30 0 -10 p2 0 1 -10 p3 0 0 0 p430 1 -10 p5 0 1 0 p6 30 0 h_R p7 30 1 h_R size 30 1 10 group sandgen zon bri p0 0 0 0 p1 30 0 h_R p2 0 1 0 p3 0 0 1 p4 30 1 h_R p5 0 1 1 p6 30 0 h_R1 p7 30 1 h_R1 size 30 1 1 group top;gen zon bri p0 0 0 -.5 p1 3 0 -.5 p2 0 1 -.5 p3 0 0 0 p4 31 -.5 p5 0 1 0 p6 3 0 0 p7 3 1 0 size 30 1 10 model elastic prop bulk=3e7 shear=1e7 fric=35 ini dens 2000 model fl_iso prop poro 0.5 perm 1e-8 ini fmod 2e8 fdens 1000 ini pp 0 grad 0 0 -10e3 ran z 0 -10.0fix z ran z -9.9 -10.1 fix x ran x -.1 .1 fix x ran x 29.9 30.1 fix y set grav 10 set fluid off dyn off ini fmod 0 set mech rat 1e-6 solve def ini_conf _k0 = 1.0pnt = zone_head loop while pnt # nullval = _k0 * z_szz(pnt) + (_k0-1.) * z_pp(pnt)z_sxx(pnt) = val z_syy(pnt) = val pnt=z_next(pnt) end_loopend ini_conf solve save 11-7.sav11- 8 rest 11-7.sav set dyn on fluid on ini fmod 2e8 set fluid pcut on model finn ran gro sandprop bulk=3e7 shear=1e7 fric=35 ran gro sand ini dens 2000 ran gro sand prop ff_latency=50 ff_switch = 0ff_c1=0.8 ff_c2=0.79 ff_c3=0.45 ff_c4=0.73 ran gro sand ;扭剪试验结果 def setupfreq=5.0 ampl=2 omega = 2.0 * pi * freq end setup def sine_wavevv = 9.36e-2 * sin(omega*dytime) if dytime < 2.0 sine_wave = dytime / 2.0 * vvelse if dytime < 20.0 sine_wave = vv else if dytime <= 30.sine_wave = (30.0 - dytime) / 10.0 * vv endif endifendifif dytime > 30.0 sine_wave = 0.0endif end free x apply xvel = 1.0 hist sine_wave ran z -9.9 -10.1 apply xvel = 1.0 hist sine_wave ran x -.1 .1 apply xvel = 1.0 hist sine_wave ran x 29.9 30.1 set dyn damp local .314 call ppr.dat set hist_rep 100 set large ;set dyn dt 3e-4 set mech rat 1e-20 def solve_ages loop n(1,39)save_file = '11-8_'+string(n)+'s.sav' command sol age n ;save save_fileendcommandendloop end solve_ages save save_file hist write 20 21 22 23 24 30 31 32 33 34 vs 2 file 10-8_Outfile_pp.txt hist write 40 41 42 43 44 vs 2 file 10-8_Outfile_xdis.txt。
flac3d5.0常用命令集锦
建 模1、调用文件:①文件与工程在同一个文件夹,只写文件名即可:If the called file is located in the same folder as the FLAC3D project file, then only the file name need be entered with the CALL command.②不在同一个文件夹,全路径:Otherwise, the file may be called by specifying its complete path (e.g., c:\myfolder\file.dat ).Undo ;撤销上一条命令2、创建 旋转 缩放视图3、建模命令model mech mohr ;莫尔库伦模型model mech elastic ;弹性模型set grav 0, 0, -9.81 ; 重力加速度 negative z -direction. (垂直向下!常用的)下下面面这这代代码码,,是是沿沿着着--y y 方方向向的的重重力力加加速速度度,,注注意意区区别别!!!!!!!!gen zone brick size 6,8,8 p0 -10, -10, -20 ... ;省略号表示写不下后面继续p1 10, -10, -20 ...p2 -10, 10, -20 ...p3 -10, -10, 0plot zonegen zone brick size 6,8,8 p0 -10, -10, -20 ... ;不规则六面体p1 10, -10, -20 p2 -10, 10, -20 ...p3 -10, -10, 0 p4 10, 10, -20 ...p5 -10, 10, 10 p6 10, -10, 0 ...p7 10, 10, 10plot current plot Plot01plot clearplot zoneUndo ;撤销命令set logfile 127X1001.txtset log on truncateset log offlist zone prin range x 0 1 y 0 1 z 0 1 ;显示指定围各单元的主应力,结果如下Hist命令:①命令编号按顺序从1开始:each history is numbered sequentially from 1 as it is entered via the HISTORY command.②查找显示所有的his命令:Return to the Flac3D> prompt and typelist histfor a listing of the histories and their corresponding numbers.hist nstep 5 ;每5步记录1次。
Flac3D命令--完整经典版
实例分析命令:1. X ,Y ,Z 旋转 Shift+ X ,Y ,Z 反向旋转Gen zone ……;model ……;prop ……(材料参数);set grav 0,0,(重力加速度) plot add block group red yellow 把在group 中的部分染成红色和黄色plot add axes black 坐标轴线为黑色;print zone stress% K 单元应力结果输出 ini dens 2000 ran z a b (设置初始密度,有时不同层密度不同);ini ……(设置初始条件);fix ……(固定界面)set plot jpg ;set plot quality 100 ;plot hard file 图像输出(格式、像素、名称) plot set magf 视图的放大倍数为;plo con szz z 方向应力云图2. ini z add -1 range group one 群one 的所有单元,在z 方向上向下移动1m ;然后合并命令 gen merge 1e-5 range z 0此命令是接触面单元合并成一个整体,1e-5是容差3. (基坑开挖步骤):Step 1: create initial model state (建立初始模型)Step 2: excavatetrench (开挖隧道)4. group Top range group Base not 定义(群组Base 以外的为)群组Top5. plot blo gro 使得各个群组不同颜色显示6. (两个部分间设置界面;切割法):gen separate Top 使两部分的接触网格分离为两部分;interface 1 wrap Base Top 在(Base 和Top )这两部分之间添加接触单元;plot create view_int 显示,并创建标题view_int ;plot add surface 显示表面;plot add interface red 界面颜色红色7. (简单的定义函数及运行函数)new ;def setup 定义函数setup ;numy = 8定义常量numy 为8;depth = 定义depth 为10;end 结束对函数的定义;setup 运行函数setup8. (隧道生成)上部圆形放射性圆柱及下部块体单元体的建立,然后镜像。
Flac3D命令--完整经典版
27. ID号查询通过标题栏查看或者执行【Plotitems】/【1 Block group】/【Modify】命令中
grid_point ID’s 28. 建立接触面单元的各类方法(桩的接触面桩端和桩侧最好采用不同id号的接触面单元) 接触面参数的选取见文件155页9.51。接触面有关的常用命令9.7 162页。 ① 移来移去法:两个模型分开,一个建立接触面单元,然后移动使两个模型合并。
PLOT block group 查看计算模型 Ctrl+G 变成灰色图像
25. 采用 2 种方式观察网格节点速度: : HIST gpvel<x y z>记录某个节点的速度; PLOT
vel 命令绘制完整的速度矢量场图;力平衡时,由于网格节点力不为零就存在网
格节点速度,仍有可能产生较大位移。 26. 初始地应力场:通常用的是以下三种方法,即弹性求解法、改变参数的弹塑性求解法
定义群组方法!
Gen zone brick size 3 3 3 ; group 2 range x 1 2 y 1 2 z 1 2 ; group 1 range group 2 not
删除其它群组 只保留群组2
del ran group 2 not
Plot blo gro range group dam只显示dam组的单元
6 5 所以 xx 为: xx =-10 10 +10 z ;原点(0,0,0)
14. free x range x -.1 .1 z 6.9 10.1放松x=0 平面上,z=7,10 这一部分在x 方向的约 束(可以在此处产生破坏) 15. 体积模量K和剪切模量G与杨氏模量及泊松比v之间的转换关系如下:
之后重新打开6-2.log
(完整版)FLAC3D常用命令
1. 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的单元为各向同性弹性本构。
5)命名一个范围(需要先命名这个范围)格式:range name <自己起一个名字> <范围> 示例:range name intersected_zones x 5 8 y 3 7 引用这个范围的格式:内容+range nrange <自己起的那个名字> 示例:range nrangeintersected_zone6)命名一个柱形范围格式:同4)示例1:range name bhole cylinder end10 0 0 end2 -9.14 0 0 rad 0.46示例2:range name interface1 cylinder end1 0 0 0 end2 0 0 -0.9 radius 0.36 &cylinder end1 0 0 0 end2 0 0 -0.9 radius 0.34 not 7)any 和notAny 跟在range 命令后表示“和”的意思,即使若干个定义的范围同时起效;not 跟在range后表示“除了”的意思,即除此之外的范围示例1:group wall range group 1 any group 2 any ;把组 1 和组 2 定义为新组,组名为wall示例2:group wall range group 1 not ;把除了组 1 之外的所有部分定义为新组,组名为wall.示例3:range name interface1 cylinder end1 0 0 0 end2 0 0 -0.9 radius 0.36 &cylinder end1 0 0 0 end2 0 0 -0.9 radius 0.34 not3. set 用来设置重力、收敛标准、给某些变量赋值1)设置重力格式:set gravity 0 0 -102)设置收敛标准格式1:set mech ratio <value> :用R 无量纲值确定收敛标准(默认10e-5)格式2:set mech force <value> ;绝对收敛标准,体系最大不平衡力小于某一临界值,此局限性较大。
《FLAC3D基础与工程实例》全部命令流
1
gen zone bri p0 0 0 0 p1 10 0 0 p2 0 10 0 p3 0 0 10 &
p4 15 15 0 p5 0 15 15 p6 15 0 10 p7 20 20 20 &
size 10 10 10 rat 1.0 0.9 1.1 group brick_1
gen zone bri p0 20 0 0 p1 add 10 0 0 p2 add 0 20 0 p3 add 0 0 15 &
solve
app nstress -10e4 ran z 3 x 1 2 y 1 2
hist gp vel 0 0 3
hist gp vel 0 3 3
plo hist 1 red
plo add hist 2 blue
solve
3-1
;-------------------------------------工程信息
ini szz -15e3 grad 0 0 15e3 ran z 1 2
ini syy -7.5e3 grad 0 0 7.5e3 ran z 1 2
ini sxx -7.5e3 grad 0 0 7.5e3 ran z 1 2
model elas
prop bulk 3e8 shear 1e8
ini dens 2000
fix z ran z -.1 .1
fix x ran x -.1 .1
fix x ran x 2.9 3.1
fix y ran y -.1 .1
fix y ran y 2.9 3.1
set grav 0 0 -10
set log off
6-5
rest 6-1.sav
陈育民《FLAC3D基础与工程实例》全部命令流
《FLAC/FLAC 3D基础与工程实例》全部命令流1gen zone bri p0 0 0 0 p1 10 0 0 p2 0 10 0 p3 0 0 10 &p4 15 15 0 p5 0 15 15 p6 15 0 10 p7 20 20 20 &size 10 10 10 rat 1.0 0.9 1.1 group brick_1gen zone bri p0 20 0 0 p1 add 10 0 0 p2 add 0 20 0 p3 add 0 0 15 &size 10 10 10 rat 1.0 0.9 1.1 group brick_2gen zone bri p0 40 0 0 edge 10 size 10 10 10 rat 1.0 0.9 1.1 group brick_3plot sur2-1newgen zon bri size 3 3 3model elasprop bulk 3e8 shear 1e8ini dens 2000fix z ran z -.1 .1fix x ran x -.1 .1fix x ran x 2.9 3.1fix y ran y -.1 .1fix y ran y 2.9 3.1set grav 0 0 -10solveapp nstress -10e4 ran z 3 x 1 2 y 1 2hist gp vel 0 0 3hist gp vel 0 3 3plo hist 1 redplo add hist 2 bluesolve3-1;-------------------------------------工程信息;Project Record Tree export;Title:Simple test;---------------------------------计算第一步;... STATE: STATE1 ....configgrid 10,10model elastic group 'User:Soil' notnullmodel elastic notnull group 'User:Soil'prop density=1500.0 bulk=3E6 shear=1E6 notnull group 'User:Soil'fix x y j 1fix x i 1fix x i 11set gravity=9.81history 999 unbalancedsolvesave state1.sav;----------------------------------计算第二步;... STATE: STATE2 ....initial xdisp 0 ydisp 0initial xvel 0 yvel 0model null i 4 7 j 8 10group 'null' i 4 7 j 8 10group delete 'null'history 1 xdisp i=4, j=11solvesave state2.sav;--------------------------------绘图命令;*** plot commands ****;plot name: syyplot hold grid syy fill;plot name: Unbalanced forceplot hold history 999;plot name: gridplot hold grid magnify 20.0 lred grid displacement;plot name: Xdis-Aplot hold history 1 line5-1new; ===============================; 定义球体半径和半径方向上单元网格数; ===============================def parmrad=10.0rad_size=5endparm; ===============================; 建立八分之一球体外接立方体网格; ===============================gen zone pyramid p0 rad 0 0 p1 rad 0 rad p2 rad rad 0 p30 0 0 &p4 rad rad rad size rad_size rad_size rad_size group 1 gen zone pyramid p0 0 rad 0 p1 rad rad 0 p2 0 rad rad p3 0 0 0 &p4 rad rad rad size rad_size rad_size rad_size group 2 gen zone pyramid p0 0 0 rad p1 0 rad rad p2 rad 0 rad p3 0 0 0 &p4 rad rad rad size rad_size rad_size rad_size group 3; ==================================; 利用FISH语言将内部立方体节点调整到球面; ==================================def make_spherep_gp=gp_headloop while p_gp#null; 获取节点点坐标值:P=(px,py,pz)px=gp_xpos(p_gp)py=gp_ypos(p_gp)pz=gp_zpos(p_gp)dist=sqrt(px*px+py*py+pz*pz)if dist>0 then; 节点位置调整maxp=max(px,max(py,pz))k=(maxp/rad)*(rad/dist)gp_xpos(p_gp)=k*pxgp_ypos(p_gp)=k*pygp_zpos(p_gp)=k*pzend_ifp_gp=gp_next(p_gp)end_loopendmake_sphere; ===============================; 利用镜像生成完整球体网格; ===============================gen zone refgen zone ref dip 90gen zone ref dip 90 dd 90; ===============================; 显示球体网格; ===============================plot surfpl set back whpl bl gr 5-3ngen zon bri size 1 1 2group soil ran z 1 1group rock ran z 0 1expgrid 1.flac3d6-1gen zon bri size 3 3 3model mohrprop bu 3e6 sh 1e6 coh 10e3 fric 15fix z ran z -.1 .1fix x ran x -.1 .1fix x ran x 2.9 3.1fix y ran y -.1 .1fix y ran y 2.9 3.1ini dens 2000hist unbalset grav 10solve elasticsave 6-1.sav6-2rest 6-1.savini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0app nstress -100e3 ran z 2.9 3.1 x 1 2 y 1 2 solvesave 6-2.sav6-3rest 6-1.savini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0app nstress -100e3 ran z 2.9 3.1 x 1 2 y 1 2 hist id=2 gp zdis 1 1 3hist id=3 gp zdis 1 1 2hist id=4 gp xdis 1 1 3hist id=5 gp xdis 1 1 3hist id=6 zone szz 1 1 3hist id=7 zone szz 1.5 1.5 2.5hist id=8 zone sxz 1.5 1.5 2.5solvesave 6-3.sav6-4rest 6-3.savset log onset logfile 6-2.logprint zone stressprint gp disset log off6-5rest 6-1.savini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0app nstress -100e3 ran z 2.9 3.1 x 1 2 y 1 2 plot set rot 20 0 30plot con szz ou on magf 10plot add hist 1set movie avi step 1 file 6-5.avimovie startsolvemovie finish7-1ngen zon bri size 1 1 2model elasprop bulk 3e7 shear 1e7fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000set grav 0 0 -10solveplo con sz7-2ngen zon bri size 1 1 2 model mohrprop bulk 3e7 shear 1e7 c 1e10 f 15 tension 1e10 fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000set grav 0 0 -10solveprop bulk 3e7 shear 1e7 c 10e3 f 15 ten 0solveplo con sz7-3ngen zone brick size 1 1 2model mohrprop bulk 3e7 shear 1e7 coh 10e3 fri 15 ten 0fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000set grav 0 0 -10solve elasplo con sz7-4newgen zone brick size 1 1 2model mohrprop bulk 3e7 shear 1e7 coh 10e3 fri 15 ten 0fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000ini szz -40e3 grad 0 0 20e3 ran z 0 2ini syy -20e3 grad 0 0 10e3 ran z 0 2ini sxx -20e3 grad 0 0 10e3 ran z 0 2set grav 0 0 -10solveplo con sz7-5ngen zon bri size 1 1 2model mprop bulk 3e7 shear 1e7 c 10e10 f 15 ten 1e10 fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000 ran z 0 1ini dens 1500 ran z 1 2ini szz -35e3 grad 0 0 20e3 ran z 0 1ini syy -17.5e3 grad 0 0 10e3 ran z 0 1ini sxx -17.5e3 grad 0 0 10e3 ran z 0 1ini szz -15e3 grad 0 0 15e3 ran z 1 2ini syy -7.5e3 grad 0 0 7.5e3 ran z 1 2ini sxx -7.5e3 grad 0 0 7.5e3 ran z 1 2ini pp 10e3 grad 0 0 -10e3 ran z 0 1set grav 0 0 -10solveplo con sz7-6ngen zon bri size 1 1 2model mprop bulk 3e7 shear 1e7 c 10e10 f 15 ten 1e10 fix z ran z 0fix x ran x 0fix x ran x 1fix y ran y 0fix y ran y 1ini dens 2000 ran z 0 2ini szz -50e3 grad 0 0 20e3 ran z 0 1ini syy -30e3 grad 0 0 10e3 ran z 0 1ini sxx -30e3 grad 0 0 10e3 ran z 0 1ini pp 30e3 grad 0 0 -10e3 ran z 0 2app nstress -10e3 ran z 2 set grav 0 0 -10solveplo con sz7-7newgen zone brick p0 0 0 0 p1 60 0 0 p2 0 60 0 p3 0 0 90 & p4 60 60 0 p5 0 60 90 p6 60 0 150 p7 60 60 150 & size 6 6 10model elaspro bulk 10e10 she 10e10ini den 2500apply sxx -1e9 grad 0 0 1.1111111e7 range x -.1 .1 apply sxx -1e9 grad 0 0 6.6666666e6 range x 59.9 60.1 apply syy -1e9 grad 0 0 8.3333333e6 range y -.1 .1 apply syy -1e9 grad 0 0 8.3333333e6 range y 59.9 60.1 apply szz -1e8 grad 0 0 8.3333333e5 ran z 0 120set grav 0 0 -10step 30000ini xdisp 0 ydisp 0 zdisp 0ini xvel 0 yvel 0 zvel 0plo cont szz7-8newgen zone brick p0 0 0 0 p1 60 0 0 p2 0 60 0 p3 0 0 90 & p4 60 60 0 p5 0 60 90 p6 60 0 150 p7 60 60 150 & size 6 6 10model elaspro bulk 10e10 she 10e10ini den 2500ini sxx -1e9 grad 0 0 1.1111111e7 range x -.1 .1ini sxx -1e9 grad 0 0 6.6666666e6 range x 59.9 60.1ini syy -1e9 grad 0 0 8.3333333e6 range y -.1 .1ini syy -1e9 grad 0 0 8.3333333e6 range y 59.9 60.1ini szz -1e8 ran z -.1 .1fix x y z ran z -.1 .1set grav 0 0 -10solveini xdisp 0 ydisp 0 zdisp 0ini xvel 0 yvel 0 zvel 0plo cont szz7-9newgen zone brick p0 0 0 -50 p1 27.5 0 -50 p2 0 5 -50 p3 0 0 -10 size 8 1 10 group claygen zone brick p0 27.5 0 -50 p1 100 0 -50 p2 27.5 5 -50 p3 27.5 0 -10 ratio 1.1 1 1 size 12 1 10 group claygen zone brick p0 0 0 -10 p1 27.5 0 -10 p2 0 5 -10 p3 0 0 0 ratio 1 1 0.8 size 8 1 4 group soilgen zone brick p0 27.5 0 -10 p1 100 0 -10 p2 27.5 5 -10 p3 27.5 0 0 ratio 1.1 1 0.8 size 12 1 4 group soilgen zone brick p0 0 0 0 p1 27.5 0 0 p2 0 5 0 p3 0 0 5 p4 27.5 5 0 &p5 0 5 5 p6 20 0 5 p7 20 5 5 size 8 1 5 group damfix x y z ran z -49.9 -50.1fix x ran x -.1 .1fix x ran x 99.9 100.1fix ymodel mohr ran z -50 0model null ran z 0 5prop bulk 7.8e6 shear 3.0e6 coh 10e10 tension 1e10 ran group soilini dens 1500 ran group soilprop bulk 3.91e6 shear 1.5e6 coh 10e10 tension 1e10 ran group clayini dens 1800 ran group clayset grav 0 0 -9.8hist id=1 unbalsolveprop bulk 7.8e6 shear 3.0e6 coh 10e3 fric 15 ran group soilprop bulk 3.91e6 shear 1.5e6 coh 20e3 fric 20 ran group claysolvesave elastic.savini xdis 0 ydis 0 zdis 0 ;将节点位移清零ini xvel 0 yvel 0 zvel 0 ;将节点速度清零hist id=2 gp zdis 0 0 0 ;记录地基顶部中心点的沉降hist id=3 gp zdis 27.5 0 0 ;记录路基坡脚处的沉降hist id=4 gp xdis 27.5 0 0 ;记录路基坡脚处的水平位移model elastic ran z 0 1 ; ;激活0 m ~ 1 m的单元prop bulk 7.8e6 shear 3.0e6 ran z 0 1ini dens 1500 ran z 0 1solve ;按软件默认精度求解save fill-1.savmodel elastic ran z 1 2prop bulk 7.8e6 shear 3.0e6 ran z 1 2ini dens 1500 ran z 1 2solvesave fill-2.savmodel elastic ran z 2 3prop bulk 7.8e6 shear 3.0e6 ran z 2 3ini dens 1500 ran z 2 3solvesave fill-3.savmodel elastic ran z 3 4prop bulk 7.8e6 shear 3.0e6 ran z 3 4ini dens 1500 ran z 3 4solvesave fill-4.savmodel elastic ran z 4 5prop bulk 7.8e6 shear 3.0e6 ran z 4 5ini dens 1500 ran z 4 5solvesave fill-5.savpau;plo bl gr;gen zone brick p0 0 0 0 p1 100 0 0 p2 0 5 0 p3 0 0 5 sizegen zone brick p0 0 0 -50 p1 27.5 0 -50 p2 0 5 -50 p3 0 0 -10 size 8 1 10 group claygen zone brick p0 27.5 0 -50 p1 100 0 -50 p2 27.5 5 -50 p3 27.5 0 -10 ratio 1.1 1 1 size 12 1 10 group clay gen zone brick p0 0 0 -10 p1 27.5 0 -10 p2 0 5 -10 p3 0 0 0 ratio 1 1 0.8 size 8 1 4 group soilgen zone brick p0 27.5 0 -10 p1 100 0 -10 p2 27.5 5 -10 p3 27.5 0 0 ratio 1.1 1 0.8 size 12 1 4 group soil gen zone brick p0 0 0 0 p1 27.5 0 0 p2 0 5 0 p3 0 0 5 p4 27.5 5 0 &p5 0 5 5 p6 20 0 5 p7 20 5 5 size 8 1 5 group dam7-10set log on ;打开log记录set logfile 1.log ;设置记录文件名为:1.log restore fill-1.sav ;调用保存的文件print gp dis range id 517 any id 533 any ;输出两个节点的变形值restore fill-2.savprint gp dis range id 517 any id 533 anyrestore fill-3.savprint gp dis range id 517 any id 533 anyrestore fill-4.savprint gp dis range id 517 any id 533 anyrestore fill-5.savprint gp dis range id 517 any id 533 anyset log off ;关闭log记录8-1def abcabc = 1 + 2 * 3abcd = 1.0 / 2.0endabcprint fish8-2def abcif aa < 0 thenabc = 0.0elseabc = 2.0 * aaendifendabc8-3def abcloop aa (1, 2.5)commandprint aaendcommandendloopend8-4newgen zon bri size 3 3 3model elasticprop bu 3e7 sh 1e7ini dens 2000fix x y z ran z -.1 .1fix x ran x -.1 .1fix x ran x 2.9 3.1fix y ran y -.1 .1fix y ran y 2.9 3.1set grav 10solveini xd 0 yd 0 zd 0 xv 0 yv 0 zv 0save 8-4.sav8-5rest 8-4.savdef E_modifyp_z = zone_headd_k = 704d_n = 0.38d_pa = 101325.0 ;//标准大气压loop while p_z # nullsigma_3 = -1.0 * z_sig1(p_z)E_new = d_k * d_pa * (sigma_3 / d_pa) ^ d_n z_prop(p_z,'young') = E_newp_z = z_next(p_z)endloopendE_modify8-6rest 8-5.savtable 1 name load_settlementdef add_loadp_gp = gp_near(2,1,3)loop n (1,5)app_load = n * (-1000e3)file_name = '7-6_add_step' + string(n) + '.sav'commandapp nstress app_load ran z 2.9 3.1 x 1 2 y 1 2solvesave file_nameendcommandxtable(1,n) = -1.0 * app_loadytable(1,n) = gp_zdisp(p_gp)endloopendadd_loadsave 8-6.sav8-7rest 8-6.savdef find_max_dispp_gp = gp_headmaxdisp_value = 0.0maxdisp_gpid = 0loop while p_gp # nulldisp_gp = sqrt(gp_xdisp(p_gp) ^ 2 + gp_ydisp(p_gp) ^ 2 + gp_zdisp(p_gp) ^ 2)if disp_gp > maxdisp_valuemaxdisp_value = disp_gpmaxdisp_gpid = gp_id(p_gp)endifp_gp = gp_next(p_gp)endloopendfind_max_dispprint maxdisp_value maxdisp_gpidrest 8-6.savconfig zextra 1def get_sigma_difp_z = zone_headloop while p_z # nullsigma_dif = z_sig3(p_z) - z_sig1(p_z)z_extra(p_z,1) = sigma_difp_z = z_next(p_z)endloopendget_sigma_difplot con zextra 19-1 ;---------------------------------------------------;; 移来移去法接触面的建立;---------------------------------------------------ngen zone radcyl p0 (0,0,0) p1(8,0,0) p2 (0,0,-5) p3 (0,8,0) &p4 (8,0,-5) p5 (0,8,-5) p6 (8,8,0) p7 (8,8,-5) &p8 (.3,0,0) p9 (0,.3,0) p10 (.3,0,-5) p11 (0,.3,-5) &size 3 10 6 15 ratio 1 1 1 1.15gen zone radcyl p0 (0,0,-5) p1 (8,0,-5) p2 (0,0,-8) p3 (0,8,-5) &p4(8,0,-8) p5 (0,8,-8) p6 (8,8,-5) p7 (8,8,-8) &p8 (.3,0,-5) p9 (0,.3,-5) p10 (.3,0,-8) p11 (0,.3,-8) &size 3 6 6 15 ratio 1 1 1 1.15 fillgen zone reflect dd 270 dip 90group clay;interface 1 face range cylinder end1 (0,0,0) end2 (0,0,-5.1) radius .31 &cylinder end1 (0,0,0) end2 (0,0,-5.1) radius .29 not interface 2 face range cylinder end1 (0,0,-4.9) end2 (0,0,-5.1) radius .31;pausegen zone cyl p0 (0,0,6) p1 (.3,0,6) p2 (0,0,1) p3 (0,.3,6) &p4 (.3,0,1) p5 (0,.3,1) &size 3 10 6gen zone cyl p0 (0,0,6.1) p1 (.3,0,6.1) p2 (0,0,6) p3 (0,.3,6.1) &p4 (.3,0,6) p5 (0,.3,6) &size 3 1 6gen zone reflect dd 270 dip 90 range z 1 6.1group pile range z 1 6.1pauseini z add -6.0 range group pilesave pile_geom.sav9-2;导来导去法;---------------------------------------------ngen zone brick size 3 3 3group 2 range x 1 2 y 1 2 z 1 2group 1 range gr 2 notsave 1.savdel ran group 2 notinterface 1 face range x 1 y 1 2 z 1 2interface 1 face range x 2 y 1 2 z 1 2interface 1 face range x 1 2 y 1 z 1 2interface 1 face range x 1 2 y 1 2 z 1interface 1 face range x 1 2 y 1 2 z 2rest 1.savdel ran group 2expgrid 1.fac3dimpgrid 1.flac3dmodel elafix x y z ran z 0ini den 2000set grav 0 0 -10interface 1 prop kn 20e6 ks 20e6 coh 10e3 fri 15app nstr -200e3 ran x 0 1 y 1 2 z 3solve9-3;切割模型法;------------------------------ngen zone brick size 3 3 3group 1 range x 1 2 y 1 2 z 2 3group 2 range group 1 notgen separate 1int 1 wrap 1 2int 1 maxedge 0.5plo int red9-4; Create Material Zonesgen zone brick size 5 5 5 &p0 (0,0,0) p1 (3,0,0) p2 (0,3,0) p3 (0,0,5) &p4 (3,3,0) p5 (0,5,5) p6 (5,0,5) p7 (5,5,5) gen zone brick size 5 5 5 p0 (0,0,5) edge 5.0group Material; Create Bin Zonesgen zone brick size 1 5 5 &p0 (3,0,0) p1 add (3,0,0) p2 add (0,3,0) &p3 add (2,0,5) p4 add (3,6,0) p5 add (2,5,5) &p6 add (3,0,5) p7 add (3,6,5)gen zone brick size 1 5 5 &p0 (5,0,5) p1 add (1,0,0) p2 add (0,5,0) &p3 add (0,0,5) p4 add (1,6,0) p5 add (0,5,5) &p6 add (1,0,5) p7 add (1,6,5)gen zone brick size 5 1 5 &p0 (0,3,0) p1 add (3,0,0) p2 add (0,3,0) &p3 add (0,2,5) p4 add (6,3,0) p5 add (0,3,5) &p6 add (5,2,5) p7 add (6,3,5)gen zone brick size 5 1 5 &p0 (0,5,5) p1 add (5,0,0) p2 add (0,1,0) &p3 add (0,0,5) p4 add (6,1,0) p5 add (0,1,5) &p6 add (5,0,5) p7 add (6,1,5)group Bin range group Material not; Create named range synonymsrange name=Bin group Binrange name=Material group Material; Assign models to groupsmodel mohr range Materialmodel elas range Bingen separate Materialinterface 1 wrap Material Bin range plane ori 0 0 0 normal 1 -1 0 aboveinterface 2 wrap Material Bin range plane ori 0 0 0 normal 1 -1 0 belowint 1 maxedge 0.55int 2 maxedge 0.55; Assign propertiesprop shear 1e8 bulk 2e8 fric 30 range Materialprop shear 1e8 bulk 2e8 range Binini den 2000int 1 prop ks 2e9 kn 2e9 fric 15int 2 prop ks 2e9 kn 2e9 fric 15; Assign Boundary Conditionsfix x range x -0.1 0.1 any x 5.9 6.1 anyfix y range y -0.1 0.1 any y 5.9 6.1 anyfix z range z -0.1 0.1 Bin; Monitor historieshist unbalhist gp zdisp (6,6,10)hist gp zdisp (0,0,10)hist gp zdisp (0,0,0); Settingsset largeset grav 0,0,-10; Cyclingstep 4000save bin.sav9-5;;------------------------------------------------------------------ rest pile_geom.savmodel mohr range group clayprop bulk 8.333e7 shear 3.846e7 coh 30000 fric 0 range group claymodel elas range group pile prop bulk 8.333e7 shear 3.846e7 range group pile interface 1 prop kn 1e8 ks 1e8 fric 20 coh 30000 interface 2 prop kn 1e8 ks 1e8 fric 20 coh 30000;ini dens 1230 range group clayini dens 1230 range group pilemodel null range z -0.1 0.15;fix z range z -8.1 -7.9fix x range x -8.1 -7.9fix x range x 7.9 8.1fix y range y -.1 .1fix y range y 7.9 8.1set grav 0 0 -10ini szz 0. grad 0 0 12300. range z -5.5 0.ini szz 17600 grad 0 0 15500 range z -8 -5.5ini sxx 0. grad 0 0 5271.4 range z -5.5 0.ini sxx 7542.86 grad 0 0 6642.86 range z -8 -5.5ini sxx add 31428.6 grad 0 0 5714.3 range z -8 -5.5ini syy 0. grad 0 0 5271.4 range z -5.5 0.ini syy 7542.86 grad 0 0 6642.86 range z -8 -5.5ini syy add 31428.6 grad 0 0 5714.3 range z -8 -5.5; water density 1000water table origin 0,0,-5.5 normal 0 0 -1ini dens 1550 range z -8 -5.5hist unbal;solve rat 1.e-6save pile0.sav;model elas range group pile prop bulk 13.9e9 shear 10.4e9 range group pileini dens 2500 range group pile call find_add.fissolve rat 1.e-6save pile1.savrest pile1.sav ;调用保存文件ini state 0ini xdis 0.0 ydis 0.0 zdis 0.0 ;位移清零apply szz -0.4e6 range z 0.05 0.15 group pile ;桩顶加第一级荷载solvesave app0.4.savprint gp disp range id 1 ;输出第一级荷载下的桩顶位移,假定桩顶中心的id号为1apply szz -0.6e6 range z 0.05 0.15 group pile ;桩顶加第二级荷载solvesave app0.6.savprint gp disp range id 1 ;输出第二级荷载下的桩顶位移…………………………………………;依次加载,直到桩破坏;-------------------------------------------------------------------- ;速度加载法rest pile1.savini state 0ini xdis 0 ydis 0 zdis 0def zs_top ;检测桩顶竖向荷载ad = top_headzftot = 0.0loop while ad # nullgp_pnt = mem(ad+1)zf = gp_zfunbal(gp_pnt)zftot = zftot + zfad = mem(ad)endloopzs_top = zftot / 0.1414endfix z range z 0.05 .15 group pile ;固定桩顶速度,用速度来确定位移def rampwhile_steppingif step < ncut thenudapp = float(step) * udmax / float(ncut) elseudapp = udmaxendifad = top_headloop while ad # nullgp_pnt = mem(ad+1)gp_zvel(gp_pnt) = udappad = mem(ad)endloopendhist gp zdis 0,0,0hist gp zvel 0,0,0hist zs_tophist zone szz 0,0,-.1set mech damp combset udmax = -1e-8 ncut 30000step 225000save pile2.sav;;--------------------------------------------------------------------;位移控制法def solve_stepsloop n (1,21)save_file = string(n) + '-step.sav'commandstep 40000save save_filepri zone stress ran id 2381 a id 2361 a id 2341 a ;输出桩顶网格单元的应力endcommandendloopendsolve_steps ;-----------------------------------------------------------------------------10-1sel beam beg 0 0 0 end 2 0 0 nseg 2sel beam beg 2 0 0 end 4 0 -1 nseg 3sel beam id=2 beg 4 0 -1 end 5 0 -2 nseg 2plot sel geo id on nod on scale 0.04plot ad ax10-2sel node id=1 0 0 0sel node id=2 2 0 0sel node id=3 4 0 -1sel node id=4 5 0 -2sel beamsel id=1 cid=1 node 1 2sel beamsel id=1 cid=2 node 2 3sel beamsel id=1 cid=3 node 3 4plot sel geo id on nod on scale 0.04plot ad ax10-3def set_valsptA = 25.0 * sin( 40.0*degrad )ptB = 25.0 * cos( 40.0*degrad )endset_valsgen zone cylinder p0=( 0.0, 0.0, 0.0 ) &p1=( ptA, 0.0, ptB ) &p2=( 0.0, 25.0, 0.0 ) &p3=( 0.0, 0.0, 25.0 ) &p4=( ptA, 25.0, ptB ) &p5=( 0.0, 25.0, 25.0 ) &size=(1, 2, 2)sel shell id=5 range cylinder end1=(0.0, 0.0,0.0) &end2=(0.0,25.0,0.0) radius=24.5 notplot blo groplot ad sel geom black black cid on scale=0.03plot ad axpaudelete ; delete all zonessel node init zpos add -25.010-4newgen zone brick size 6 8 8model mohrprop bulk 1e8 shear 0.3e8 fric 35prop coh 1e10 tens 1e10set grav 0 0 -9.81ini dens 1000fix x range x -0.1 0.1fix x range x 5.9 6.1fix y range y -0.1 0.1fix y range y 7.9 8.1fix z range z -0.1 0.1hist n 5hist unbalset mech force 50solvesave beam-brace0.sav;prop coh 1e3 tens 1e3model null range x 2 4 y 2 6 z 5 10set largeini xdis 0 ydis 0 zdis 0sel beam begin=( 2, 4, 8) end=( 4, 4, 8) nseg=2sel beam prop emod=2.0e11 nu=0.30sel beam prop XCArea=6e-3 XCIz=200e-6 XCIy=200e-6 XCJ=0.0hist gp zdisp 4 4 8solvesave beam-brace1.sav;plot create GravVplot set plane dip 90 dd 0 origin 3 4 0plot set rot 15 0 20plot set center 2.5 4.2 4.0plot set cap size 25plot add cont disp plane behind shade onplot add sel beam force fxplot add sel geom black black node=off shrinkfac=0.0 plot add axesplot show 10-5;非全长锚固、预紧力锚杆(锚索)模拟;方法1、通过删除-建立link链接来模拟托盘gen zone radtun p0 0,0,0 p1 25,0,0 p2 0,50, 0 p3 0,0,25 size 4 25 4 10 dim 4 4 4 4 ratio 1 1 1 1.1 fill gen zone reflect normal 1 0 0 ori 0 0 0gen zone reflect normal 0 0 1 ori 0 0 0mo mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5ini dens 2000fix x range x -25.1,-24.9fix x range x 24.9 25.1fix y range y 49.9 50.1fix z range z -25.1 -24.9fix z range z 24.9 25.1sel cable id=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10sel cable id=1 beg 0,29,0 end 0,35,0 nseg 6sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 1 gr_k 1 gr_per 0.0785 range cid 1,10sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 10e5 gr_k 2e7 range cid 11,17sel delete link range id 1sel link id=100 1 target zonesel link attach xdir=rigid ydir=rigid zdir=rigid xrdir=rigid yrdir=rigid zrdir=rigid range id 100sel cable id=1 pretension 60e3 range cid 1,10step 2000sav 10-5.sav10-6;非全长锚固、预紧力锚杆(锚索)模拟;方法2、通过设置极大锚固剂参数模拟托盘gen zone radtun p0 0,0,0 p1 25,0,0 p2 0,50, 0 p3 0,0,25 size 4 25 4 10 dim 4 4 4 4 ratio 1 1 1 1.1 fillgen zone reflect normal 1 0 0 ori 0 0 0gen zone reflect normal 0 0 1 ori 0 0 0mo mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5ini dens 2000fix x range x -25.1,-24.9fix x range x 24.9 25.1fix y range y 49.9 50.1fix z range z -25.1 -24.9fix z range z 24.9 25.1sel cable id=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10sel cable id=1 beg 0,29,0 end 0,35,0 nseg 6sel cable prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 1 gr_k 1 gr_per 0.0785 range cid 2,10sel cable prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 10e5 gr_k 2e7 range cid 11,17sel cable prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 10e8 gr_k 2e10 range cid 1,1sel cable id=1 pretension 60e3 range cid 1,10step 2000sav 10-6.sav10-7;非全长锚固、预紧力锚杆(锚索)模拟;方法3:借助别的结构单元(如liner单元)来模拟托盘gen zone radtun p0 0,0,0 p1 25,0,0 p2 0,50, 0 p3 0,0,25 size 4 25 4 10 dim 4 4 4 4 ratio 1 1 1 1.1 fillgen zone reflect normal 1 0 0 ori 0 0 0gen zone reflect normal 0 0 1 ori 0 0 0mo mohrpro bulk 2.2e9 she 1.3e9 fric 30 coh 1.3e6 ten 1.5e5ini dens 2000fix x range x -25.1,-24.9fix x range x 24.9 25.1fix y range y 49.9 50.1fix z range z -25.1 -24.9fix z range z 24.9 25.1sel cable id=1 beg 0, 0, 0 end 0 ,29, 0 nseg 10sel cable id=1 beg 0,29,0 end 0,35,0 nseg 6 sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 1 gr_k 1 gr_per 0.0785 range cid 1,10sel cable id=1 prop emod 2e10 ytension 310e3 xcarea 0.0004906 &gr_coh 10e5 gr_k 2e7 range cid 11,17sel liner range y=-.1, .1 x=-1,1 z=-1,1sel liner PROP iso=( 25e9, 0.15) thick=0.1 ; concrete sel liner PROP cs_nk=8e8 cs_sk=8e8 &cs_ncut=0.0 cs_scoh=0.0 cs_scohres=0.0 cs_sfric=0.0 sel delete link range id 1sel link id=100 1 target node tgt_num 18sel link attach xdir=rigid ydir=rigid zdir=rigid xrdir=rigid yrdir=rigid zrdir=rigid range id 100sel cable id=1 pretension 60e3 range cid 1,10step 2000sav 10-7.sav10-8ntitle Structure_dynamic_analysis_lakewaterconfig dynsel pile id=1 beg 0 0 0 end 0 0 1sel pile prop dens 2400 &Emod 1.0e10 Nu 0.3 XCArea 0.3 &XCJ 0.16375 XCIy 0.00625 XCIz 0.01575 &Per 2.8 &CS_sK 1.3e11 CS_sCoh 0.0 CS_sFric 10.0 &CS_nK 1.3e11 CS_nCoh 0.0 CS_nFric 0.0 CS_nGap offdef f1whilesteppingf0=10000*sin(10*dytime)np = nd_headloop while np # nullif nd_pos(np,1,3)=1nd_apply(np,1)=f0endifnp = nd_next(np)endloopendsel node fix x y z xr yr zr ran id=1sel set damp combinedplo cre pileplo current pileplo set back black fore white mag 0.8plo add sel geo id on sca .04 magf 1e3plo add sel fapp lgreen magf 1e3plo add sel pile mom my lblue lred magf 1e3 axe yel set movie avi step 100 file pile.avimovie startsol age 1movie finish11-1newconf dyn ;打开动力计算功能gen zone brick size 10 5 10mod elasmod null range x=0,5 z=5,10 ;删除部分网格fix z range x=-.1 .1 z=.1 10.1 ;设置静力边界条件fix z range x=9.9,10.1 z=.1 10.1fix y range y=-.1 .1fix y range y=4.9 5.1prop bulk 2e8 shear 1e8 ;设置土体参数prop bulk 4e9 shear 2e9 range x=5,6 z=5,10 ;设置墙体参数(土体参数的20倍)ini dens 2000 ;设置密度def setup ;动荷载中的变量赋值freq = 1.0omega = 2.0 * pi * freqold_time = clockendsetup ;执行变量赋值def wave ;定义动荷载函数wave = sin(omega * dytime) ;定义动荷载变量endapply xvel = 1 hist wave range z=-.1 .1 ;施加动荷载apply zvel = 0 range z=-.1 .1hist gp xvel 5,2,0hist gp xvel 5,2,10hist gp zvel 5,2,10hist dytimedef tim ;估算程序运行的时间tim = 0.01 * (clock - old_time)end set dyn multi on ;设置动态多步solve age 1.0print tim ;输出计算时间print dyn ;输出动力计算相关信息save mult1.sav11-2newconfig dyngen zone brick size 1,1,50model elasprop shear 1e7 bulk 2e7ini dens 1000def setupomega = 2.0 * pi * freqpulse = 1.0 / freqendset freq=4.0setupdef waveif dytime > pulsewave = 0.0elsewave = 0.5 * (1.0 - cos(omega * dytime))endifendrange name bottom z=-.1 .1fix z range z=.5 55 ;将上部网格都施加数值向约束apply dquiet squiet range bottomapply sxz -2e5 hist wave syz 0.0 szz 0.0 range bottom ;-2e5的系数来源于的值apply nvel 0 plane norm 0,0,1 range bottomhist gp xvel 0,0,0hist gp xvel 0,0,25hist gp xvel 0,0,50hist dytimehist waveplot create hhhplot add hist 1 2 3 vs 4plot showsolve age 211-3new;第一步:静力计算阶段config dynset dyn offgen zone brick size 6 3 2gen zone brick size 2 3 2 p0 0 0 2gen zone brick size 2 3 2 p0 4 0 2gen zone wedge size 1 3 2 p0 2 0 2gen zone wedge size 1 3 2 p0 4 3 2 p1 3 3 2 p2 4 0 2 p3 4 3 4 &p4 3 0 2 p5 4 0 4model elasticprop bulk 66667 shear 40000ini dens 0.0025set grav 0 0 -10fix x range x -0.01 0.01fix x range x 5.99 6.01fix y range y -0.01 0.01fix y range y 2.99 3.01fix z range z -0.1 0.1hist unbalsolvesave 11-3_1.sav;第二步:动力计算阶段set dyn ondef iniwaveper = 0.01endiniwavedef wavewave = 0.5 * (1.0 - cos (2*pi*dytime/per))endfree x y z ran z -0.1 0.1 ;去掉模型底部原有的静力条件apply nquiet squiet dquiet ran z -0.1 0.1 ;静态边界条件apply dstress 1.0 hist wave ran z -0.1 0.1 ;加动力荷载apply ff ;施加自由场边界条件group ff_cornergroup ff_side ran x 0 6group ff_side ran y 0 3group main_grid ran x 0 6 y 0 3set dyn time = 0 ;设置动力计算从0s开始hist reset ;清空已有的历史信息hist unbalhist dytime ; 主体网格hist gp xvel 2 1 0hist gp xvel 2 1 5.0 ; 柱体网格hist gp xvel -1 -1 0hist gp xvel -1 -1 5 ;平行于y方向的二维自由场网格hist gp xvel -1 0 0hist gp xvel -1 0 5.0;平行于x方向的二维自由场网格hist gp xvel 2 -1 0hist gp xvel 2 -1 5.0solve age 0.015save 11-3_2.sav11-4conf dygen zone brick size 3,3,3model elasprop bulk 1e8 shear 0.3e8ini dens 1000fix z range z -.1,.1set dyn=on, grav 0 0 -10, hist_rep=1hist gp zdisp 3.0,1.5,3.0hist dytimeplot create hhplot add his 1 vs 2save 11-4_1.sav;保存文件,在后续计算中需调用该文件cyc 15011-5;(1)质量分量和刚度分量共同作用rest 11-4_1.savset dyn damp rayleigh 1 22.8solve age=0.2titlevertical displacement versus time (mass & stiffness damping)plot showpause;(2)只有质量分量rest 11-4_1.sav。
(完整word版)flac命令流
1、FLAC3D常见命令:1. FLAC3D是有限元程序吗?答:不是!是有限差分法。
2。
最先需要掌握的命令有哪些?答:需要掌握gen, ini, app,plo,solve等建模、初始条件、边界条件、后处理和求解的命令. 3。
怎样看模型的样子?答:plo blo gro可以看到不同的group的颜色分布4. 怎样看模型的边界情况?答:plo gpfix red5。
怎样看模型的体力分布?答:plo fap red6。
怎样看模型的云图?答:位移:plo con dis (xdis,ydis,zdis)应力:plo con sz (sy, sx, sxy, syz,sxz)7。
怎样看模型的矢量图?答:plo dis (xdis,ydis, zdis)8。
怎样看模型有多少单元、节点?答:pri info9。
怎样输出模型的后处理图?答:File/Print type/Jpg file,然后选择File/Print,将保存格式选择为jpe文件10. 怎样调用一个文件?答:File/call或者call命令10. 如何施加面力?答:app nstress11. 如何调整视图的大小、角度?答:综合使用x, y, z, m,Shift键,配合使用Ctrl+R,Ctrl+Z等快捷键12. 如何进行边界约束?答:fix x ran (约束的是速度,在初始情况下约束等效于位移约束)13. 如何知道每个单元的ID?答:用鼠标双击单元的表面,可以知道单元的ID和坐标14。
如何进行切片?答:plo set plane ori (点坐标) norm (法向矢量)plo con sz plane (显示z方向应力的切片)15. 如何保存计算结果?答:save +文件名.16. 如何调用已保存的结果?答:rest +文件名;或者File / Restore17。
如何暂停计算?答:Esc18。
如何在程序中进行暂停,并可恢复计算?答:在命令中加入pause命令,用continue进行继续19. 如何跳过某个计算步?答:在计算中按空格键跳过本次计算,自动进入下一步20。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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平面的投影是一条射线。
首先应该按照dd的方向大体确定这个面的朝向,dd 指的是从y轴正方向按顺时针(clockwise)方向转向所要确定面的法线方向在xy平面上的投影的夹角,然后再确定dip,dip指的是从xy平面转向所要确定的平面的角.(及z轴负方向转过角度)(2)命令:reflect normal xyz origin xyz (根据法线和过一点建的面)最常用,至于实际使用过程中有人问道:normal -1 0 0 与normal 1 0 0的区别,我试过两者的效果是一样的,没区别,虽然方向不同,但表达的是同一个面。
reflect dd a dip b origin xyz 这个就是用里建立斜面镜像的。
有一点注意了,镜像的时候如果是模型镜像的话,相当于在建立一个模型,故,在reflect的前面要加建模的关键字,gen zone reflect……7、关于两种fix是否有区别?fix z range z -0.1 0.1fix x range x -0.1 0.1 any x 1.9 2.1 anyfix y range y -0.1 0.1 any y 1.9 2.1 any和fix z range z -0.1 0.1fix x range x -0.1 0.1fix x range 1.9 2.1fix y range y -0.1 0.1fix y range y 1.9 2.1答:是一样的,any表示并列连接关系,及and的意思。
8、initial apply set 的区别答:initial 初始化命令,初始化计算应力状态,定义材料参数、重力等;apply边界条件限制命令,如施加边界的力、位移等约束等;set 用于设置计算的模式,控制计算过程。
Ini 施加的初始力在计算过程中是会变的,一般体力需要初始化,而apply施加的力、边界条件不会随着计算变化。
set命令作用于整个网格(赋值全局变量),ini则初始化指定范围内网格点、域的偏移量。
初始应力不仅仅是重力引起的。
9、Tension-p shear-p tension-n shear-n表示的含义答:在计算的循环里面,每个循环中,每个zone 都依据failure criterion 处于不同的状态,shear和tension 分别表示因受剪和受拉而处于塑性状态.n 表示now,p表示previous,即分别表示在现在和以前的循环当中处于塑性状态。
10、history保存数据,print显示在错误的命令流中“原点位移.dat”文件中只有:“Step 1 Y-Displace”而没有保存下数值,怎么回事?我怎么才能获得table中的数据?输入'print tabel n'能得到table中的数据(正确)hist gp ydisp 0,0,0hist zone syy 0,1,0hist zone syy 1,1,0step 3000hist write 1 file 原点位移.dathist write 2 file 中部单元应力.dathist write 3 file 边缘单元应力.dathist write 1 table 1hist write 2 table 2hist write 3 table 3hist write 2 3 vs 1 file 单压.dat(错误)hist gp ydisp 0,0,0hist zone syy 0,1,0hist zone syy 1,1,0hist write 1 file 原点位移.dathist write 2 file 中部单元应力.dathist write 3 file 边缘单元应力.dathist write 1 table 1hist write 2 table 2hist write 3 table 3hist write 2 3 vs 1 file 单压.datstep 300011、plot显示x、y坐标图hist n 1hist gp ydisp 0,0,0hist ax_strhist gp xdisp 1,1,0step 1500plot hist 2 vs -1 ;axial stress vs axial disp.plot hist 3 vs -1 ; circumferential disp. vs axial disp答:那2是不是代表hist gp ydisp 0,0,0,而-1 指得是hist gp ydisp 0,0,0为什么不是1而是负值?1) 在plot hist m vs n的形式里,m代表y轴,n代表x轴(不管m,n 的正负);2) "-"表示对其值作"mirror",如果大家使用AUTOCAD的话就明白"mirror"的含义了,比如上面的 hist 1 gp ydisp的值是0~100,那么vs -1就变成-100~0.以此类推.3) 要这么做主要是为了符合岩土工程的习惯需要,例如桩载荷试验曲线,沉降曲线等都不是画在第一象限内。
12、关于water.fis的命令注释(设置地下水位)答:(1)water.fis的功能是设置地下水位面,在二维计算中,通过water table命令即可设置水位线,在三维计算中由于地下水位是面,因此需要作一些插值运算,以便形成水位面。
这个FISH程序包含三个函数parm,aux1和aux2。
parm用来设定水位的边值,即设置水位的区域,aux1插值计算等值线的点,aux2调用aux1的计算结果,使用FLAC3D命令形成水位面。
(2)首先设置参数值,然后定义一个table.def parmnptab1=7nprof=10endparmtable 1 (12 0) (18.25 12.5) (25 17) (35 21) (50 24) (75 25) (150 25)产生table1,包含7组数据点。
3) 在解释的两个FISH函数之前,对table,xtable,ytable作一些总的说明。
water.fis程序反复使用了这三个变量,理解了这三个变量的含义,water.fis这段程序就解决了大半问题了。
Itasca 的所有软件都使用了相同的数据结构储存数据,称之为链表结构,类似于关系型数据库中的数据链接方法。
如果有数据结构的知识,或掌握关系型数据库的SQL 语言,这三个变量的含义就不难理解了,只不过这个操作与真正的数据库操作相比,只有两个数据变量x,y。
我用数据库的术语作解释:table 就是产生一个“表”,xtable,ytable的作用就是产生一个新表(Create)以及对表中的数据进行取出(Select)、插入(Insert)、替换(Update)操作.4)FISH函数aux1的作用是在table 1的基础上产生出另外个table,table的ID 从11到17,每个table有10个数据集。
alfa的计算方法是为适合(fit)曲面而采用的坐标点算法。
def aux1loop n(1,nptab1)rr=xtable(1,n)zz=ytable(1,n)loop k(1,nprof)case_of kalfa=0.5*(pi+.1)*float(k-2)/float(nprof-2)xtable(n+10,k)=rr*cos(alfa)ytable(n+10,k)=rr*sin(alfa)case 1xtable(n+10,k)=rrytable(n+10,k)=-40.0case 2xtable(n+10,k)=rrytable(n+10,k)=0.0end_caseend_loopend_loopendaux1当执行这个FISH函数后,生成(nptab1+10,nprof)组数据,这些数据为Aux2调用。
注意:本段程序产生的数据是为那个特定的曲面边坡制作的,不是一个general purpose的LIB5)FISH函数aux2的作用是使用WATER TABLE face命令产生水面,把table 1的ytable值作为z坐标,aux1产生的数据作为x,y坐标。
def aux2commandset grav 0 0 -10water dens 1000end_commandloop n(1,nptab1-1)loop k (1,nprof-1)xx1=xtable(n+10,k)yy1=ytable(n+10,k)zz1=ytable(1,n)xx2=xtable(n+10,k+1)yy2=ytable(n+10,k+1)zz2=zz1xx3=xtable(n+11,k+1)yy3=ytable(n+11,k+1)zz3=ytable(1,n+1)xx4=xtable(n+11,k)yy4=ytable(n+11,k)zz4=zz3commandWATER TABLE face xx1,yy1,zz1 xx2,yy2,zz2 xx3,yy3,zz3 WATER TABLE face xx1,yy1,zz1 xx3,yy3,zz3 xx4,yy4,zz4 end_commandend_loopend_loopendaux213、 FLAC结果数据的导出pl set back white ;设置背景set plot bitmap size (800,510) ;设置图片大小plot set caption size 37 ; 设置图例数字大小 (default=35 范围10-50)mainwin size 1 1 position 0 0.8 ; command windowplot set window size 0.8 0.8 position 0.1 0.0 ; graphics window plot set center 100 0 40根据情况更改14、一段fish命令的解释def aux1 定义函数loop n(1,nptab1) 开始一个循环,从1循环到变量nptab1rr=xtable(1,n) 从table 1 的x列中读第n个数付给变量rrzz=ytable(1,n) 从table 1 的y列中读第n个数付给变量zzloop k(1,nprof) 开始第二个循环,从1循环到变量nprofcase_of k 下面是一个选择结构,利用变量k判断alfa=0.5*(pi+.1)*float(k-2)/float(nprof-2)xtable(n+10,k)=rr*cos(alfa)ytable(n+10,k)=rr*sin(alfa)case 1 当k=1的时候执行下面语句xtable(n+10,k)=rr table n+10的x列第k个值等于变量rrytable(n+10,k)=-40.0 table n+10的y列第k个值等于变量-40 case 2 当k=2的时候执行下面语句xtable(n+10,k)=rr table n+10的x列第k个值等于变量rrytable(n+10,k)=0.0 table n+10的y列第k个值等于变量0end_case 结束选择结构end_loop 结束第二个循环end_loop 结束第一个循环end 函数定义结束aux1 执行什么定义的函数15、有关命令的解释(1)apply nvel 0.1 plane dip 60 dd 270 range left_boun apply 施加边界条件,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所施加应力网格点的坐标。