1、FLAC3D命令流整理版1、怎样检查模子? 之袁州冬雪创作答:plot grid 可以检查网格,plot grid num 可以检查节点号.2、请问在圆柱体四周如何施加约束条件?答:可以用fix . ran cylinder end1 end2 radius r1 cylinder end1 end2 radius r2 not,其中r2r1,其实就是选择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的图像数据导出来以便用其他软
2、件绘图?答:用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,则饬令应如何写?40526、 reflect问题 问:gen zone radbrick &p0 (0,
3、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 surf gen 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)方向转向所要确
4、定面的法线方向在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
5、zone reflect7、关于两种fix是否有区别?fix z range z -0.1 0.1 fix x range x -0.1 0.1 any x 1.9 2.1 any fix y range y -0.1 0.1 any y 1.9 2.1 any 和 fix z range z -0.1 0.1 fix x range x -0.1 0.1 fix x range 1.9 2.1 fix y range y -0.1 0.1 fix y range y 1.9 2.1 答:是一样的,any暗示并列毗连关系,及and的意思.8、initial apply set 的区别答:ini
6、tial 初始化饬令,初始化计算应力状态,定义资料参数、重力等;apply鸿沟条件限制饬令,如施加鸿沟的力、位移等约束等;set 用于设置计算的形式,节制计算过程.Ini 施加的初始力在计算过程中是会变的,一般体力需要初始化,而apply施加的力、鸿沟条件不会随着计算变更.set饬令作用于整个网格(赋值全局变量),ini则初始化指定范围内网格点、域的偏移量.初始应力不但仅是重力引起的.9、Tension-p shear-p tension-n shear-n暗示的含义答:在计算的循环外面,每一个循环中,每一个zone 都依据failure criterion 处于分歧的状态,shear和ten
7、sion 分别暗示因受剪和受拉而处于塑性状态.n 暗示now,p暗示previous,即分别暗示在现在和以前的循环当中处于塑性状态.10、history保管数据,print显示在错误的饬令流中“”文件中只有:“Step 1 Y-Displace”而没有保管下数值,怎么回事?我怎么才干获得table中的数据? 输入print tabel n能得到table中的数据(正确)hist gp ydisp 0,0,0 hist zone syy 0,1,0 hist zone syy 1,1,0 step 3000 hist write 1 file 原点位移.dat hist write 2 file
8、 中部单元应力.dat hist write 3 file 边沿单元应力.dat hist write 1 table 1 hist write 2 table 2 hist write 3 table 3hist write 2 3 vs 1 file 单压.dat (错误)hist gp ydisp 0,0,0 hist zone syy 0,1,0 hist zone syy 1,1,0 hist write 1 file 原点位移.dat hist write 2 file 中部单元应力.dat hist write 3 file 边沿单元应力.dat hist write 1 tab
9、le 1 hist write 2 table 2 hist write 3 table 3 hist write 2 3 vs 1 file 单压.dat step 300011、plot显示x、y坐标图hist n 1 hist gp ydisp 0,0,0 hist ax_str hist gp xdisp 1,1,0 step 1500 plot hist 2 vs -1 ;axial stress vs axial disp. plot hist 3 vs -1 ; circumferential disp. vs axial disp答:那2是不是代表hist gp ydisp 0
10、,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的值是0100,那末vs -1就变成-1000.以此类推. 3) 要这么做主要是为了符合岩土工程的习惯需要,例如桩载荷试验曲线,沉降曲线等都不是画在第一象限内.12、关于water.fis的饬令注释(设置地下水位)答:(1)water.fis的功能是设置地下水位面,在二维计算中,通过w
11、ater table饬令即可设置水位线,在三维计算中由于地下水位是面,因此需要作一些插值运算,以便形成水位面.这个FISH程序包含三个函数parm,aux1和aux2.parm用来设定水位的边值,即设置水位的区域,aux1插值计算等值线的点,aux2调用aux1的计算成果,使用FLAC3D饬令形成水位面.(2)首先设置参数值,然后定义一个table. def parm nptab1=7 nprof=10 end parm table 1 (12 0) (18.25 12.5) (25 17) (35 21) (50 24) (75 25) (150 25) 发生table1,包含7组数据点.
12、3) 在诠释的两个FISH函数之前,对table,xtable,ytable作一些总的说明.water.fis程序反复使用了这三个变量,懂得了这三个变量的含义,water.fis这段程序就处理了大半问题了. Itasca 的所有软件都使用了相同的数据布局储存数据,称之为链表布局,近似于关系型数据库中的数据链接方法.如果有数据布局的知识,或掌握关系型数据库的SQL 语言,这三个变量的含义就不难懂得了,只不过这个操纵与真正的数据库操纵相比,只有两个数据变量x,y.我用数据库的术语作诠释:table 就是发生一个“表”,xtable,ytable的作用就是发生一个新表(Create)以及对表中的数据
13、停止取出(Select)、拔出(Insert)、替换(Update)操纵. 4)FISH函数aux1的作用是在table 1的基础上发生出别的个table,table的ID 从11到17,每一个table有10个数据集.alfa的计算方法是为适合(fit)曲面而采取的坐标点算法. def aux1 loop n(1,nptab1) rr=xtable(1,n) zz=ytable(1,n) loop k(1,nprof) case_of k alfa=0.5*(pi+.1)*float(k-2)/float(nprof-2) xtable(n+10,k)=rr*cos(alfa) ytable
14、(n+10,k)=rr*sin(alfa) case 1 xtable(n+10,k)=rr ytable(n+10,k)=-40.0 case 2 xtable(n+10,k)=rr ytable(n+10,k)=0.0 end_case end_loop end_loop end aux1 当执行这个FISH函数后,生成(nptab1+10,nprof)组数据,这些数据为Aux2调用.注意:本段程序发生的数据是为阿谁特定的曲面边坡制作的,不是一个general purpose的LIB 5)FISH函数aux2的作用是使用WATER TABLE face饬令发生水 面,把table 1的yt
15、able值作为z坐标,aux1发生的数据作为x,y坐标. def aux2 command set grav 0 0 -10 water dens 1000 end_command loop 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=zz1 xx3=xtable(n+11,k+1) yy3=ytable(n+11,k+1) zz3=ytable(1,n+1) xx4=xta
16、ble(n+11,k) yy4=ytable(n+11,k) zz4=zz3 command WATER TABLE face xx1,yy1,zz1 xx2,yy2,zz2 xx3,yy3,zz3 WATER TABLE face xx1,yy1,zz1 xx3,yy3,zz3 xx4,yy4,zz4 end_command end_loop end_loop end aux213、 FLAC成果数据的导出 pl set back white ;设置布景 set plot bitmap size (800,510) ;设置图片大小 plot set caption size 37 ; 设置图
17、例数字大小 (default=35 范围10-50) mainwin size 1 1 position 0 0.8 ; command window plot 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循环到变量nptab1 rr=xtable(1,n) 从table 1 的x列中读第n个数付给变量rr zz=ytable(1,n) 从table 1
18、 的y列中读第n个数付给变量zz loop k(1,nprof) 开端第二个循环,从1循环到变量nprof case_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 当k1的时候执行下面语句 xtable(n+10,k)=rr table n+10的x列第k个值等于变量rr ytable(n+10,k)=-40.0 table n+10的y列第k个值等于变量-40 case 2 当k2的
19、时候执行下面语句 xtable(n+10,k)=rr table n+10的x列第k个值等于变量rr ytable(n+10,k)=0.0 table n+10的y列第k个值等于变量0 end_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 走
20、向270度,从+y方向绕z轴顺时针旋转; (2) ini szz -5e4 grad 0 0 -1e4 ini 初始鸿沟条件,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 150
21、0 kg/m3 档土墙的密度 permeability, k 1012 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 1 group soil ;设置土组 group ex
22、cavate 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 fdensi
23、ty 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 m
24、odel - 力学模子 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.100.1,范围 fix x range x 11.9 12.
25、1 ;施加约束,或者叫做鸿沟条件 fix y range y -.1 .1 ;施加约束 fix y range y 11.9 12.1 fix 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.0 apply n
26、stress 0 grad 0 0 -1.2e4 range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0 apply 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 ;记录步为40 hist fltime ;记录时间 hi
27、st gp pp 0 0 6 ;记录某点的孔隙水压力 hist gp xdis 4 0 0 ;水平位移 hist gp xdis 4 0 2 ;记录水平位移 hist gp xdis 4 2 0 hist gp zdis 0 0 5 ;记录竖向位移 hist gp zdis 2 0 5 hist gp zdis 4 0 5 hist gp zdis 2 2 5 hist gp zdis 4 2 5 hist gp zdis 4 4 5 hist gp zdis 10 0 1 hist gp zdis 10 0 2 ; - excavation - 开挖 set fluid off ;关闭水 ;
28、 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.1 solve ;force 1 ;求解 save exc1.sav ; 保管 ; ; - drainage - 排水 apply remov
29、e nstress ;撤掉刚才的压力 def relaxsetup ;定义一个释放 函数的参数 step0 = step end relaxsetup ;调用 def relax ;定义一个释放函数 rstep = step - step0 if rstep ncyc then relax=1.0-(float(rstep)/float(ncyc) else relax = 0.0 endif end ;竣事 set ncyc = 1000 ;先赋值,随后调用 apply nstress 0 grad 0 0 -1.e4 hist relax & range x 0.0 4.0 y 3.9 4
30、.1 z 0.0 5.0 apply nstress 0 grad 0 0 -1.e4 hist relax & range x 3.9 4.1 y 0.0 4.0 z 0.0 5.0 apply nstress -5.e4 hist relax & range x 0.0 4.0 y 0.0 4.0 z 4.9 5.1 cyc ncyc solve ;求解 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 195 plot set cent 6 6 6 plot set dist 39.18 plot set magn 0.8 plot
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1