FLac3D接触面简单实例

FLac3D接触面简单实例
FLac3D接触面简单实例

有接触面模型

gen zone brick p0 0 0 0 p1 5 0 0 p2 0 5 0 p3 0 0 2 size 10 10 4 group 1 gen zone brick p0 0 0 2 p1 5 0 2 p2 0 5 2 p3 0 0 4 size 10 10 4 group 2 gen zone brick p0 0 0 4 p1 5 0 4 p2 0 5 4 p3 0 0 6 size 10 10 4 group 3 gen separate 2

int 1 wrap 1 2

gen separate 3

int 2 wrap 2 3

plot block group int red

fix z range z -0.1 0.1

fix x range x -0.1 0.1

fix x range x 4.9 5.1

fix y range y -0.1 0.1

fix y range y 4.9 5.1

model mohr

prop bulk 2.4e9 shear 1.5e9 coh 2.5e6 fri 32 tension 1.2e6 ran group 1 prop bulk 2.4e9 shear 1.5e9 coh 2.5e6 fri 32 tension 1.2e6 ran group 2 prop bulk 2.4e9 shear 1.5e9 coh 2.5e6 fri 32 tension 1.2e6 ran group 3 ini dens 2660 ran group 1

ini dens 2660 ran group 2

ini dens 2660 ran group 3

inter 1 prop kn 0.88e11 ks 0.88e11 fri 15 coh 2e6 ten 1e6

inter 2 prop kn 0.88e11 ks 0.88e11 fri 15 coh 2e6 ten 1e6

set grav 0 0 -10

ini szz -7e6 range z 0 6

ini sxx -8.4e6 range z 0 6

ini syy -8.4e6 range z 0 6

app nstress -7e6 range z 5.9 6.1 x 0 5 y 0 5

plot con zd

plot add int black

solve

无接触面对比模型

gen zone brick p0 0 0 0 p1 5 0 0 p2 0 5 0 p3 0 0 2 size 10 10 4 group 1 gen zone brick p0 0 0 2 p1 5 0 2 p2 0 5 2 p3 0 0 4 size 10 10 4 group 2 gen zone brick p0 0 0 4 p1 5 0 4 p2 0 5 4 p3 0 0 6 size 10 10 4 group 3 plot block group int red

fix z range z -0.1 0.1

fix x range x -0.1 0.1

fix x range x 4.9 5.1

fix y range y -0.1 0.1

fix y range y 4.9 5.1

model mohr

prop bulk 2.4e10 shear 1.5e10 coh 2.5e10 fri 32 tension 1.2e10 ran group 1 prop bulk 2.4e10 shear 1.5e10 coh 2.5e10 fri 32 tension 1.2e10 ran group 2 prop bulk 2.4e10 shear 1.5e10 coh 2.5e10 fri 32 tension 1.2e10 ran group 3 ini dens 2660 ran group 1

ini dens 2660 ran group 2

ini dens 2660 ran group 3

set grav 0 0 -10

ini szz -7e6 range z 0 6

ini sxx -8.4e6 range z 0 6

ini syy -8.4e6 range z 0 6

app nstress -7e6 range z 5.9 6.1 x 0 5 y 0 5

plot con zd

plot add int black

solve

Flac3D命令--完整经典版

