FLAC3D命令流整理版.docx

上传人:b****7 文档编号:8963807 上传时间:2023-02-02 格式:DOCX 页数:24 大小:26.93KB
下载 相关 举报
FLAC3D命令流整理版.docx_第1页
第1页 / 共24页
FLAC3D命令流整理版.docx_第2页
第2页 / 共24页
FLAC3D命令流整理版.docx_第3页
第3页 / 共24页
FLAC3D命令流整理版.docx_第4页
第4页 / 共24页
FLAC3D命令流整理版.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

FLAC3D命令流整理版.docx

《FLAC3D命令流整理版.docx》由会员分享,可在线阅读,更多相关《FLAC3D命令流整理版.docx(24页珍藏版)》请在冰豆网上搜索。

FLAC3D命令流整理版.docx

FLAC3D命令流整理版

1、怎样检查模子?

之袁州冬雪创作

答:

plotgrid可以检查网格,plotgridnum可以检查节点号.

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

答:

可以用fix...rancylinderend1end2radiusr1cylinderend1end2radiusr2not,其中r2

fixxrangeend1100end2140rad1end1100end2140rad1

3、怎么能把一个PLOT的图像数据导出来以便用其他软件绘图?

答:

用setlogon饬令,把数据导出来,转到excel里处理一下,然后用surfer或者什么作图软件绘制就好了.

4、用饬令建立模子后,如何显示点的坐标?

答:

使用ploblogrogpnumon饬令

5、关于gauss_dev对性质停止高斯正态分布的问题?

答:

根据手册上的说明:

下面的饬令设定一个平均磨擦角为40度,尺度方差是±5%.则饬令如下:

propfriction40gauss_dev2

问题:

请问gauss_dev2中的2是如何计算的?

如果把±5%改为±10%,则饬令应如何写?

40×5%=2

6、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&dim142fill

plotsurf

genzonereflectdip0dd90(对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.1

fixxrangex-0.10.1anyx1.92.1any

fixyrangey-0.10.1anyy1.92.1any

fixzrangez-0.10.1

fixxrangex-0.10.1

fixxrange1.92.1

fixyrangey-0.10.1

fixyrangey1.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显示

在错误的饬令流中“”文件中只有:

“Step1Y-Displace”

而没有保管下数值,怎么回事?

我怎么才干获得table中的数据?

输入'printtabeln'能得到table中的数据

(正确)

histgpydisp0,0,0

histzonesyy0,1,0

histzonesyy1,1,0

step3000

histwrite1file原点位移.dat

histwrite2file中部单元应力.dat

histwrite3file边沿单元应力.dat

histwrite1table1

histwrite2table2

histwrite3table3

histwrite23vs1file单压.dat

(错误)

histgpydisp0,0,0

histzonesyy0,1,0

histzonesyy1,1,0

histwrite1file原点位移.dat

histwrite2file中部单元应力.dat

histwrite3file边沿单元应力.dat

histwrite1table1

histwrite2table2

histwrite3table3

histwrite23vs1file单压.dat

step3000

11、plot显示x、y坐标图

histn1

histgpydisp0,0,0

histax_str

histgpxdisp1,1,0

step1500

plothist2vs-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.

defparm

nptab1=7

nprof=10

end

parm

table1(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)曲面而采取的坐标点算法.

defaux1

loopn(1,nptab1)

rr=xtable(1,n)

zz=ytable(1,n)

loopk(1,nprof)

case_ofk

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

xtable(n+10,k)=rr

ytable(n+10,k)=-40.0

case2

xtable(n+10,k)=rr

ytable(n+10,k)=0.0

end_case

end_loop

end_loop

end

aux1

当执行这个FISH函数后,生成(nptab1+10,nprof)组数据,这些数据为Aux2调用.注意:

本段程序发生的数据是为阿谁特定的曲面边坡制作的,不是一个generalpurpose的LIB

5)FISH函数aux2的作用是使用WATERTABLEface饬令发生水面,把table1的ytable值作为z坐标,aux1发生的数据作为x,y坐标.

defaux2

command

setgrav00-10

waterdens1000

end_command

