




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
岩土论坛 - FLAC/FLAC3D - flac3d 自我总结,和交流 打印本页 登录 - 注册 - 回复主题 - 发表主题 flac3d 自我总结,和交流 ruanjianjian 2010-10-10 16:28 flac3d学习有一段时间,过一段时间没学究忘了很多,所以学习最好不要放下来。对自己总结,也是学习的一种。flac3d命令很多,用到的不多,就那么几个,基础的就不多说了进入正题:个人认为如果学习flac3d最好把flac的命令进行总结一下。做模型就好比拼盘:要地应力,就把地应力的那段命令摘入,要出图,加入plot的相关命令,要出动画,加个动画命令,所以总结好命令后,以后做模型,只要把命令组一条条的对应放入,一个程序就出来了,后期调试一下,改相关参数就可以了。接下来,我吧自己弄好的整理一下,按照我上面的思路进行建模ruanjianjian 2010-10-10 16:34 什么人建模都会有自己的喜好,下面说一下我自己建模第一步就是建立一个全新的txt文件(不论命令大小都是如此),这样的好处是,模型可以修改方便快捷。而且还可以自我查错 ruanjianjian 2010-10-10 16:49 建立新的txt后,第一行命令就是new,加new的目的是为了防止其他命令的影响(相当于刷新)再执行其他命令前刷新一下。 ruanjianjian 2010-10-10 17:03 不用想,接下来就是建模了,建立模型,不同人有不同的方法,有的人喜欢建完后在对模型开挖最终得到自己想要的模型。model null 等;有的人喜欢用各种带缺角的组合成最终的模型。具体建模看各自的喜好,我觉得,不同点是建模的网格划分有区别,用带缺角的组合模型网格划分更好 ruanjianjian 2010-10-10 17:53 最好把常用的集中模型记下来组成各种句子,以后用的时候直接插入例如:gen zone brick/radbrick size *,*,*,* ratio *,*,*,* ruanjianjian 2010-10-10 18:14 建模的过程中,或同一个文件中有重复应用的命令,就可以用宏命令了,宏命令macro 名称 命令的内容例:macro shiping plot con zdip outline on用shiping 代替后面的引号里的东西。在建模中只要有相同的都可以用shiping代替,缩减了书写命令的时间,整体上也能让人看的更明白注意点是,你命名的符号最好跟falc自带的命令不要重复,我的处理方法是,名称后带数字如shiping1如果你想修改宏对象,改变命令的内容,在名称上加单引号就是替换的意思例macro shiping1 新的命令这些很多课本里都有讲,不在叙述 ruanjianjian 2010-10-10 18:21 很多时候我们要对单一的对象进行操作,例如进行模拟运算后,只想单独的显示一部分的内容,单一的土层,锚杆,等就要用到groupgroup给对象命名,例:在gen zone brick - size - group name(name随便取,不要跟flac的已有的命令重合就行)这里的意思就是对这个体进行了命名接下来想吧这一块模型挖掉加model null range group name ruanjianjian 2010-10-10 18:28 group的用法:1。group直接加到模型的后面相当于给整个模型命名2.group name range x xyy zz给一个范围的体命名 ruanjianjian 2010-10-11 09:52 继续学习,昨天说到了建模,我是搞巷道的,重点讲巷道。巷道建模,用到brick,radbrick,radtunnel,radcylinder这4个模型比较多,一般模型都是建一半,让后用镜像命令复制另一半,建模也是大家有各自不同的习惯,总的有两种,一种用点法,就是吧模型的所有关键点都输入进去,这种方法可以用来建立不规则的模型,弊端就是工作量大,不当在设点的时候考虑多,输入的时候也很麻烦。第二种。按照模型只要取三个点确定xyz三周的方法,有点输入简单,弊端,只能建立规则的模型,像要建立,路堤模型,边坡模型,就只能是按照数点的方法建模 ruanjianjian 2010-10-11 10:02 range的命令:书上有,但是我用自己的话说一下他的用途1:取圆球面的范围,就是同一个中心,不同半径之间夹的那一部分,用在给球面施加力,约束时用该命令,命令:range annulus center xyz(中心坐标)radius r1 r2(两半径)想要表达的是球面时,r1r2取值相差小点即可,如radius 2.9 3.1 这时范围就是半径为3的面。2。圆柱的环面施加力或约束时也用到该命令。命令range cylinder end1 xyz end2 xyz radius r(end是表示柱体断面的中心点坐标)range plane above 表示的是z大于0的上部结构range plane blow 表示的是z小于0的下部结构range dd a dip b origin xyz 表示的是走向角度a,倾向角度b的面dd表示,当面与xoy面相交时的线的垂线与y轴正向的夹角,顺为正,说白话,就是面的指向方向 面是朝那个方向的意思。dip面与xoy面的夹角,与z轴负向为正,origin表示面经过xyz点range normal xyz 法线方向为xyz的面range not 没试用过(范围外的东西,想想用到圆上取范围非常好) ruanjianjian 2010-10-11 10:21 现在回到建模上面说过建模一般只建一半然后用reflect命令(镜像)镜像首先得有个面吧,就目前我用的面都是xoy面yoz面。估计大家也很少用到斜面镜像吧面的命令上面range里说过了,这里就不讲了.命令:reflect normal xyz origin xyz (根据法线和过一点建的面)最常用至于实际使用过程中有人问道:normal -1 0 0 与normal 1 0 0的区别,我试过两者的效果是一样的,没区别,虽然方向不同,但表达的是同一个面reflect dd a dip b origin xyz 这个就是用里建立斜面镜像的,各个符号的意思上面讲过,不重复了 ruanjianjian 2010-10-11 10:24 有一点注意了,镜像的时候如果是模型镜像的话,相当于在建立一个模型,故,在reflect的前面要加建模的关键字,gen zone reflect。 ruanjianjian 2010-10-11 10:29 先讲点后期出图的,然后总结一下(plot set rotation 20 0 30 设置观测角度的plot set center auto 设置观测中心点plot set magnification 1.5 设置放大倍数的plot show)显示这一整部分就是我开头说的要自己整理出来的句段了,等以后用到的时候直接插入,作用就是显示模型的。任何模型的显示都可以用他来表示。很好很强大。如果还要显示其他功能就把相应的命令在插入上面那部分就行了。 ruanjianjian 2010-10-11 10:31 plot set rotation 20 0 30 plot set center auto plot set magnification 1.5 plot add surface yellowplot add axesplot show这个就是我常用来查看模型的命令,大家也可以自己整理一分,ruanjianjian 2010-10-11 10:39 总结,做个实例,给大家看看隧道,半圆直墙隧道分两步一,建模, 二,显示建模 建一半然后镜像对吧尺寸,自己在草纸上画好,点坐标都弄清楚了把以前的句子直接套下来gen zone radcylinder size 4 25 6 14(网格数量,自己看着办)ratio1 1 1 1.2&p0 0 0 0 p1 50 0 0 p2 0 100 0 p3 0 0 50 dimension 2 2 2这是建上半部分gen zone rad tunnel size 4 25 6 14 ratio 1 1 1 1.2 &p0 0 0 0 p1 0 0 -50 p2 0 100 0 p3 50 0 0 dimension 1.8 2 2建立下半部部分 ruanjianjian 2010-10-11 10:41 建一半后,用镜像命令也讲过了直接插入,gen zone reflect normal -1 0 0 origin 0 0 0最后一步就是显示给大家看那一打包显示直接插入plot set rotation 20 0 30 plot set center auto plot set magnification 1.5 plot add surface yellowplot add axesplot show。整体的建模加显示,的命令就完了 ruanianjian 2010-10-11 10:44 合一块 建立一个新的txt 开头加一个newnewgen zone radcylinder size 4 25 6 14 ratio1 1 1 1.2&p0 0 0 0 p1 50 0 0 p2 0 100 0 p3 0 0 50 dimension 2 2 2gen zone rad tunnel size 4 25 6 14 ratio 1 1 1 1.2 &p0 0 0 0 p1 0 0 -50 p2 0 100 0 p3 50 0 0 dimension 1.8 2 2gen zone reflect normal -1 0 0 origin 0 0 0plot set rotation 20 0 30 plot set center auto plot set magnification 1.5 plot add surface yellowplot add axesplot show整体就这样了,大家可以粘贴一下看看。 ruanjianjian 2010-10-11 11:05 这里提一点,模型建立的时候最好网格划分相同,不然的话计算得结果容易出错.用 attach face range z 1 1.1 (具体数值根据实际来) ruanjianjian 2010-10-11 11:36 plot命令大集合:显示切片的命令plot set plane ori 0 0 0 norm 0 1 0 plot con zd plane这两行命令,用来显示指定面上的位移变化云图。(吧第二行改改,还可以显示应力云图,等其他)plot con syy y向应力云图plot con szz outline on z向应力云图加显示网格plot con szz effective on z向有效应力plot con szz inter 1e4 云图显示增量(后面的值越小,图上颜色条带就越细,)plot con szz min -10e4 显示最小值,图上小于这个数的值都用同一色表示plot con szz max 10e4 显示最大值,图上大于这个数的值都用同一色表示plot fip outside on 显示力的箭头 ruanjianjian 2010-10-11 15:03 建模完事后就要给模型赋值,赋参数了,关键词,modelmodel mor(赋摩尔库伦模型,想要什么模型改相应的词)pro den 2500(密度)bulk2e8体积模量,shear 2e8 (剪切模量)co 2e6(内聚力)fric45(摩擦角)ten1e6 抗拉强度。range.(我们要赋值的范围)给模型赋值就是hi这么简单,难再参数的选取。 现在看边界,如果是不动面,用fix x range。如果边界带速率,或位移用ini。 ruanjianjian 2010-10-12 19:35 set grav 0 0,-9.81ini dens 1000设置重力就一定要设置密度不考虑重力就不要设计密度。两者共存的,设计程序的时候一定要记的 ruanjianjian 2010-10-12 19:40 set mech force 50solve用SET命令设定了最大不平衡力的上限值为50N,即:计算的最大不平衡力一旦小于此值,我们便人为模型达到了平衡状态。求解过程终止。设置这个目的是在一定精度要求下,加快计算(值越大,算的量越少,花的时间也越少) ruanjianjian 2010-10-12 19:50 说到这里,add与set的区别add原来有的加新的用addset原来没有的,设置用set ruanjianjian 2010-10-12 20:03 plot create GravV plot set plane dip=90 dd=0 origin=3,4,0 plot set rot 15 0 20 plot set center 2.5 4.2 4.0 plot add bound behind plot add bcont szz plane plot add axes plot show 。如这个命令,显示图像的时候命令有很多,那么我们想显示别的图像,又不想吧这个弄好的图像丢掉则用plot create name建立一个图像,在建立新的图像时plot create name1(新的名)显示以前的图像那么输入如下命令:plot current name。另一种方法,输入:plot show name ruanjianjian 2010-10-12 20:21 这里有一点最好开始的时候将网格剖分的相对稀疏一些(10001500个单元左右),先求解一下,看看结果,然后再根据大致的结果有针对性的增加模型的网格数,以得到更精确的解答。更快的检验一下自己 的模型是否建错了, ruanjianjian 2010-10-12 20:49 不同的区域定义不同的本构模型model mohr range z=0,5 prop ClayeyGravel range z=0,5 在定义参数后面加个range范围为了避免在输入命令时总要通过range全局坐标域的方法来限定该命令执行的区域,我们可以先通过range命令来给不同的区域命名,然后就可以用range区域名的方法来限定范围了。 这样就避免了每次输入命令要限定在该区域执行时,都要输入一遍坐标范围的麻烦。具体如何给区域命名,以及日后如何用区域名来限定该区域,可以看下面这个例子: range name trench x=-1,1 y=0,4 z=-2,2 model null range trench ruanjianjian 2010-10-13 22:46 今天做方案,没时间,就讲几点得了,1:右手法则,建立模型时,的点的排放时有规律的,方法如下,拿出右手伸直了。4指合并指向就是p0到p1的方向掌心指向就是p0到p2的方向拇指与4指垂直的方向就是p0到p3的方向 ruanjianjian 2010-10-13 22:49 很多人说网格后的云图有带齿什么的,改进的方法就是重复用下面的命令Gen ADJust用此命令来微调网格, 使之离散平滑。该命令可以连续使用以增进平滑效果的。ruanjianjian 2010-10-13 22:55 plo blo gro可以看到不同的group的颜色分布(例不同的土层定义组后,就可以用此命令显示不同的色了) ruanjianjian 2010-10-13 22:59 如何查看剖面上任一点的位移值?print gp disp range x() y( ) z( )或print gp disp range id plot gp disp range x() y( ) z( )或plot gp disp range id很多人都是这么做的,我也是学习, ruanjianjian 2010-10-13 23:03 initial 与 apply 有何区别? initial初始化命令,如初始化计算体的应力状态等; apply边界条件限制命令,如施加边界的力、位移等约束等。initial的应力状态会随计算过程的发生而发生改变,一般体力需要初始化,而apply施加的边界条件不会发生变化。 ruanjianjian 2010-10-13 23:05 如果想看模型在计算过程中的变化情况Set movie avi step 1 file 1.avi;定义动画,动画记录的频率为1时步一频率(计算量大的时候就没必要1时步的记录,可以10,100时步的记录,减少电脑的使用)Movie start;动画开始 香格里拉 2010-10-14 08:47 附件里这个命令“hist write 5 vs 2 file dibiao.txt”能将结果按时步讲就算结果输出,不知哪位知道能否用什么命令能将计算结果按给定的时间间隔,例如0.01或0.02秒输出? ruanjianjian 2010-10-15 09:17 hist n= 5 :N(Nstep)=5指定了每迭代计算5次,记录一次相关的值(如果不指定,则系统默认值为10)hist unbal 命令的第二行指定记录最大不平衡力(the maximum unbalanced force)hist gp zdisp 4,4,8 记录坐标值为(4,4,8)的节点Z方向的位移(这个用的多,查看收敛量时就是这个命令,上面两个个人人认为用处不大,也很少用过) ruanjianjian 2010-10-15 10:22 如何在程序中进行暂停,并可恢复计算?答:在命令中加入pause命令,用continue进行继续个人认为这个命令非常好用在我们分步求解中想得到某一个过程中的结果,不用等到全求完,还可以在分布求解错误的时候就进行改正。而不是等到结果出来 ruanjianjian 2010-10-15 10:24 flac3d 自我总结,和交流关于dd、dip的理解:不同人有不同的理解,我的理解就是dip面与水平面的夹角dd是面与水平面的交线的垂线与y轴的夹角 ruanjianjian 2010-10-15 10:25 1) 在plot hist m vs n的形式里,m代表y轴,n代表x轴(不管m,n的正负);5 L0 D# _1 1 C- L2) -表示对其值作mirror,如果大家使用AUTOCAD的话就明白mirror的含义了,比如上面的 hist 1 gp ydisp的值是0100,那么vs -1就变成-1000.以此类推.3) 为什么要这么做呢?主要是为了符合岩土工程的习惯需要,例如桩载荷试验曲线,沉降曲线等都不是画在第一象限内. ruanjianjian 2010-10-16 09:43 最近看有很多对后处理中的收敛有很多不同的想法,自己也总结一下plot sk dis scale 0.07显示位移矢量箭头的后面的scale默认的是0.053越大箭头越大magf也是放大变形的意思,但是不能放在sk dis的后面,计算机会出错 ruanjianjian 2010-10-16 09:55 回到主题,收敛数据,我们想得到一条收敛量随时间变化,或者不同应力直间关系的图线方法1用set log on然后把数据导入excel或者其他的处理软件进行处理2.用hist id=1(不写id的话,电脑会自己按123456的顺序进行排序)gp(点,如果是体的话用zone)zdis xyz(xyz点处z向位移)这里应力应变之类的都是用zone,位移之类的都是用gp最后相要出相应的结果用命令plot hist 1;如果相要的不同的id之间的关系(比如说竖向应力szz与剪应力sxz的关系)命令plot hist 2 v 3 (2,3是对应应力开始设的id号)flac3d程序里面自动设置的步长是10,也就是说每隔10步记录一次,这样如果模型小得出的结果就数据少图线不光滑,如果模型大,得到的数据多计算文件又太大,浪费空间。设置步长的命令set hist_rep n(n就是步长)上面说的plot多是flac里显示的如果想把结果存到别处去用命令hist write 2 v 3 file namehist.txt(其实2相当于x轴,3相当于y轴) ruanjianjian 2010-10-16 09:59 设置影片格式上面见过,温故而知新set movie avi step 1 (存储步长,可以任意设,就是每隔几步存储的意思)file name.avimovie start ruanjianjian 2010-10-16 17:19 分步开挖就是分布计算每多一步(多添一块土,或多开挖,多掘进等)就计算一下,加一个solve即可如果想保存每一步的结果和图,那就在每一步的solve后面添加保存命令设立相应的文件,以后调用即可 ruanjianjian 2010-10-17 23:42 最近遇到瓶颈了,不知道什么学了,我现在也有几个问题,一个就是地应力的是,到底初始应力是什么来的,前后模型参数不一样对初始应力场有什么影响等 ruanjianjian 2010-10-18 19:49 这两天在仿真论坛上逛,吧初始应力给看了一遍,自己也把不同老大的东西整整。结论如下 ruanjianjian 2010-10-18 19:49 1.设定初始地应力场是十分必要的 没有地应力场进行计算会使模型在重力作用下发生过大的变形 从而不能与实际情况相符 ruanjianjian 2010-10-18 19:50 2。apply是施加的外力 ini是初始的内力。 ruanjianjian 2010-10-18 19:51 3. 有人问如果改参数这样做的话地应力不是被人为改变了吗?为什么要人为加大它的参数呢,很不合理?回答:不能改变bulk和shear模量,因为这两个参数是用来计算应力的。而con和fric是用来判断破坏状态的。如果将bulk和shear模量改变了,那你在重力条件下计算的应力就不真实了。咱们改大参数的目的是让模型在不破坏的条件下得到正确的应力,所以只有将con和fric变大才能达到目的。 当然如果在弹性模型下计算初始应力就没有这种问题了。因为弹性模型是没有破坏准侧的当然也没有描述达到破坏状态的参数了。 ruanjianjian 2010-10-18 19:51 4. 大家正好讨论地应力的问题,我也有个疑问,平衡地应力后,水平方向的地应力如何确定的?是由本构模型来确定的吗?这个问题现在我也没答案也是我的问题 ruanjianjian 2010-10-18 19:52 5. gen zone brick size 10,10,10 p1 20,0,0 p2 0,20,0 p3 0,0,20 model mohrprop bulk 5e9 shear 3e9 fric 35 ini density 2500 set gravity 0,0,-10fix x y z range z -0.1 0.1ini szz = -5.0e6 grad 0,0,2.5e4 ini sxx = -2.5e6 grad 0,0,1.25e4ini syy = -2.5e6 grad 0,0,1.25eapply szz = -4.5e6 range z 19.9 20.1 apply szz = -5.0e6 range z -0.1 0.17 apply sxx = -2.5e6 grad 0,0,1.25e4 range x -0.1 0.1 apply sxx = -2.5e6 grad 0,0,1.25e4 range x 19.9 20.1apply syy = -2.5e6 grad 0,0,1.25e4 range y -0.1 0.1apply syy = -2.5e6 grad 0,0,1.25e4 range y 19.9 20.1 U# P! y- P$ _+ D 它的意思是通过ini szz来赋予初始地应力,但是为何又有set gravity 0,0,-10这样不是重复了吗? ini是的确是模型的内力,这个内力通过set grav ,然后就像一些帖子上介绍的那样,让程序计算不就行了吗?干嘛还有手动在设定一次呢?我感觉它这样的做法有点重复了. ruanjianjian 2010-10-18 19:53 回答:(1)它这样做其实只是减少程序的计算步骤.5 _这样设置以后 整个模型就已经是平衡了(2)设置重力的原因不是为了平衡减少程序计算步骤,而是因为如果未初始化应力的话,在set grav的时候,模型会在自重应力下发生应力变形。所以,初始化应力的原因是防止模型在自重应力下发生变形(我们认为地层自重变形已经发生,当然欠固结等现象是另外一回事)。(3)其实就让模型发生变形,然后把位移清零也可以的 ruanjianjian 2010-10-18 19:54 6。ini命令来对地层进行初始应力的施加,而APPLY是7 u(施加应力边界条件7. 用到ini初始平衡的时候要和重力计算的相同才有用 ruanjianjian 2010-10-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示
- 新质生产力知识
- 孤立性直肠溃疡综合征的临床护理
- 手术室医用气体管理
- 长征胜利八十周年主题发言稿模版
- 语文教师考试试题及答案
- 银行在线面试题目及答案
- 水系灭火剂生产工艺流程图
- 学校消防广播测试题及答案
- 宣传消防面试题及答案
- 农产品供应链应急保障措施
- 2024年中国农业银行安徽蚌埠支行春季校招笔试题带答案
- 食品原料报废管理制度
- 2025年高级政工师理论考试题库(浓缩500题)
- 乡村振兴学习课件
- 2025年施工现场质量员继续教育考试题库(继续教育)含答案
- 饲料企业安全生产工作计划
- 临时用地方案
- 山东大学《军事理论》考试试卷及答案解析
- 2025年重庆市合川区事业单位招考聘用乡村振兴人才高频重点模拟试卷提升(共500题附带答案详解)
- 2025年陕能榆林清洁能源开发有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论