FLAC3D命令流(挺实用)

更新时间:2023-09-21 10:50:01 阅读量: 工程科技 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、怎样查看模型?

答:plot grid 可以查看网格,plot grid num 可以查看节点号。

2、请问在圆柱体四周如何施加约束条件?

答:可以用fix ... ran cylinder end1 end2 radius r1 cylinder end1 end2 radius r2 not,其中r2

fix x range end1 1 0 0 end2 1 4 0 rad 1 end1 1 0 0 end2 1 4 0 rad 1

3、怎么能把一个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%=2

6、 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 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)方向转向所要确定面的法线方向

在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.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 的区别

答: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,0 hist zone syy 0,1,0 hist zone syy 1,1,0 step 3000

hist write 1 file 原点位移.dat

hist write 2 file 中部单元应力.dat hist write 3 file 边缘单元应力.dat hist write 1 table 1 hist write 2 table 2 hist write 3 table 3

hist 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 table 1 hist write 2 table 2 hist write 3 table 3

hist write 2 3 vs 1 file 单压.dat step 3000

11、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,0,0,而-1 指得是hist gp ydisp 0,0,0为什么不是1而是负值?

1) 在plot hist m vs n的形式里,m代表y轴,n代表x轴(不管m,n的正负);

2) \表示对其值作\如果大家使用AUTOCAD的话就明白\的含义了,比如上面的 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 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组数据点。

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 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(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的ytable值作为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=xtable(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 aux2

13、 FLAC结果数据的导出 pl set back white ;设置背景

本文来源:https://www.bwwdw.com/article/v03h.html

Top