实例分析命令: 1. X ,Y ,Z 旋转 Shift+ X ,Y ,Z 反向旋转 Gen zone ……;model ……;prop ……(材料参数);set grav 0,0,-9.81(重力加速度) 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 1.jpg 图像输出(格式、像素、名称) plot set magf 1.0视图的放大倍数为1.0;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: excavate trench (开挖隧道) 4. group Top range group Base not 定义(群组Base 以外的为)群组Top 5. 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 = 10.0 定义depth 为10;end 结束对函数的定义;setup 运行函数setup 8. (隧道生成)上部圆形放射性圆柱及下部块体单元体的建立,然后镜像。 9. 模拟模型的材料问题时为什么要去定义某个方向上的初始速度?— 10. 渐变应力施加:apply nstress -1e6 gradient 0,0,1e5 range z 3.464,0 plane dip 60 dd 270 origin .1 0 0;施加法向应力:apply nstress -1e6 range plane dip 60 dd 270 origin .1 0 0 11. d ip dd 确定平面位置使用:(纠结) 12. p rint gp position range id=14647 输出节点坐标 13. a pply sxx -10e6 gradient 0 , 0, 1e5 range z -100 , 0在这个求解方程中,z 为变量,所以xx σ为:65=-1010+10xx z σ?? ;原点(0,0,0) 14. f ree x range x -.1 .1 z 6.9 10.1放松x=0 平面上,z=7,10 这一部分在x 方向的约 束(可以在此处产生破坏) 15. 体积模量K 和剪切模量G 与杨氏模量及泊松比v 之间的转换关系如下: =3(1-2v)E K G=2(1+v) E 16. 一般而言,大多数问题可以采用FLAC 3D 默认的收敛标准(或称相对收敛标准),即当体 系最大不平衡力与典型内力的比率R 小于定值10-5;(也可由用户自定义该值,命令:

FLAC3D 实例命令流1

第1部分命令流按照顺序进行 2-1定义一个FISH函数 new def abc abc = 25 * 3 + 5 End print abc 2-2使用一个变量 new def abc hh = 25 abc = hh * 3 + 5 End Print hh Print abc 2-3对变量和函数的理解 new def abc hh = 25 abc = hh * 3 + 5 End set abc=0 hh=0 print hh print abc print hh new def abc abc = hh * 3 + 5 end set hh=25 print abc set abc=0 hh=0 print hh print abc print hh 2-4获取变量的历史记录 new gen zone brick size 1 2 1 model mohr prop shear=1e8 bulk=2e8 cohes=1e5 tens=1e10 fix x y z range y -0.1 0.1 apply yvel -1e-5 range y 1.9 2.1 plot set rotation 0 0 45

plot block group def get_ad ad1 = gp_near(0,2,0) ad2 = gp_near(1,2,0) ad3 = gp_near(0,2,1) ad4 = gp_near(1,2,1) end get_ad def load load=gp_yfunbal(ad1)+gp_yfunbal(ad2)+gp_yfunbal(ad3)+gp_yfunbal(ad4) end hist load hist gp ydis 0,2,0 step 1000 plot his 1 vs -2 2-5用FISH函数计算体积模量和剪砌模量 new def derive s_mod = y_mod / (2.0 * (1.0 + p_ratio)) b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio)) end set y_mod = 5e8 p_ratio = 0.25 derive print b_mod print s_mod 2-6 在FLAC输入中使用符号变量 New def derive s_mod = y_mod / (2.0 * (1.0 + p_ratio)) b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio)) end set y_mod = 5e8 p_ratio = 0.25 derive gen zone brick size 2,2,2 model elastic prop bulk=b_mod shear=s_mod print zone prop bulk print zone prop shear 2-7 控制循环 New def xxx sum = 0 prod = 1 loop n (1,10)

flac3d常用命令

1、最先需要掌握的命令有哪些? 答:需要掌握gen, ini, app, plo, solve等建模、初始条件、边界条件、后处理和求解的命令。 2、怎样输出模型的后处理图? 答:File/Print type/Jpg file,然后选择File/Print,将保存格式选择为jpe文件。 3、怎样调用一个文件? 答:File/call或者call命令 4、如何施加面力? 答:app nstress 5、如何调整视图的大小、角度? 答:综合使用x, y, z, m, Shift键,配合使用Ctrl+R,Ctrl+Z等快捷键。 6、如何进行边界约束? 答:fix x ran (约束的是速度,在初始情况下约束等效于位移约束)。 7、如何知道每个单元的ID? 答:用鼠标双击单元的表面,可以知道单元的ID和坐标。 8、如何进行切片? 答:plo set plane ori (点坐标) norm (法向矢量) plo con sz plane (显示z方向应力的切片) 9、如何保存计算结果? 答:save +文件名 10、如何调用已保存的结果? 答:rest +文件名;或者File / Restor 11、如何暂停计算? 答:Esc 12、如何在程序中进行暂停,并可恢复计算? 答:在命令中加入pause命令,用continue进行继续。 在我们分步求解中想得到某一个过程中的结果,不用等到全求完,还可以在分布求解错误的时候就进行改正,而不是等到结果出来。 13、如何跳过某个计算步? 答:在计算中按空格键跳过本次计算,自动进入下一步 14、Fish是什么东西?Fish是否一定要学?

答:是FLAC3D的内置语言,可以用来进行参数化模型、完成命令本身不能进行的功能。Fish可以不用学,需要的时候查Mannual获得需要的变量就可以了。 15、FLAC3D允许的命令文件格式有哪些? 答:无所谓,只要是文本文件,什么后缀都可以。 16、如何调用一些可选模块? 答:config dyn (fluid, creep, cppudm) 17、如何在圆柱体四周如何施加约束条件? 可以用fix ... ran cylinder end1 end2 radius r1 cylinder end1 end2 radius r2 not,其中r2

flac3d建模方法