loopn(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=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

WATERTABLEfacexx1,yy1,zz1xx2,yy2,zz2xx3,yy3,zz3

WATERTABLEfacexx1,yy1,zz1xx3,yy3,zz3xx4,yy4,zz4

end_command

end_loop

end_loop

end

aux2

13、FLAC成果数据的导出

plsetbackwhite;设置布景

setplotbitmapsize(800,510);设置图片大小

plotsetcaptionsize37;设置图例数字大小(default=35范围10-50)

mainwinsize11position00.8;commandwindow

plotsetwindowsize0.80.8position0.10.0;graphicswindow

plotsetcenter100040

根据情况更改

14、一段fish饬令的诠释

defaux1定义函数

loopn(1,nptab1)开端一个循环,从1循环到变量nptab1

rr=xtable(1,n)从table1的x列中读第n个数付给变量rr

zz=ytable(1,n)从table1的y列中读第n个数付给变量zz

loopk(1,nprof)开端第二个循环,从1循环到变量nprof

case_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个值等于变量rr

ytable(n+10,k)=-40.0tablen+10的y列第k个值等于变量-40

case2当k=2的时候执行下面语句

xtable(n+10,k)=rrtablen+10的x列第k个值等于变量rr

ytable(n+10,k)=0.0tablen+10的y列第k个值等于变量0

end_case竣事选择布局

end_loop竣事第二个循环

end_loop竣事第一个循环

end函数定义竣事

aux1执行什么定义的函数

15、有关饬令的诠释

(1)applynvel0.1planedip60dd270rangeleft_boun

apply施加鸿沟条件,plane法向速度为0.1,plane面的位置:

倾角60(在xoy平面从-Z轴方向逆时针旋转),dd走向270度,从+y方向绕z轴顺时针旋转;

(2)iniszz-5e4grad00-1e4

ini初始鸿沟条件,szz=-5e4+x*0+y*0+-z*-1e4,注:

-5e4是range范围起点坐标的SZZ值,x,y,z所施加应力网格点的坐标.

16、渗流示例

;------------------------------参数部分

bulkmodulus,K390MPa体积模量(土质比较硬)

shearmodulus,G280MPa剪切模量

soildrydensity,ρd1200kg/m3土的密度

waterdensity,ρw1000kg/m3水的密度

walldensity,ρwal1500kg/m3档土墙的密度

permeability,k10−12m2/Pa-s渗透系数

porosity,n0.3孔隙率

fluidbulkmodulus,Kf2.0GPa流体的体积模量

;-----------------------以下是饬令流

;------------------------------------------------------

;Excavationinasaturatedsoil

;------------------------------------------------------

configfluid;设置流体算法

;---geometricalmodel---建立模子

genzonebrickp11200p20120p30012size121212rat111

groupsoil;设置土组

groupexcavaterangex04y04z05;设置开挖范围组

groupwal1rangex45y05z07;设置档土墙1组

groupwal2rangex04y45z07;设置档土墙2组

groupwallrangegroupwal1anygroupwal2any;档土墙1和2合并为一个档土墙组

;---fluidflowmodel---流体模子

modelfl_iso;各项同性流体

propperm1e-12poro0.3;设置渗透系数和?

比or?

inifdensity1e3;初始化水密度

inifmod2.0e9ftens-1e-3;初始化水的体积模量及?

modelfl_nullrangegroupexcavate;开挖部分没有水流

modelfl_nullrangegroupwall;档土墙不渗水

inipp0grad001e4;初始化孔隙水压力

fixpprangez-0.10.1;约束应该是整个模子的底部吧?

fixpprangex-0.14.1y-0.14.1z4.95.1;开挖部分也给约束住了,而其他的地方不管

;---mechanicalmodel---力学模子

modelelas;弹塑性

propbul3.9e6shea2.8e6;设置体积模量和剪切模量,这两个必须,有一次我只设置了体积模量,就错的一塌糊涂

modelnullrangegroupexcavate;力学模子的开挖

inidensity1.2e3;初始化密度,应该是土的密度

inidensity1.5e3rangegroupwall;初始化墙(档土墙)的密度,

fixxrangex-.1.1;施加约束,听说差分法约束0的时候,必须取一个-0.1<0<0.1,范围

fixxrangex11.912.1;施加约束,或者叫做鸿沟条件

fixyrangey-.1.1;施加约束

fixyrangey11.912.1

fixzrangez11.912.1

;initialtotalstresses出世总应力

iniszz0grad00-1.5e4;z方向的应力大一些

inisxx0grad00-1.2e4;水平方向的,小一些

inisyy0grad00-1.2e4;

applynstress0grad00-1.2e4rangex0.04.0y3.94.1z0.05.0

applynstress0grad00-1.2e4rangex3.94.1y0.04.0z0.05.0

applynstress-7.5e4rangex0.04.0y0.04.0z4.95.1

;---setting---设置

setgravity0010;设置重力加速度

;---initialstate---;初始化状态

solveforce1;checkinitialequilibrium求解平衡

;---histories---记录

sethist_rep40;记录步为40

histfltime;记录时间

histgppp006;记录某点的孔隙水压力

histgpxdis400;水平位移

histgpxdis402;记录水平位移

histgpxdis420

histgpzdis005;记录竖向位移

histgpzdis205

histgpzdis405

histgpzdis225

histgpzdis425

histgpzdis445

histgpzdis1001

histgpzdis1002

;

;---excavation---开挖

setfluidoff;关闭水

;applyporepressureatwalls在墙上施加孔隙水压力

applynstress0grad00-1.e4rangex0.04.0y3.94.1z0.05.0

applynstress0grad00-1.e4rangex3.94.1y0.04.0z0.05.0

applynstress-5.e4rangex0.04.0y0.04.0z4.95.1

solve;force1;求解

saveexc1.sav;保管

;

;---drainage---排水

applyremovenstress;撤掉刚才的压力

defrelaxsetup;定义一个释放函数的参数

step0=step

end

relaxsetup;调用

defrelax;定义一个释放函数

rstep=step-step0

ifrstep

relax=1.0-(float(rstep)/float(ncyc))

else

relax=0.0

endif

end;竣事

setncyc=1000;先赋值,随后调用

applynstress0grad00-1.e4histrelax&

rangex0.04.0y3.94.1z0.05.0

applynstress0grad00-1.e4histrelax&

rangex3.94.1y0.04.0z0.05.0

applynstress-5.e4histrelax&

rangex0.04.0y0.04.0z4.95.1

cycncyc

solve;求解

saveexc2.sav;保管

;---percolation---渗透

setfluidon;设置水算法

fixpp0rangex-0.14.1y-0.14.1z4.95.1;施加孔隙水压力

cyc9000;循环

saveexc3.sav;保管

plotcreateexcav;建立一个显示的视图一下内容都是显示内容

plotsetrot2000195

plotsetcent666

plotsetdist39.18

plotsetmagn0.8

plot

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1