您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > FLAC3D命令流(挺实用)
1、怎样查看模型?答:plotgrid可以查看网格,plotgridnum可以查看节点号。2、请问在圆柱体四周如何施加约束条件?答:可以用fix...rancylinderend1end2radiusr1cylinderend1end2radiusr2not,其中r2r1,其实就是选择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&ratio1,1,1,1.5&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的区别,我试过两者的效果是一样的,没区别,虽然方向不同,但表达的是同一个面。reflectddadipboriginxyz这个就是用里建立斜面镜像的。有一点注意了,镜像的时候如果是模型镜像的话,相当于在建立一个模型,故,在reflect的前面要加建模的关键字,genzonereflect……7、关于两种fix是否有区别?fixzrangez-0.10.1fixxrangex-0.10.1anyx1.92.1anyfixyrangey-0.10.1anyy1.92.1any和fixzrangez-0.10.1fixxrangex-0.10.1fixxrange1.92.1fixyrangey-0.10.1fixyrangey1.92.1答:是一样的,any表示并列连接关系,及and的意思。8、initialapplyset的区别答:initial初始化命令,初始化计算应力状态,定义材料参数、重力等;apply边界条件限制命令,如施加边界的力、位移等约束等;set用于设置计算的模式,控制计算过程。Ini施加的初始力在计算过程中是会变的,一般体力需要初始化,而apply施加的力、边界条件不会随着计算变化。set命令作用于整个网格(赋值全局变量),ini则初始化指定范围内网格点、域的偏移量。初始应力不仅仅是重力引起的。9、Tension-pshear-ptension-nshear-n表示的含义答:在计算的循环里面,每个循环中,每个zone都依据failurecriterion处于不同的状态,shear和tension分别表示因受剪和受拉而处于塑性状态.n表示now,p表示previous,即分别表示在现在和以前的循环当中处于塑性状态。10、history保存数据,print显示在错误的命令流中“原点位移.dat”文件中只有:“Step1Y-Displace”而没有保存下数值,怎么回事?我怎么才能获得table中的数据?输入'printtabeln'能得到table中的数据(正确)histgpydisp0,0,0histzonesyy0,1,0histzonesyy1,1,0step3000histwrite1file原点位移.dathistwrite2file中部单元应力.dathistwrite3file边缘单元应力.dathistwrite1table1histwrite2table2histwrite3table3histwrite23vs1file单压.dat(错误)histgpydisp0,0,0histzonesyy0,1,0histzonesyy1,1,0histwrite1file原点位移.dathistwrite2file中部单元应力.dathistwrite3file边缘单元应力.dathistwrite1table1histwrite2table2histwrite3table3histwrite23vs1file单压.datstep300011、plot显示x、y坐标图histn1histgpydisp0,0,0histax_strhistgpxdisp1,1,0step1500plothist2vs-1;axialstressvsaxialdisp.plothist3vs-1;circumferentialdisp.vsaxialdisp答:那2是不是代表histgpydisp0,0,0,而-1指得是histgpydisp0,0,0为什么不是1而是负值?1)在plothistmvsn的形式里,m代表y轴,n代表x轴(不管m,n的正负);2)-表示对其值作mirror,如果大家使用AUTOCAD的话就明白mirror的含义了,比如上面的hist1gpydisp的值是0~100,那么vs-1就变成-100~0.以此类推.3)要这么做主要是为了符合岩土工程的习惯需要,例如桩载荷试验曲线,沉降曲线等都不是画在第一象限内。12、关于water.fis的命令注释(设置地下水位)答:(1)water.fis的功能是设置地下水位面,在二维计算中,通过watertable命令即可设置水位线,在三维计算中由于地下水位是面,因此需要作一些插值运算,以便形成水位面。这个FISH程序包含三个函数parm,aux1和aux2。parm用来设定水位的边值,即设置水位的区域,aux1插值计算等值线的点,aux2调用aux1的计算结果,使用FLAC3D命令形成水位面。(2)首先设置参数值,然后定义一个table.defparmnptab1=7nprof=10endparmtable1(120)(18.2512.5)(2517)(3521)(5024)(7525)(15025)产生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的作用是在table1的基础上产生出另外个table,table的ID从11到17,每个table有10个数据集。alfa的计算方法是为适合(fit)曲面而采用的坐标点算法。defaux1loopn(1,nptab1)rr=xtable(1,n)zz=ytable(1,n)loopk(1,nprof)case_ofkalfa=0.5*(pi+.1)*float(k-2)/float(nprof-2)xtable(n+10,k)=rr*cos(alfa)ytable(n+10,k)=rr*sin(alfa)case1xtable(n+10,k)=rrytable(n+10,k)=-40.0case2xtable(n+10,k)=rrytable(n+10,k)=0.0end_caseend_loopend_loopendaux1当执行这个FISH函数后,生成(nptab1+10,nprof)组数据,这些数据为Aux2调用。注意:本段程序产生的数据是为那个特定的曲面边坡制作的,不是一个generalpurpose的LIB5)FISH函数aux2的作用是使用WATERTABLEface命令产生水面,把table1的ytable值作为z坐标,aux1产生的数据作为x,y坐标。defaux2commandsetgrav00-10waterdens1000end_commandloopn(1,nptab1-1)loopk(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=zz3commandWATERTABLEfacexx1,yy1,zz1xx2,yy2,zz2xx3,yy3,zz3WATERTABLEfacexx1,yy1,zz1xx3,yy3,zz3xx4,yy4,zz4end_commandend_loopend_loopendaux213、FLAC结果数据的导出plsetbackwhite;设置背景setplotbitmapsize(800,510);设置图片大小plotsetcaptionsize37;设置图例数字大小(default=35范围10-50)mainwinsize11position00.8;commandwindowplotsetwindowsize0.80.8position0.10.0;graphicswindowplotsetcenter100040根据情况更改14、一段fish命令的解释defaux1定义函数loopn(1,nptab1)开始一个循环,从1循环到变量nptab1rr=xtable(1,n)从table1的x列中读第n个数付给变量rrzz=ytable(1,n)从table1的y列中读第n个数付给变量zzloopk(1,nprof)开始第二个循环,从1循环到变量nprofcase_ofk下面是一个选择结构,利用变量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)case1当k=1的时候执行下面语句xtable(n+10,k)=rrtablen+10的x列第k个值等于变量rrytable(n+10,k)=-40.0tablen+10的y列第k个值等于变量-40case2当k=2的时候执行下面语句xtable(n+10,k)=rrtablen+10的x列第k个值等于变量rrytable(n+10,k)=0.0tablen+10的y列第k个值等于变量0end_case结束选择结构end_loop结束第二个循环end_loop结束第一个循环end函数定义结束aux1执
本文标题:FLAC3D命令流(挺实用)
链接地址:https://www.777doc.com/doc-2871898 .html