利用FLAC3D 进行数值分析的第一步便是如何将物理系统转化为由实体单元和结构单元所组合的网格模型(Modeling ),该模型与分析对象的几何外形特征相一致。目前,FLAC3D 网格模型的建立方法可分为两种,即直接法及间接法,直接法是按照分析对象的几何形状利用FLAC3D 内置的网格生成器建模,网格和几何模型同时生成,该方法较适用于简单几何外形的物理系统;与之不同,间接法则适用于复杂的、单元数目较多的物理系统,该方法建立网格模型时,像一般计算机绘图软件一样,通过点、线、面、体,先建立对象的几何外形,再进行实体模型的分网(Meshing ),以完成网格模型的建立,FLAC3D 自身不具备间接法建模功能,读者可借助第三方软件与FLAC3D 的接入轻松实现。本章主要介绍FLAC3D 的网格建模方法,包括利用网格生成器建立简单网格、利用第三方软件进行模型导入以及复杂模型的方法。 本章要点: z FLAC3D 网格单元的基本类型 z 网格的连接 z FLAC3D 网格的数据格式 z 常用有限元模型与FLAC3D 的接入 z 复杂模型的建立 5.1 简单网格的建立 5.1.1 基本网格的形状 FLAC3D 内置网格生成器中的基本形状网格有13种,通过匹配、连接这些基本形状网格单元,能够生成一些较为复杂的三维结构网格。网格单元的基本类型和特征如表5-1所示,基本可以归为四大类,即六面块体网格、退化网格、放射网格和交叉网格。 5 FLAC3D 建模方法

表5-1 FLAC3D 基本形状网格的基本特征

5.1.2 单元网格的生成 生成块体网格(Brick )的命令格式如下: generate zone brick p0 x0 y0 z0 p1 x1 y1 z1 …… p7 x7 y7 z7 size n1 n2 n3 ratio r1 r2 r3 或者 generate zone brick p0 x0 y0 z0 p1 add x1 y1 z1 …… p7 add x7 y7 z7 size n1 n2 n3 ratio r1 r2 r3 在该命令中,generate 为“生成网格”之意,可以缩写为gen ,zone 表示该命令文件生成的是实体单元,brick 关键词表明建立的网格采用的是brick 基本形状,p0,p1……p7是块体单元的8个控制点,其后跟这些点的三维坐标值(xn, yn, zn ),含义是由8个点可确定一个六面体网格。不过,p0~p7各点的定义需遵从“右手法则”,不能随意颠倒顺序。如果采用全局坐标系,三维坐标值应为建模空间内的全局三维坐标值;若采用局部坐标系,则除p0点采用全局三维坐标值外,其他点的坐标值都必须取其相对于点p0的三维坐标值,且在点编号后加关键词add (见本节第2行命令)。size 为定义坐标轴(x ,y ,z )方向网格单元数目的关键词,其后跟划分的单元数目(n1,n2,n3);ratio 为定义相邻单元尺寸大小比率的关键词,其后跟坐标轴方向相邻网格单元的比率(r1,r2,r3)。 如果生成的是长方体网格,前述命令可以简化为: generate zone brick p0 x0 y0 z0 p1 x1 y1 z1 p2 x2 y2 z2 p3 x3 y3 z3 size n1 n2 n3 ratio r1 r2 r3 或者 generate zone brick p0 x0 y0 z0 p1 add x1 y1 z1 p2 add x2 y2 z2 p3 add x3 y3 z3 & size n1 n2 n3 ratio r1 r2 r3 即只需采用4个控制点即可确定该长方体。 此外,当网格的几何形状为立方体时,上述命令文件可以用下列命令替代,进一步简化,关键词edge 后跟的evalue 是立方体的边长。 generate zone brick p0 x0 y0 z0 edge evalue size n1 n2 n3 ratio r1 r2 r3

FLAC3D 实例命令流1

第1部分命令流按照顺序进行2-1定义一个FISH函数 new def abc abc = 25 * 3 + 5 End print abc 2-2使用一个变量 new def abc hh = 25 abc = hh * 3 + 5 End Print hh Print abc 2-3对变量和函数的理解 new def abc hh = 25 abc = hh * 3 + 5 End set abc=0 hh=0 print hh print abc print hh new def abc abc = hh * 3 + 5 end set hh=25 print abc set abc=0 hh=0 print hh print abc print hh 2-4获取变量的历史记录 new gen zone brick size 1 2 1 model mohr prop shear=1e8 bulk=2e8 cohes=1e5 tens=1e10

fix x y z range y -0.1 0.1 apply yvel -1e-5 range y 1.9 2.1 plot set rotation 0 0 45 plot block group def get_ad ad1 = gp_near(0,2,0) ad2 = gp_near(1,2,0) ad3 = gp_near(0,2,1) ad4 = gp_near(1,2,1) end get_ad def load load=gp_yfunbal(ad1)+gp_yfunbal(ad2)+gp_yfunbal(ad3)+gp_yfunbal(ad4) end hist load hist gp ydis 0,2,0 step 1000 plot his 1 vs -2 2-5用FISH函数计算体积模量和剪砌模量 new def derive s_mod = y_mod / (2.0 * (1.0 + p_ratio)) b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio)) end set y_mod = 5e8 p_ratio = 0.25 derive print b_mod print s_mod 2-6 在FLAC输入中使用符号变量 New def derive s_mod = y_mod / (2.0 * (1.0 + p_ratio)) b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio)) end set y_mod = 5e8 p_ratio = 0.25 derive gen zone brick size 2,2,2 model elastic prop bulk=b_mod shear=s_mod print zone prop bulk print zone prop shear

FLAC3D学习笔记(自己总结版)

一、建立模型笔记 1键盘上的键的功能:X,Y,Z分别控制所建立的模型围绕X,Y,Z三个轴做逆时针旋转.如果打开大小写锁定键,分边按XYZ时建立的模型会做顺时针旋转.+号的功能是加大模型旋转的角度,-号的功能是减小模型旋转的角度。 2键盘上的上下左右四个键可以实现图形的向上向下,向左和向右的移动. 3当在一个区域建立多个模型的时候,有时候为了镜像单个模块儿,需要预先编组,编组的方法如下: gen zon tunint p0 0 0 0 p1 0 10 0 p2 5 5 0 p3 0 0 -5 p4 5 10 0 & p5 5 5 -5 p6 0 10 -5 p7 5 10 -5 dim sq2 sq2 1 sq2 1 1 1 group(编组) z1(组名为:z1) & fill group tunnel 4镜像整个模型的方法:首先判断即将镜像的模型在原模型的哪个方向(即三个轴的方向),然后在轴所在的方向上去两个点.其中一个是原点(origin(xyz)). 5镜像部分模型的方法: gen zone reflect normal (x,y,z) origin (x,y,z) range group z1就可以了. 6特别要注意的一点:交叉巷道的巷道充填和巷道的网格是两个组,所以在镜像的时候不要忘了给充填部分镜像. 7 group radcyl range group cylint not(编组的时候不包括cylint) 7 快捷键总结 Ctrl+Z 局部缩放的功能。Ctrl+R的功能是恢复到初始状态。 8模型建立的方法: 方法1:利用默认值生成网格, 各个默认值:(1)p0的默认值是(0,0,0),网格的每边的单元格数size默认值是10,网格每边的长度默认值为size的值. 方法2:利用4个点的坐标来生成矩形网格.p0~p3 size 方法3:利用edge来确定边长生成矩形网格. 方法4:利用参数ratio来确定单元体几何边画边生成矩形网格. 方法5:利用参数add(相对坐标)来生成矩形网格. 方法6:利用八个点的左边来生成矩形网格. 9、用户自定义模型的方法 我来贡献一点自己的成果: FLAC3D的二次开发环境提供了开放的用户接口,在软件安装文件中包含了软件自带所有本构模型的源代码,且给出了Mohr-Coulomb模型和应变软化模型的编译示例,因此可以方便地进行本构模型的修改与开发。为了方便起见,下面的说明以建立UserModel模型为例。 (1) 在模型头文件(usermodel.h)中进行新的本构模型派生类的声明,修改模型的ID(为避免与已有模型冲突,一般要求大于100)、名称和版本,修改派生类的私有成员,主要包括模型的基本参数及程序执行过程中主要的中间变量。( ? p6 u' J5 Q3 y( a (2) 在程序C++文件(usermodel.cpp)中修改模型结构(UserModel::UserModel(bool bRegister): Constit -utive Model)的定义,这是一个空函数,主要功能是给(1)中定义的所有私有成员赋初值,一般均赋值为0.0。(3) 修改const char **UserModel: roperties()函数,该函数包含了给定模型的参数名称字符串,在FLAC3D的计算命令中需要用到这些字符串进行模型参数赋值。 (4) const char **UserModel::States()函数是单元在计算过程中的状态指示器,可以按照需要进行修改指示器的内容。 (5) 按照派生类中定义的模型参数变量修改double UserModel::GetProperty()和void UserModel:: SetProperty()函数,这两个函数共同完成模型参数的赋值功能。' U; e G' W" Q# R4 q/ @9 G" h (6) const char * UserModel::Initialize()函数在执行CYCLE命令或大应变模式下对于每个模型单元(zone)调用一次,主要执行参数和状态指示器的初始化,并对派生类声明中定义的私有变量进行赋值。值得注意的是,Initialize()函数调用时没有定义应变分量,但可以调用应力分量,但不能对应力进行修改。9 n# e8 |' c- B/ q, B B5 m

FLAC3D建模(复杂边坡)问题

FLAC3D建模(复杂边坡)问题 总在论坛里面看帖子,学习到了很多建模的技巧,觉得基本上是通过ansys与surfer导网格到FLAC3D进行建模,这其中就存在一些问题,如果模型比较复杂的话,可能会严重失真,例如边坡(我是岩土工程专业的,比较关注边坡),如果边坡内部存在多条断层,且存在崩积物、坡积物叠加分布的现象,我们假设存在基岩上覆盖10层崩坡积物,那用ansys与surfer 导入的网格是否能够真实反映边坡的真实情况呢?(我没有具体用ansys与surfer做过,所以并不知道是否可行!),最近做的一个边坡,强风化基岩上存在15层叠加分布的崩坡积物,且边坡内部存在3条断层,考虑了很久,觉得用ansys与surfer做的话可能不合适(如果有朋友能做的话,请告诉我,先谢谢了!),最后考虑用AutoCAD建模,然后导入FLAC3D的方法,模型建立起来后,觉得效果还不错,下面就说下我的方法,有什么不恰当之处,还请各位批评指正。 1、首先在AutoCAD中建模,因为我觉得我们的剖面图基本上是AutoCAD绘制的,尽量就CAD建模的话可以省下不少事(个人观点),建立3维模型需要尽量多的剖面,因此,在边坡表面地形变化处、坡体内部不同成因岩土体处都需要做剖面; 2、剖面做好后,进行剖面分层,就是在剖面上尽量细致的划分出不同成因性质的岩土体层,例如崩积物、坡积物,之后利用AutoCAD的3dmesh功能进行网格划分; 3、基本上只需要brick与wedge就可以了,自己编写一个VB的程序,可以读出3dmesh网格节点并输出成*.dat文件; 例如:Z方向为单位长度,读取3dmesh(brick)程序 Dim AcadApp As AutoCAD.AcadApplication Set AcadApp = GetObject(, "AutoCAD.Application") Dim Mydocument As AcadDocument Set Mydocument = AcadApp.ActiveDocument Dim Myentity As AcadPolygonMesh Dim Mysel As AcadSelectionSet Dim fil_type(0) As Integer Dim fil_data(0) As Variant Dim Mycoordinates As Variant

FLAC3D快速入门及简单实例

FLAC3D快速入门 及简单实例 李佳宇编 LJY指南针教程

前言 FLAC及FLAC3D是由国际著名学者、英国皇家工程院院士、离散元的 发明人Peter Cundall博士在70年代中期开始研究的,主要面对岩土工程的通 用软件系统,目前已经在全球70多个国家得到广泛应用,在岩土工程学术界 和工业界赢得了广泛的赞誉。前国际岩石力学会主席 C.Fairhurst(1994)对 FLAC程序的评价是:“现在它是国际上广泛应用的可靠程序。” 我从研二(2010年)开始接触FLAC3D,最初的原因是导师要求每一个人至 少学会一个数值计算软件,而他嘴里每天念叨最多的就是FLAC,自己当时对数 值计算一无所知,便答应老师要学会FLAC3D。第一次打开软件界面,我心里 就凉了大半截,面对着一个操作界面跟记事本无异的所谓“功能强大”的岩土工 程专业软件,半点兴趣也提不起来。年底,从项目工地回到学校准备论文开题, 老师对我的开题报告非常不满意,当着全教研室师生的面,劈头盖脸大批一顿, 第二天又找谈话。在巨大的压力和强烈的自尊心驱使下,我硬着头皮开始啃 FLAC3D,一个半月之后,终于有了初步的计算结果,对老师有个交代,我也能 回家过年了。 前面这一段过程可能是大多数FLAC3D初学者的必经阶段,或者是即将 开始软件学习的人惧怕的事情。毫无疑问,FLAC3D极其不友好的界面是阻碍 初学者前进的很大障碍,当然还包括它是一个全英文的软件。但是当你费尽周折 的走进FLAC3D的世界,你就会发现它独特的魅力,比如简洁的界面,快捷的 命令流操作,高效的计算方法,不易报错等等。另外一个拿不上台面的优点就是 它非常小巧,包括Manual在内一共才几十兆大小,而且已经被破解成绿色版, 只要把它和命令流装进U盘,你就可以随便找一个身边功能最强大的电脑开始 计算了,如果你有过ANSYS、ABAQUS等大型软件痛苦的安装经历,你便能 毕业之后,本以为不用再接触数值计算,但工作需要使得我又一次开始与理解“绿色版”的含义,当然还请大家尊重知识产权,支持正版。 FLAC3D进行亲密接触。我的领导给了我很多新思路和很大的支持,如今我的 水平比研究生时有了不少提高。于是,我想把我的经验总结成文,希望对初学 者起

FLAC3D和3DEC的区别(itasca论坛)

FLAC3D和3DEC的区别(itasca论坛) 在“三维可视化”专区中一位坛友讲到了3DEC建模和参数取值困难的问题,且被业界所“诟病”。楼主是3DEC的忠实用户,也用过FLAC3D和PFC,就3DEC自身的这些“问题”,略谈一二。 在建模环节上,3DEC是典型的“欺生”,即生手上来的时候可能觉得无从下手,而掌握以后觉得游刃有余。有兴趣的坛友可以访问Itasca网站中咨询研究专题下的一些应用实例,看看那里的3DEC模型,所有这些模型,除其中一个以外,建模时间都在5天以内,一般为3天,不助任何第三方软件。大家可以比较一下,这些模型用其他软件建模时需要花多长时间。 与其他ITASCA软件如FLAC3D一致地,3DEC采用命令流建模,可以嵌入FISH。这对初学者而言有些困难,但如果掌握了就很灵活: 相比较菜单操作而言,命令流显然要困难一些,因此难学。但一旦掌握,修改模型只需要修改命令流,无需进行重复的菜单操作,熟手因此多喜欢命令流的方式; FISH本身就不是为初学者准备的,但掌握了FISH以后,任何有规律性对象的建模就容易得多。比如多机组的地下厂房洞室群,用FISH建立起来了其中一个单元以后,修改参数即可很快获得其他单元。建模过程中FISH的应用可以大大提高效率,是命令流、特别是菜单操作所难以比拟的。 因此,3DEC是典型的“欺生”,学习3DEC和训一匹“烈马”有得

一比,如果你不能驯服它,你只能是望而却步。 学习3DEC还需要“洗脑”,即固有的理论和思维模式可能会有所障碍。 不知道哪位坛友在基础理论学习过程中系统学习过非连续力学方法、或者说学习过离散元方法。以楼主的理解,国内一些关于离散元的文献中,只要谈深一点,就不乏误解和错误。其中的原因是多方面的,一是没有跟上国际潮流,没有真正弄懂就开始写文章。二是既往的教育背景基本都是连续理论和有限元方法,当用这种思维定式来应用离散元程序如3DEC时,可能会受到一些制约。 3DEC处理的对象包括两大部分,即块体和接触(结构面),相比较而言,有限元乃至FLAC3D针对的对象只是其中的块体,即便存在结构面,但在程序结构中的处理方式也与3DEC有着本质的差别。 如果说单元网格是数值模型的基本单元,那么,3DEC中包括两种网格体系,即接触网格和块体网格。这要求用户在脑子里建立这种概念,即3DEC程序结构中有两个系列的网格,而不是传统的一个系列。当然,从应用角度,如果不理会这一点也无所谓,但如果是达到写文章和理解程序的深度,则需要理解这种差别及其带来的不同。 在3DEC中,接触被作为块体的边界,因此,两个块体相接触时,无需节点之间有任何的对应关系。在FLAC专区中有一幅帖子问“这样的网格行不行”,如果放在3DEC中,这不是问题。这一差别显

FLAC3D命令流(挺实用)

1、怎样查看模型? 答:plot grid 可以查看网格,plot grid num 可以查看节点号。 2、请问在圆柱体四周如何施加约束条件? 答:可以用fix ... ran cylinder end1 end2 radius r1 cylinder end1 end2 radius r2 not,其中r2

FLAC3D50模型及输入参数说明

1.1模型参数代码 可参考manual中各个章节的command命令及说明,注意单位。用prop 赋值。

16 ttable 塑性拉应变-抗拉强度的表号 下列参数可以显示、绘图与通过fish访问 1 es_plastic 塑性切应变 2 et_plastic 塑性拉应变 3 ff_count 检测切应变反向的数 4 ff_cvd 体应变,εvd 经典粘弹性模型的材料参数(Classical Viscoelastic (Maxwell Substance) –MODEL mechanical viscous) 1 bulk 弹性体积模量,K 2 shear 弹性剪切模量,G 3 viscosity 动力粘度,η 粘弹性模型的材料参数(Burgers Model –MODEL mechanical burgers) 1 bulk 弹性体积模量,K 2 kshear Kelvin弹性剪切模量,G K 3 kviscosity Kelvin动力粘度,ηK 4 mkshear Maxwell切边模量,G M 5 mviscosity Maxwell动力粘度,ηM 二分幂律模型的材料参数(Power Law –MODEL mechanical power) 1 a_1 常数,A1 2 a_2 常数,A2 3 bulk 弹性体积模量,K 4 n_1 指数,n1 5 n_2 指数,n2 6 rs_1 参考应力,σ1ref 7 rs_2 参考应力,σ2ref 8 shear 弹性剪切模量,G 蠕变模型材料参数(WIPP Model –MODEL mechanical wipp) 1 act_energy 活化能,Q 2 a_wipp 常数,A 3 b_wipp 常数,B 4 bulk 弹性体积模量,K 5 d_wipp 常数,D 6 e_dot_star 临界稳定状态蠕变率, 7 gas_c 气体常数,R 8 n_wipp 指数,n 9 shear 弹性剪切模量,G 10 temp 温度,T 下列参数可以显示、绘图与通过fish访问

FLAC3D学习笔记(自己总结版)

FLAC3D学习笔记(自己总结版) 一、建立模型笔记1键盘上的键的功能:X,Y,Z分别控制所建立的模型围绕X,Y,Z三个轴做逆时针旋转、如果打开大小写锁定键,分边按XYZ时建立的模型会做顺时针旋转、+号的功能是加大模型旋转的角度,-号的功能是减小模型旋转的角度。2键盘上的上下左右四个键可以实现图形的向上向下,向左和向右的移动、3当在一个区域建立多个模型的时候,有时候为了镜像单个模块儿,需要预先编组,编组的方法如下:gen zon tunint p0 0 0 0 p1 010 0 p255 0 p3 0 05 p6 0105 dim sq2 sq21 sq2111 group(编组) z1(组名为:z1) &fill group tunnel4镜像整个模型的方法:首先判断即将镜像的模型在原模型的哪个方向(即三个轴的方向),然后在轴所在的方向上去两个点、其中一个是原点(origin(xyz))、5镜像部分模型的方法: gen zone reflect normal (x,y,z) origin (x,y,z) range group z1就可以了、6特别要注意的一点:交叉巷道的巷道充填和巷道的网格是两个组,所以在镜像的时候不要忘了给充填部分镜像、7 group radcyl range group cylint not (编组的时候不包括cylint)7 快捷键总结Ctrl+Z 局部缩放的功能。 Ctrl+R的功能是恢复到初始状态。8模型建立的方法:方法1:利用

默认值生成网格,各个默认值:(1)p0的默认值是(0,0,0),网格的每边的单元格数size默认值是10,网格每边的长度默认值为size的值、方法2:利用4个点的坐标来生成矩形网格、p0~p3 size方法3:利用edge来确定边长生成矩形网格、方法4:利用参数ratio来确定单元体几何边画边生成矩形网格、方法5:利用参数add(相对坐标)来生成矩形网格、方法6:利用八个点的左边来生成矩形网格、9、用户自定义模型的方法我来贡献一点自己的成果:; U" j/ ?7 L+ a0 uFLAC3D的二次开发环境提供了开放的用户接口,在软件安装文件中包含了软件自带所有本构模型的源代码,且给出了Mohr-Coulomb模型和应变软化模型的编译示例,因此可以方便地进行本构模型的修改与开发。为了方便起见,下面的说明以建立UserModel模型为例。c % b1 h、 \ K6 Q: l(1) 在模型头文件(usermodel、h)中进行新的本构模型派生类的声明,修改模型的ID(为避免与已有模型冲突,一般要求大于100)、名称和版本,修改派生类的私有成员,主要包括模型的基本参数及程序执行过程中主要的中间变量。( ? p6 u J5 Q3 y( a(2) 在程序C++文件(usermodel、cpp)中修改模型结构(UserModel::UserModel(bool bRegister): Constit L, t% V、D(4)

多心圆隧道用FLAC3D直接建模的方法

多心圆隧道直接用FLAC3D建模 丁其乐2013/6/18 多心圆隧道模型使用FLAC3D建模的难点在于FLAC3D中并没有以不规则曲线为边界的原始3D基本网格,隧道的断面图见图一 O4 图一 隧道内轮廓线是由多个圆弧做成的,所以内部区域模型只能通过3D基本网格拼接而成,这时我想到了使用cylinder(圆柱体形网格)拼接,但是这个圆弧的圆心并不是一个点,怎么办?这时我想到了通过fish来调整圆心位置,使得各圆弧的圆心都调整到O1位置,同时又要保证各圆弧的圆弧线不变,且内部网格点的相对位置不变。 下面我以一个简单的例子来说明我调整的过程: O1 O2 M1 M2 A B 图二 在图二中圆弧O1AB 的圆心为O1,圆心坐标为(X1,Z1),现在通过坐标调整把圆弧O1AB 所占区域调整到O2AB(如上图所示),O2的坐标为(X2,Z2),同时O1A上面一点M1,调整之后在O2A上为M2。A和M1的坐标分别为A(Ax,Az)和M1(M1x,M1z)。 设:

|11| |1| O M k O A = (1) '|1| 1|1| M A k k O A = =- (2) M2的坐标为M2x,M2y 则: '21(21)M x M x k O x O x -=- (3) '21(21)M z M z k O z O z -=- (4) 由(3)、(4)就以求出来M2的坐标。 下面用一个简单的例子说明实现代码。 new title 调整圆弧区域到指定位置 ;定义参数 def para ;O1的平面坐标 O1x=-2.9 O1z=0 ;O2的平面坐标 O2x=0 O2z=0 r1=5.9 ;O1的半径 a1=0*degrad ;A 点与X 轴的夹角 a2=30*degrad ;B 点与X 轴的夹角 ;A B 点的坐标 Ax=r1*cos(a1)+O1x Az=r1*sin(a1)+O1z Bx=r1*cos(a2)+O1x Bz=r1*sin(a2)+O1z end para ;生产模型 gen zo cyl p0 (O1x,0,O1z) p1 (Ax,0,Az) p2(O1x,1,O1z) p3(Bx,0,Bz) size 4 1 6 group '调整' gen zo cyl p0 (O1x,2,O1z) p1 (Ax,2,Az) p2(O1x,3,O1z) p3(Bx,2,Bz) size 4 1 6 group '原始';为了对比而建 ;调整节点位置 def ding pg=gp_head loop while gp_group(pg,1) = '调整' xx=gp_xpos(pg)

FLAC原理实例与应用指南FLAC3D实例分析教程

《FLAC 原理实例与应用指南》FLAC3D 实例分析教程 1 FLAC3D 实例分析教程 刘波韩彦辉(美国)编著《FLAC 原理实例与应用指南》 北京:人民交通出版社,2005.9 Appendix(附录) 版权所有:人民交通出版社,Itasca Consulting Group, USA 说明: 1.本实例分析教程是为方便读者学习、应用FLAC 和 FLAC3D 而编写的,作为《FLAC 原理、实例与应用指南》一书的 附录。 2.计算算例参考了Itasca Consulting Group 的培训算例,命 令流的解析旨在方便读者理解FLAC 和FLAC3D 建模及求解问题的一般原则与步骤。 3.实例分析的算例中,FLAC 算例是基于FLAC 5.00 版本、FLAC 3D 算例是基于FLAC 3D 3.00 版本实现计算分析的。读者在学习和研究相关算例时,请务必采用Itasca 授权的合法版本进行分析计算。 4.本实例分析教程仅供读者参考,读者在参考本教程算例 进行工程分析时,编者对可能产生的任何问题概不负责。 编者 《FLAC 原理实例与应用指南》FLAC3D 实例分析教程

2 实例分析1:基坑开挖 图1:基坑开挖的位移等值线图 例1: ; simple tutorial – trench excavation ;简单的隧道开挖方法 ; Step 1: create initial model state ;第一步:初始模型的建立 ; create grid ; 建立网格 gen zone brick size 6 8 8 ;建立矩形的网格区域,其大小为6×8×8 ; assign material ;指定材料的性质 model mohr ;采用摩尔-库仑模型 prop bulk 1e8 shear 0.3e8 ;模型的材料性质:体积模量1×108 剪切模量0.3×108 prop fric 35 coh 1e3 tens 1e3 ;摩擦角35°粘聚力1×103 抗拉强度1×103 ; set global conditions ;设置全局参数 set grav 0,0,-9.81 《FLAC 原理实例与应用指南》FLAC3D 实例分析教程 3 ;设置重力加速度,z 坐标正方向为正,故为-9.81 ini dens 2000 ;初始密度为2000 ; set boundary conditions ;设置初始边界情况 fix x range x -0.1 0.1 ;在x 方向上固定x = 0 边界,为滚动支撑 fix x range x 5.9 6.1 ;在x 方向上固定x = 6 边界,为滚动支撑 fix y range y -0.1 0.1 ;在y 方向上固定y = 0 边界,为滚动支撑 fix y range y 7.9 8.1 ;在y 方向上固定y = 8 边界,为滚动支撑 fix z range z -0.1 0.1

相关文档
最新文档