flac3d命令与FISH语句总结
FLAC--FISH(最新)

卷首语要学好FLAC3D,必须学好FISH,FISH身为FLAC3D的内嵌语言,也就是是一种嵌入式编程语言,其编写短小精干实时,同时兼顾大家操作习惯,不但可以嵌入命令流文件里工作,而且还可以引用FLAC3D本身的任何命令,突破了一般标准程序代码的限制,实现了读者对FLAC3D软件的完美控制。
类似于ANSYS的APDL语言,FISH主要是用来处理现有命令程序难以实现(较难或较烦)的一些问题,对于没有编程经验的用户,可以编一些简单的FISH函数,最好是修改3DSHOP中的一些比较现成的函数以便使用;当然,既然是一门编程语言,也可以编复杂程序。
写这一卷的主要目的就是使大家对FISH有个较为充分的认识和理解,因为相关资料甚少,故卷中的有些资料是作者在Simwe,Yantubbs等论坛上收集后整理所得,在此表示感谢。
本卷分为4章,第一章为关于FISH语言法则、变量、函数等得一个综述,主要是想让大家从全局认识FISH编程语言;第二章介绍了FISH语句的类别和各自特点和用法;第三章则较为细致的向大家介绍了各变量,函数的具体含义,部分配合了用法实例;第四章补充了一些比较不错的FISH应用实例。
希望大家读后会有所收获,也欢迎大家批评指正,共同提高!Sunshinessw1216@QQ 61925252007-9-20于铁道科学研究院北京·中国第一章 Fish的语言法则一、四个概念函数与变量—Fish函数由define定义,end结束定义。
如下例为定义一个名叫abc 的函数。
上述函数中hh即为“变量”。
函数和变量是FISH语言中非常基本和重要的两个对象,区别如下:当我们调用一个FISH对象XXX时,如果XXX是函数,系统就会执行该函数;而如果XXX不是函数而是变量,系统则会简简单单的调用其当前置。
大家注意继续输以下命令行,注意输出结果,便可对这两个有个较为清晰的认识。
语句—在不少实际问题中有许多具有指示说明性的、控制性的、重复性操作,程序中需要执行他们,诸如Array, Define, end, Case, endcase, If ,else, endif 等即为语句。
Fish总结

Fish是嵌入在FLAC3D中一种编程语言,它允许使用者定义新的变量和函数。
函数被用来扩展FLAC3D的功能和增加用户自定义功能。
例如,输出或者打印新的变量,实行特定的网格生成器,数值测试中应用伺服系统,定义特定的性质以及参数研究的自动化。
伺服系统(servomechanism)又称随动系统,是用来精确地跟随或复现某个过程的反馈控制系统。
伺服系统使物体的位置、方位、状态等输出被控量能够跟随输入目标(或给定值)的任意变化的自动控制系统。
FISH就是简单的嵌入在FLAC3D的数据文件中—DEFINE后面的命令行按函数处理,函数遇到END结束。
函数可以调用其它函数,其它函数也可以调用其它函数。
函数定义的顺序没有影响,只要它们在被使用之前被完全定义就行。
因为函数的编辑形式储存在FLAC3D的存储空间,SAVE命令会保存函数和相关变量的当前值。
2.2 FISH语言规则,变量及函数2.2.1命令行FISH程序包含在普通的FLAC3D数据文件中或者直接从键盘键入。
DIFINE后边的命令行按FISH函数处理;函数以遇到END为结尾。
FISH的有效命令行必须是下述格式中的一种。
1.命令用IF,LOOP等开始。
(见2.3)2.如果一行包含一个或更多用户定义FISH函数的名字,以空格号隔开。
例如fun_1 fun_2 fun_33.命令行包含指派声明(例如等号右边的数学式被运算且其值赋予给等号左边的函数名称或是变量)。
4.命令行由FLAC3D(在FIAH中调用FLAC3D命令)命令组成,通过COMMAND—ENDCOMMAND 分隔FISH指令。
命令行包含在FISH指令的一部分里面。
5.命令行以分号开始或者结束。
函数的变量,函数名称或者声明必须完整拼写,在FLAC3D命令中不能缩写。
不允许有连续的命令行;可以通过引入新变量分解复杂的表示式。
FISH在默认状态下为“对情况不敏感”—即大写与小写字母之间没有区别,所有的名字都转换为小写字母(注意可以通过(SET case sensitivity on)命令改变)。
FLAC3D常用命令总结

FLAC3D常用命令总结第一篇:FLAC3D常用命令总结1、模型建好如何检验所建模型是否有问题注意:第一步建模一定不要建太大的模型,可以建非常小的模型,确保模型的准确性,这样可以尽快开始后边的步骤,等后边计算分析步骤快速做完验证没有大问题,再将准确的模型建好换上,重新计算得到更加准确的结果。
2、如何检验应力边界、位移边界、加载速率等是否准确Plot add gpfix:看位移边界Plo add fap:看应力边界,看加载方向是否准确 Plot add vel:看速率,加载速率是否准确3、如何查看运算结果Plo con szz outline on:看z向应力云图,并显示边界网格 Plo add disp:看位移Plo con zdisp outline on magf 5:看z向位移云图,变形扩大5倍 Plo add bo :添加边界 Plo blo state:看是否屈服Plo add stensor:查看大主应力方向Plo con smin:小主应力Plo con smax:大主应力Plo con ssi(shear strain increment):查看剪切应变增量云图Plo bcont smin:查看单元小主应力4、如何做切面并查看切面结果在编辑“Edit“菜单中设置切面位置,在上述3命令后加上plane (pl)即可。
如:Plo con smin pl:查看切面小主应力5、后处理将模型导入到tecplot中做切面,加等值线等,对结果进一步处理,得到更漂亮的一些结果。
其他重要命令总结:1、如何在圆柱体四周如何施加约束条件?可以用fix...ran cylinder end1 end2 radius r1 cylinder end1end2 radius r2 not,其中r22、如何能把一个PLOT的图像数据导出来以便用其他软件绘图?答:用set log on 命令,把数据导出来,转到excel里处理一下,然后用surfer或者什么作图软件绘制就行了。
(完整版)FLAC3D常用命令

1. apply(缩写:app)可用来定义边界条件及初始条件:1)添加应力格式1:apply szz -0.3395e6 range z -0.1 0.1格式1:apply szz -0.3395e6 range group pile格式3:apply szz -0.3395e6 range z -0.1 0.1 group pile格式4:apply nstress 数值range z 2.9 3.1(或3)x 1 2 y 1 22)以一定速度施加位移边界格式1:apply yvel -1e5 range y -1.9 2.1 ;施加y方向速度-1e5/step3)添加边界条件格式:apply szz <数值> grad <梯度> range <范围>示例1:apply szz -1e9 grad 0 0 8.3e5 range z 0 120示例2:apply szz -0.6e6 range z 0.05 0.15 group pile注:<数值>是梯度方向坐标0点的数值,可通过定义坐标范围的上下值与梯度计算得到。
2. range(缩写:ran)通过range功能,可以使命令作用在一定指定范围的目标上;如果一个命令没有使用range来确定范围,则命令对整个模型有效。
1)利用坐标指定一定的范围格式1:range z 0 1格式2:range z 2.9 3.1 x 1 2 y 1 22)利用分组来指定范围格式:range group 13)以上两种的复合格式:range z -0.1 0.1 group pile4)利用id号来指定一定的范围格式:range id 0 10该命令后跟起始id和结束id,这里的id可以是实体单元、网格、结构单元、接触面和节点的编号。
例:model elastic range id 1 10 ;指定id为1到10的单元为各向同性弹性本构。
FLAC3D命令流(整理版)

1、怎样查看模型答:plotgrid可以查看网格,plotgridnum可以查看节点号。
2、请问在圆柱体四周如何施加约束条件答:可以用fix...rancylinderend1end2radiusr1cylinderend1end2radiusr2not,其中r2<r1,其实就是选择range的时候选两个圆柱的差,即得到边界。
命令流如下:fixxrangeend1100end2140rad1end1100end2140rad13、怎么能把一个PLOT的图像数据导出来以便用其他软件绘图答:用setlogon命令,把数据导出来,转到excel里处理一下,然后用surfer或者什么作图软件绘制就行了。
4、用命令建立模型后,如何显示点的坐标答:使用ploblogrogpnumon命令5、关于gauss_dev对性质进行高斯正态分布的问题答:根据手册上的说明:下面的命令设定一个平均摩擦角为40度,标准方差是±5%。
则命令如下:propfriction40gauss_dev2问题:请问gauss_dev2中的2是如何计算的如果把±5%改为±10%,则命令应如何写40×5%=26、reflect问题问:genzoneradbrick&p0(0,0,0)p1(10,0,0)p2(0,10,0)p3(0,0,10)&size3,5,5,7&rati o1,1,1,&dim142fillplotsurfgenzonereflectdip0dd90(对xy面做镜像)genzonereflectdip90dd90(对yz面做镜像)(1)dd表示y轴正向顺时针到那条射线的夹角,dip表示对称参照面与xy平面的夹角,对称参照面与xy平面的夹角在xy平面的投影是一条射线。
首先应该按照dd 的方向大体确定这个面的朝向,dd指的是从y轴正方向按顺时针(clockwise)方向转向所要确定面的法线方向在xy平面上的投影的夹角,然后再确定dip,dip指的是从xy平面转向所要确定的平面的角.(及z轴负方向转过角度)(2)命令:reflectnormalxyzoriginxyz(根据法线和过一点建的面)最常用,至于实际使用过程中有人问道:normal-100与normal100的区别,我试过两者的效果是一样的,没区别,虽然方向不同,但表达的是同一个面。
Flac3D常用命令及常规问题总结

Flac3D常用命令及常规问题总结Flac 3D 常用命令总结new 不退出flac3d,新建一个新的分析计算任务generate 简写为ge 产生网格zone 简写为zo 指示为3维网格体brick 简写为b 指示为长方形的网格体size x y z 指示长方形网格体在x、y和z轴所划分的网格数plot 显示,输入之后回车会出现plot base/0 可以输入plot的任何子命令(add添加条目(surface 网格体颜色、axes 坐标系颜色)等),若回到flac3d命令状态,则按一次回车或输入qiut 按x ,y,z 小写字母可以旋转当前视图中的X,Y ,Z 轴,相应的大写字母则方向相反。
m 放大,M缩小。
Ctrl+G可以切换彩色图和灰色图。
Model 简写为mo 定义材料模型Mohr 简写为moh 指摩尔-库伦模型Property 简写为pro 定义模型的材料参数,材料参数包括:密度density 简写为de,体积模量bulk简写为bu,切变模量shear 简写为sh,内摩擦角friction 简写为fric,内聚力cohesion 简写为c 抗拉强度tension 简写为ten等Set 用于设置模拟条件或控制条件,如重力加速度gravity,mechanical 设置静态力学分析的有关参数简写为mec,force 最大不平衡力简写为fo等。
比如set mechanical force 50Initial 简写为in 初始化网格的相关值。
Fix 保持网格节点指定参数(速度、压力、温度等)的值不变。
Range 指定范围History 简写为h 采样或记录迭代时模型中变量的值,检验采样记录时可以在plot子命令中输入history 1 、history 2等,忘记编号时可以输入print history就可以看到什么记录号对应什么变量或参数Nstep 简写为n 迭代次数,默认值等于10,ubalance 简写为unb 最大不平衡力,gp 采样网格节点的有关值,zdisplacement简写为zdis z轴方向的位移Solve 简写为so 控制相关过程的自动时间步一般等值线图(包括位移、速度、应力、压力、温度等),可以在一个新的视图中显示,首先要在plot子命令中新创建一个视图,可以输入“create 视图名”,回车,继续输入add contour/bcontour disp/szz…(contour为在当前视图中显示等值线图简写为con ,bcontour 绘制指定区的等值线图简写为bcon,disp 指定为位移量等值线图,szz 指定为应力等值线图)任意剖面上的等值线图,可以在刚创建的视图中再创建一个视图然后输入剖面参数,比如“set plane dip 90 dd 0 origin 3 4 0”(plane 简写为p 设置一个剖平面,dip 为剖面倾角,dd 为剖面的倾向,origin 简写为o 为剖面中的一点)Boundary 简写为bo 在视图中增加面的边界线框Behind 简写为be 为当前视图后面要转换视图则在plot子命令中输入“current 视图名”、show开挖把网格体的材料模型设置成空(null)模型即可,命令如下:Model null range x y zSet large 把材料设置成大变形求解时计算不收敛则用step命令,step 步数节点的ID号和重心的全局坐标可以由下面的命令得到:Print gp position单元体的ID号和重心的全局坐标可由如下的命令得到:Print zone所有命令大小写一样,都可以附带若干个关键字和有关的值,格式如下:Command 〈keyword value…〉[keyword,value…]…命令、关键字、数字可以用数个空格隔开,也可以用(),=隔开,;为注释符,;开始到行末都是注释一个简单的命令行只能至多80个字符(包括注释),如果超过80个字符则在行末输入&,每个命令最多含1024个字符。
flac命令及FISH小程序

1head1=nullp_z=zone_headloop while p_z#nullif ...new1=get_mem(2)mem(new1)=head1mem(new1+1)=p_zhead1=new1endifp_z=z_next(p_z)endloopend2这是fish中最常用的循环,即通过在内存中建立一链表,链表第一元素存储地址,第2个(或者更多)存储目标内容。
new = get mem(2),即为在内存中建立一个两个元素的链表mem(new) = headmem(new+1) = p_gp为给这两个元素赋予内容3如果有whilestepping,此fish程序每时步执行一次,如果没有,fish程序只在读取到该程序时运行。
这里牵扯到链式结构和。
我根据我的理解解析一下。
def zs_topad = top_head;ad和top_head都是指针变量,此句将top_head的值;附给ad,以后ad代替top_head,指向get_mem创建的矩阵的第一个元素。
zftot = 0.0;顶点全部的力。
loop while ad # null;gp_pnt = mem(ad+1);读取get_mem创建的矩阵第二个元素zf = gp_zfunbal(gp_pnt);取出单元不平衡力zftot = zftot + zf;不平衡力叠加ad = mem(ad);指针变量ad指向链表的下一个adendloopzs_top = zftot / 0.1414;力除以顶点处面积得顶点应力。
endballnew; p3 p4 是体对角线上的点,且一致。
def parmrad=10.0 ; radius of sphere.rad_size=5 ; radial zones.endparmgen zone pyramid p0 rad 0 0 p1 rad 0 rad p2 rad rad 0 p3 0 0 0 &p4 rad rad rad size rad_size rad_size rad_size group 1gen zone pyramid p0 0 rad 0 p1 rad rad 0 p2 0 rad rad p3 0 0 0 p4 rad rad rad & size rad_size rad_size rad_size group 2gen zone pyramid p0 0 0 rad p1 0 rad rad p2 rad 0 rad p3 0 0 0 p4 rad rad rad & size rad_size rad_size rad_size group 3def make_sphere; Loop over all GPs and remap their coordinates:p_gp=gp_headloop while p_gp#null; Get gp coordinate: P=(px,py,pz)px=gp_xpos(p_gp)py=gp_ypos(p_gp)pz=gp_zpos(p_gp)dist=sqrt(px*px+py*py+pz*pz)if dist>0 thenmaxp=max(px,max(py,pz))k=(maxp/rad)*(rad/dist)gp_xpos(p_gp)=k*pxgp_ypos(p_gp)=k*pygp_zpos(p_gp)=k*pzend_ifp_gp=gp_next(p_gp)end_loopendmake_spheregen zone ref ;z=0 planegen zone ref dip 90 ;y=0 planegen zone ref dip 90 dd 90 ;x=0 planeplot surfpl set back whpl bl grdataoflineforflac3d;; by tg0215@simwe 11/22/2006;; Function:Export gridpoint datas(disp,xdisp,ydisp,zdisp) and zone datas(sig1,sig2,sig3,sxx,syy,szz);; along a line defined by two point's coordinates.;; The exporting form is ten chart.The x-axes of the chart is the distance to the first point and;; the y-axes of the chart is gp data or zone data.;; Used for FLAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Line Define by two points in spacedef Line_Definex1=in('Please input the x-coordinate of the first point:')y1=in('Please input the y-coordinate of the first point:')z1=in('please input the z-coordinate of the first point:')x2=in('Please input the x-coordinate of the second point:')y2=in('Please input the y-coordinate of the second point:')z2=in('Please input the z-coordinate of the second point:')numP=in('Please input the number of point on the line:')endLine_Define;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Initializationdef ini_Paraarray xx(numP)array yy(numP)array zz(numP)endini_Para;;;;;;;;;;;;;;; Calculate the coordinate of points on the linedef Line_CalculateLL=sqrt((x2-x1)^2+(y2-y1)^2+(z2-z1)^2)loop n(1,numP)if n=1 thenxx(n)=x1yy(n)=y1zz(n)=z1elseif n=nump thenxx(n)=x2yy(n)=y2zz(n)=z2elseif x2=x1 thenxx(n)=x1elsexx(n)=x1+LL*(n-1)/((numP-1)*sqrt(1+((y2-y1)/(x2-x1))^2+((z2-z1)/(x2-x1))^2)) endifif y2=y1 thenyy(n)=y1elseyy(n)=y1+LL*(n-1)/((numP-1)*sqrt(1+((x2-x1)/(y2-y1))^2+((z2-z1)/(y2-y1))^2)) endifif z2=z1 thenzz(n)=z1elsezz(n)=z1+LL*(n-1)/((numP-1)*sqrt(1+((y2-y1)/(z2-z1))^2+((x2-x1)/(z2-z1))^2)) endifendifendifendloopendLine_Calculate;; Calculate displacement magnitudedef get_gp_dispgp_disp=gp_xdisp(p_gp)*gp_xdisp(p_gp)gp_disp=gp_disp+gp_ydisp(p_gp)*gp_ydisp(p_gp)gp_disp=gp_disp+gp_zdisp(p_gp)*gp_zdisp(p_gp)gp_disp=sqrt(gp_disp)end;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Write gp-related data to table,suck as disp,xdisp,ydisp,zdispdef write_gp_infoloop n(1,numP)p_gp=gp_near(xx(n),yy(n),zz(n))if p_gp # null thencaseof info_flagcase 1 ;dispxtable(1,n)=LL*(n-1)/float(nump-1)get_gp_dispytable(1,n)=gp_disp;aa=(xtable(1,n));bb=(ytable(1,n))case 2xtable(2,n)=LL*(n-1)/float(nump-1)ytable(2,n)=gp_xdisp(p_gp)case 3xtable(3,n)=LL*(n-1)/float(nump-1)ytable(3,n)=gp_ydisp(p_gp)case 4xtable(4,n)=LL*(n-1)/float(nump-1)ytable(4,n)=gp_zdisp(p_gp)endcaseendifcommand;print LL,n;print aa,bb;pauseendcommandendloopend;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Write zone-related data to table,such as sxx,syy,szz,sig1,sig2,sig3 def write_zone_infoloop n(1,numP)p_z=z_near(xx(n),yy(n),zz(n))if p_z # null thencaseof info_flagcase 5xtable(5,n)=LL*(n-1)/float(nump-1)ytable(5,n)=z_sig1(p_z)case 6xtable(6,n)=LL*(n-1)/float(nump-1)ytable(6,n)=z_sig2(p_z)case 7xtable(7,n)=LL*(n-1)/float(nump-1) ytable(7,n)=z_sig3(p_z)case 8xtable(8,n)=LL*(n-1)/float(nump-1) ytable(8,n)=z_sxx(p_z)case 9xtable(9,n)=LL*(n-1)/float(nump-1) ytable(9,n)=z_syy(p_z)case 10xtable(10,n)= LL*(n-1)/float(nump-1) ytable(10,n)=z_szz(p_z)endcaseendifendloopend;;;;;;;;;;;;;;;;;;;;;;;;;;;; Main function:draw curve chartdef draw_curveinfo_flag=1write_gp_infoinfo_flag=2write_gp_infoinfo_flag=3write_gp_infoinfo_flag=4write_gp_infoinfo_flag=5write_zone_infoinfo_flag=6write_zone_infoinfo_flag=7write_zone_infoinfo_flag=8write_zone_infoinfo_flag=9write_zone_infoinfo_flag=10write_zone_infocommandtable 1 name 'disp'table 2 name 'xdisp'table 3 name 'ydisp'table 4 name 'zdisp'table 5 name 'sig1'table 6 name 'sig2'table 7 name 'sig3'table 8 name 'sxx'table 9 name 'syy'table 10 name 'szz'set plot jpgpl create v-disppl set back whitepl set title text'Displacement along the line'pl add table 1 mark line xlabel 'distance along the line' ylabel 'displacement' set out v-disp.jpgpl hardcopy v-disppl create v-xdisppl set back whitepl set title text'X-Displacement along the line'pl add table 2 mark line xlabel 'distance along the line' ylabel 'x-displacement' set out v-xdisp.jpgpl hardcopy v-xdisppl create v-ydisppl set back whitepl set title text'Y-Displacement along the line'pl add table 3 mark line xlabel 'distance along the line' ylabel 'y-displacement' set out v-ydisp.jpgpl hardcopy v-ydisppl create v-zdisppl set back whitepl set title text'Z-Displacement along the line'pl add table 4 mark line xlabel 'distance along the line' ylabel 'z-displacement' set out v-zdisp.jpgpl hardcopy v-zdisppl create v-sig1pl set back whitepl set title text'Sig1 along the line'pl add table 5 mark line xlabel 'distance along the line' ylabel 'Sig1' set out v-sig1.jpgpl hardcopy v-sig1pl create v-sig2pl set back whitepl set title text'Sig2 along the line'pl add table 6 mark line xlabel 'distance along the line' ylabel 'Sig2' set out v-sig2.jpgpl hardcopy v-sig2pl create v-sig3pl set back whitepl set title text'Sig3 along the line'pl add table 7 mark line xlabel 'distance along the line' ylabel 'Sig3' set out v-sig3.jpgpl hardcopy v-sig3pl create v-sxxpl set back whitepl set title text'Sxx along the line'pl add table 8 mark line xlabel 'distance along the line' ylabel 'Sxx' set out v-sxx.jpgpl hardcopy v-sxxpl create v-syypl set back whitepl set title text'Syy along the line'pl add table 9 mark line xlabel 'distance along the line' ylabel 'Syy' set out v-syy.jpgpl hardcopy v-syypl create v-szzpl set back whitepl set title text'Szz along the line'pl add table 10 mark line xlabel 'distance along the line' ylabel 'Szz' set out v-szz.jpgpl hardcopy v-szzendcommandenddraw_curveenunew;set mech ratio 1e-6def _geoparmk=1.130 ;安全系数size1=40size2=10filecal0=string(size1)+'_'+string(size2)+'_cal'+'.sav'fosfile0=string(size1)+'_'+string(size2)+'_fos'+'.sav'bf=45 ; 改变此处坡角af=bf*pi/180 ;h1=20;x00=30.0x01=105.0x02=x00x03=x00+h1/tan(af)x04=x01x05=x03x06=105.0x07=x06;y00=0.0y01=y00y02=1.0y03=y00y04=y02y05=y02y06=y00y07=y02;z00=20.0z01=z00z02=z00z03=40.0z04=z00z05=z03z06=z03z07=z03end_geoparmgen zone brick p0 0 0 0 p1 30 0 0 p2 0 1 0 p3 0 0 20 size 12 1 8gen zone brick p0 30 0 0 p1 105 0 0 p2 30 1 0 p3 30 0 20 size size1 1 8gen zone brick p0 x00 y00 z00 p1 x01 y01 z01 p2 x02 y02 z02 p3 x03 y03 z03 &p4 x04 y04 z04 p5 x05 y05 z05 p6 x06 y06 z06 p7 x07 y07 z07 size size1 1 size2def modelMaterial; 弹性模量(Pa)flag=0E1=100e6; 泊松比poi1=0.35;; 粘结力(Pa)coh1=42e3/k;; 容重(N/m3)weight1=25e3; 膨胀角(度)dila1=0.0;; 内摩擦角(度)fri1=(atan((tan(20.0*pi/180))/k))*180/pibeta1=(sin(20.0*pi/180))/(1-2*poi1);afa1=E1*poi1poi1=0.5*(1-(sin(fri1*pi/180))/beta1)E1=afa1/poi1;抗拉强度ten1=0.01e6grav0=-9.80 ; 重力加速度(N/kg)dens1=-weight1/grav0K1=E1/(3*(1-2*poi1))G1=E1/(2*(1+poi1))endmodelMaterialmodel mohr ;采用莫尔库仑模型pro bulk K1 she G1 dens dens1 coh coh1 &friction fri1 dilation 0.fix x range x -0.1 0.1fix x range x 104.9 105.1fix yfix x y z range z -0.1 0.1set grav 0 0 grav0solvesave 1_130.savfish求出偶数和奇数def numberarray even(21),odd(21);even为偶数数组,odd为奇数数组m1=0m2=0loop n(0,41)a=n/2.0b=int(n/2)if a = b thenm2=m2+1even(m2)=nelsem1=m1+1odd(m1)=nendifendloopendnumberdef wriloop k(1,21)hh=out(even(k))endloopcommandpauseendcommandloop k(1,21)hh=out(odd(k))endloopendwrifish作图FISH作图有个方法仅供参考:因为应力都是与zone有关的,所以,可以编程求出该函数在每个zone中的值,然后用flac 重新运行出原网格,可以将你所关注的这个函数量作为flac中已经有的量(如szz)的初始条件来绘出,随便举了个例子set log onset logfile hua.loggen zone brick size 3 4 4;重新运行出的原网格mo elasprop bul=1e10 shear 6e9fix x range x -0.1 0.1fix x range x -2.9 3.1fix x y z range z -0.1 0.1fix y range y -0.1 0.1fix y range y 3.9 4.1;下面两个fish第一个读出原函数的zone值,第二个作为szz赋给zonedef fuzhiarray var(48)p_z=zone_headloop while p_z # nulln=z_id(p_z)var(n)=-10000*n;这var是已经读取的数组,这里随便给一个规律p_z=z_next(p_z)endloopendfuzhidef jialiloop m(1,48)azz=var(m)commandini szz azz range id m;赋值endcommandendloopendjialiini dens 2500set gra 0 0 -10plot contour szz outline onset log offget_plast(塑性区大小显示程序)def get_plastshearnow = 1tensionnow = 2shearpast = 4tensionpast = 8v_shear_now = 0v_tension_now = 0v_shear_past = 0v_tension_past = 0p_z = zone_headloop while p_z # nullif and(z_state(p_z,0),shearnow) = shearnow thenv_shear_now = v_shear_now + z_volume(p_z)endifif and(z_state(p_z,0),tensionnow) = tensionnow then v_tension_now = v_tension_now + z_volume(p_z)endifif and(z_state(p_z,0),shearpast) = shearpast thenv_shear_past = v_shear_past + z_volume(p_z)endifif and(z_state(p_z,0),tensionpast) = tensionpast then v_tension_past = v_tension_past + z_volume(p_z) endifp_z = z_next(p_z)endloopii = out('shear_now : ' + string(v_shear_now))ii = out('tension_now : ' + string(v_tension_now))ii = out('shear_past : ' + string(v_shear_past))ii = out('tension_past : ' + string(v_tension_past))endget_plastgroup遍列节点[1]gen zone brick size 6 8 8model mohrprop bulk = 1e8 shear = 0.3e8 fric = 35prop coh = 1e10 tens = 1e10set grav 0, 0, -9.81ini dens = 1000fix x range x -0.1 0.1fix x range x 5.9 6.1fix y range y -0.1 0.1fix y range y 7.9 8.1fix x y z range z -0.1 0.1group hua range x 2 4 y 3 5 z 3 5def loadgp_gp = gp_headload=0.0loop while p_gp#nullx=gp_xpos(p_gp)y=gp_ypos(p_gp)z=gp_zpos(p_gp)p_z=z_near(x,y,z)if z_group(p_z) = 'hua' thenload=load+gp_zfunbal(p_gp)endifp_gp = gp_next(p_gp)endlooploadg=loadendhist loadgplot his 1solveinrange遍列节点[1]gen zone brick size 6 8 8model mohrprop bulk = 1e8 shear = 0.3e8 fric = 35 prop coh = 1e10 tens = 1e10set grav 0, 0, -9.81ini dens = 1000fix x range x -0.1 0.1fix x range x 5.9 6.1fix y range y -0.1 0.1fix y range y 7.9 8.1fix x y z range z -0.1 0.1range name hua x 2 4 y 3 5 z 3 5def loadgp_gp = gp_headload=0.0loop while p_gp#nullif inrange('hua',p_gp)=1 thenload=load+gp_zfunbal(p_gp)endifp_gp = gp_next(p_gp)endlooploadg=loadendhist loadgplot his 1solvemov11; avi.dat; Create an AVI movie file (steptest.avi) using the step option. ; Snap a picture every 30 steps while solving.gen zone radcylinder size 25 1 25 25gen zone reflect normal -1 0 0gen zone reflect normal 0 0 -1gen merge 1e-5model mohrprop dens=1000 bu=1e8 sh=7e7 fric 25 coh 3.5e4 tens 1e10fix yfix x range x -24.9 -25.1fix x range x 24.9 25.1fix z range z -24.9 -25.1set grav 10ini szz -1e6 grad 0 0 1e6ini sxx -0.5e6 grad 0 0.5e6 0ini syy -0.5e6 grad 0 0.5e6 0plot create testviewplot current testviewplot add contour syy average outline onset movie avi step 1 file glj1.avimovie startsolve ratio 1e-2movie finishthn;================;导入网格数据以生成水面impgrid ww;为建立水面设置“虚拟界面”而分组为水上部分和水下部分group water_below range group 1 any group 2 anygroup water_above range group water_below notgen separate water_belowinterface 1 wrap water_below water_aboveset grav 0 -9.81 0water den 1000;==================================def CnumNum=0;p_i=i_headp_in=i_node_head(p_i)loop while p_in # nullNum=Num+1;p_in=in_next(p_in)endloopendCnum;++++++++++++++++++++++++++++++==def ini_vararray var(Num,3)i=0p_i=i_headp_in=i_node_head(p_i)loop while p_in # nulli=i+1var(i,1)=in_pos(p_in,1)var(i,2)=in_pos(p_in,2)var(i,3)=in_pos(p_in,3)p_in=in_next(p_in)endloopendini_var;删除单元组water_below和组water_above,为导入实际的材料分组做准备model null range group water_belowmodel null range group water_above;删除虚拟界面单元int 1 dele;===========================;建立实际材料分组部分;导入网格数据,重新分组impgrid wwgroup soil range group 2 any group 4 anygroup rock range group soil notattach face;生成水面def ini_ppminx=var(1,1)minz=var(1,3)maxx=var(1,1)maxz=var(1,3)loop t (2,Num)if var(t,1)<minxminx=var(t,1)endifif var(t,3)<minyminz=var(t,3)endifif var(t,1)>maxxmaxx=var(t,1)endifif var(t,3)>maxzmaxz=var(t,3)endifendlooppnt = gp_headloop while pnt # nullgpnum=gp_id(pnt)x=gp_xpos(pnt)y=gp_ypos(pnt)z=gp_zpos(pnt)dist_gp=x^2+z^2dist1=var(1,1)^2+var(1,3)^2if x<=maxx thenif x>=minx thenif z>=minz thenif z<maxz thenmak=0loop n (1,Num)disn=var(n,1)^2+var(n,3)^2if y<var(n,2) thenif disp_gp-disn<dist1 then mak=nendifendifendloopif mak>0 thenif y<var(mak,2) thengp_pp(pnt)=(var(mak,2)-y)*1.e4endifendifendifendifendifendifpnt = gp_next(pnt)end_loopendini_pp;建立真实的“界面”;gen separate rock;interface 2 sma 1.0 wrap rock soil;施加直边约束fix x y z rang y -0.1 0.1fix x z range x 0 600 z 0fix x z range x 0 z 0 700fix x z range x 0 370 z 700fix x z range x 600 z 0 220;施加斜边约束fix x z range plane normal 48 0 23 origin 600 0 220 fix x z range id 685fix x z range id 671fix x z range id 670fix x z range id 669fix x z range id 24fix x z range id 668fix x z range id 679fix x z range id 680fix x z range id 684fix x z range id 682fix x z range id 667fix x z range id 25fix x z range id 666fix x z range id 676fix x z range id 674fix x z range id 659fix x z range id 657fix x z range id 688fix x z range id 237 fix x z range id 235 fix x z range id 233 fix x z range id 3218 fix x z range id 3216 fix x z range id 3214 fix x z range id 3212 fix x z range id 3195 fix x z range id 3194 fix x z range id 3198 fix x z range id 3197 fix x z range id 3200 fix x z range id 3201 fix x z range id 3203 fix x z range id 3204 fix x z range id 3206 fix x z range id 3207 fix x z range id 3208 fix x z range id 2822 fix x z range id 2840 fix x z range id 2812 fix x z range id 2814 fix x z range id 2841 fix x z range id 80 fix x z range id 81 fix x z range id 82 fix x z range id 83 fix x z range id 84 fix x z range id 175 fix x z range id 178 fix x z range id 179 fix x z range id 2808 fix x z range id 2809 fix x z range id 2807 fix x z range id 2806 fix x z range id 2842 fix x z range id 2803 fix x z range id 2804 fix x z range id 2835 fix x z range id 2834 fix x z range id 2833 fix x z range id 2832 fix x z range id 2831fix x z range id 2827fix x z range id 2826fix x z range id 2844fix x z range id 2824fix x z range id 2823fix x z range id 2845fix x z range id 2846plot set cent 300 125.6 350 dist 2061 rotation 130 290 0 ang 22.5 mag 1.25 plo shosave th.savtxnewgen zone brick size 3 3 3 &p0 (0,0,0) p1 (3,0,0) p2 (0,3,0) p3 (0,0,1.5) &p4 (3,3,0) p5 (0,3,1.5) p6 (3,0,4.5) p7 (3,3,4.5)group Base; Create Top - 1 unit high for initial spacinggen zone brick size 3 3 3 &p0 (0,0,2.5) p1 (3,0,5.5) p2 (0,3,2.5) p3 (0,0,7) &p4 (3,3,5.5) p5 (0,3,7) p6 (3,0,7) p7 (3,3,7)group Top range group Base not;; Create interface elements on the top surface of the baseinterface 1 face range plane norm (-1,0,1) origin (1.5,1.5,3) dist 0.1ini z add -1.0 range group Topwater dens 1000set grav 0 0 -10def water_tablep_i=i_headp_ie=i_elem_head(p_i) ;界面1单元指针赋予p_ieloop while p_ie # null;返回界面单元的三个顶点的地址p_gp1=ie_vert(p_ie,1)p_gp2=ie_vert(p_ie,2)p_gp3=ie_vert(p_ie,3);以这三个界面单元顶点为水面的三个顶点,生成水面;========interface的节点和网格节点的地址是分别存放的x1=in_pos(p_gp1,1)y1=in_pos(p_gp1,2)z1=in_pos(p_gp1,3)x2=in_pos(p_gp2,1)y2=in_pos(p_gp2,2)z2=in_pos(p_gp2,3)x3=in_pos(p_gp3,1)y3=in_pos(p_gp3,2)z3=in_pos(p_gp3,3)commandwater table face x1,y1,z1 x2,y2,z2 x3,y3,z3 endcommandp_ie=ie_next(p_ie)endloopendmodel null range group Basemodel null range group Topgen zone brick size 3 3 3 &p0 (0,0,0) p1 (3,0,0) p2 (0,3,0) p3 (0,0,1.5) &p4 (3,3,0) p5 (0,3,1.5) p6 (3,0,4.5) p7 (3,3,4.5) group 1; Create Top - 1 unit high for initial spacinggen zone brick size 3 3 3 &p0 (0,0,2.5) p1 (3,0,5.5) p2 (0,3,2.5) p3 (0,0,7) &p4 (3,3,5.5) p5 (0,3,7) p6 (3,0,7) p7 (3,3,7)group 2 range group 1 not group Base not group Top not ini z add -1.0 range group 2water_tableint 1 delplo water安全度安全度问题1.计算之前 config zextra 12.根据计算结果,计算zone的点安全度f,赋给 zextra 1z_extra(p_z,1) = f3.绘图 pl con zextra 1p_z = zone_headloop while p_z # null计算安全度fz_extra(p_z,1) = fp_z = z_next(p_z)endloop测一下你的计算机的速度newdef raterate = (t1 - t0) / 6250.0enddef timet0 = clock / 100.0enddef time1t1 = clock / 100.0endgen zone brick size 5,5,5model elasprop bulk 1e8 shear 1e7fix y range y -0.1 0.1apply syy -1.0e6 range y 4.9,5.1time0step 50000time1print ratereturn查看各个时段不平衡力的具体数值查看各个时段不平衡力的具体数值采用his来记录你的计算,包括位移应力等命令his unbalhis gp(zone) zdis range (0 0 0) 或者id=?导出数据命令his write n vs m begin 时步 end 时步 file filename.his n表示你纪录的id m表示时步要导出不平衡力的具体数值his unbalstep 100000 or solvehis write 1 vs step begin 1 end 1000 file 123.his使用上述命令就可以查看各个时步下的不平衡力的具体数值得到主应力def getsigp_z=find_zone(3113)|s1=z_sig1(p_z)Ss2=z_sig2(p_z)s3=z_sig3(p_z)endgetsig地面曲面方程newgen zone brick p0 0,167.0072,0 p1 0,0,0 p2 242.6586,167.0072,0 p3 0,167.0072,32.0 size 56,81,11;;定义地面曲面方程DEF eqn537ARRAY c(45),cx(12),cy(12),v(70)c(1)=30.33465961749452c(2)=0.3768529280014758c(3)=-1.411874011262434c(4)=-0.4466983009380354c(5)=0.02498771591159658c(6)=-0.6225933592839830c(7)=-0.5572409253529970c(8)=0.2594590432443336c(9)=-0.2154254299775080c(10)=0.05611608056180144c(11)=-0.3573754488804990c(12)=0.02174566734976303c(13)=0.4051641051840550c(14)=0.1744265369646383c(15)=0.1147014441688443c(16)=-0.2088509864184064c(17)=0.1493365036211442c(18)=0.4311419368791974c(19)=0.008961362272148653c(20)=-0.07774920998867369c(21)=0.1811142002504400c(22)=-0.1519527001982752c(23)=0.07915472779033880c(24)=0.2559732910968667c(25)=0.1026065146630541c(26)=-0.2819625969135452c(27)=-0.09027129904676756c(28)=0.1130183438471391c(29)=-0.02169639756233838c(30)=0.1907291399047935c(31)=0.1297366637584324c(32)=0.08806739336824376c(33)=-0.2260336878126227c(34)=-0.2115733057775976c(35)=0.1148217058529207c(36)=-0.06508949301229160c(37)=-0.04511427839772801c(38)=0.1632228872577737c(39)=0.1931691979495782c(40)=0.08562312402296863c(41)=0.01872590692817278c(42)=-0.04198182565657024c(43)=0.04502760175694480c(44)=0.1160322072269608c(45)=-0.07952377661820480order%=44x=(x-(0.000000000000000))/(77.24063134751799) y=(y-(0.000000000000000))/(53.16004282387357) IF x<0.0 THENx=0.0END_IFIF x>3.14159265358979323846 THENx=3.14159265358979323846END_IFIF y<0.0 THENy=0.0END_IFIF y>3.14159265358979323846 THENy=3.14159265358979323846END_IFnc%=8cx(1)=1.0cy(1)=1.0LOOP j% (1,nc%)cx(j%+1)=COS(j%*x)cy(j%+1)=COS(j%*y)END_LOOPiv%=1LOOP j% (1,nc%+1)m%%=j%+1LOOP m% (1,j%)m%%=m%%-1v(iv%)=cx(m%%)*cy(j%-m%%+1)iv%=iv%+1END_LOOPEND_LOOPz=0.0LOOP j% (1,order%+1)z = z + c(j%)*v(j%)END_LOOPEND;;地面曲面方程定义完毕;;找出节点坐标后只要给出X,Y,然后调用eqn537就可以得到X,Y对应的Z;;定义第1层底面曲面方程DEF eqn566ARRAY c1(36),cx1(12),cy1(12),v1(70)c1(1)=28.62060766890477c1(2)=0.2866834946597056c1(3)=-0.8353575191107516c1(4)=-0.04915431878961194c1(5)=0.4039755560498526c1(6)=-0.3362136646742352c1(7)=-0.2665446036102640c1(8)=0.01228084747342192c1(9)=-0.2228703607987686c1(10)=-0.1056397207500379c1(11)=-0.01267143831082441c1(12)=-0.1996293677009942c1(13)=-0.06064874974162015c1(14)=-0.2080253561904090c1(15)=0.03108780356779321c1(16)=0.05965985858539676c1(17)=0.04285379002151423c1(18)=0.3260634131778066c1(19)=0.03617992023477324c1(20)=0.02800173263537663c1(21)=0.05300528967296362c1(22)=-0.07147038182113627c1(23)=0.09423171997760518c1(24)=-0.008003820958046695c1(25)=0.03654771159807278c1(26)=0.04195809554079616c1(27)=0.01776731215338432c1(28)=0.07995229437423655c1(29)=0.01184899721780239c1(30)=0.1914904626951018c1(31)=-0.03834379592630702c1(32)=-0.04935320463957614c1(33)=-0.04246583589991888c1(34)=-0.07508761240626857c1(35)=0.08511394861034457c1(36)=0.03158468483322942order%=35x=(x-(0.000000000000000))/(77.24063134751799)y=(y-(0.000000000000000))/(53.16004282387357)IF x<0.0 THENx=0.0END_IFIF x>3.14159265358979323846 THENx=3.14159265358979323846END_IFIF y<0.0 THENy=0.0END_IFIF y>3.14159265358979323846 THENy=3.14159265358979323846END_IFnc%=7cx1(1)=1.0cy1(1)=1.0LOOP j% (1,nc%)cx1(j%+1)=COS(j%*x)cy1(j%+1)=COS(j%*y)END_LOOPiv%=1LOOP j% (1,nc%+1)m%%=j%+1LOOP m% (1,j%)m%%=m%%-1v1(iv%)=cx1(m%%)*cy1(j%-m%%+1)iv%=iv%+1END_LOOPEND_LOOPz=0.0LOOP j% (1,order%+1)z = z + c1(j%)*v1(j%)END_LOOPEND;;地面曲面方程定义完毕;;找出节点坐标后只要给出X,Y,然后调用eqn536就可以得到X,Y对应的Z;;定义第2层底面曲面方程DEF eqn607ARRAY c2(45),px(12),py(12),v2(70) c2(1)=26.40374776302957c2(2)=-1.292234879166614c2(3)=-0.9987652673592940c2(4)=0.08847151489382983c2(5)=-6.524125629419486c2(6)=0.4002923561445450c2(7)=0.3031713620939287c2(8)=0.9293011989675050c2(9)=1.028374487465087c2(10)=0.7894526930446397c2(11)=-0.2710341955836033c2(12)=-1.833585849910791c2(13)=-0.6799558584481914c2(14)=1.202068992799922c2(15)=-0.6569131952237344c2(16)=1.079058946133437c2(17)=1.286040305186933c2(18)=0.3587835487607498c2(19)=-0.3055218324008147c2(20)=1.320108378629063c2(21)=1.360836777714370c2(22)=-1.086438562691549c2(23)=2.885522086015947c2(24)=-0.6574447894560952c2(25)=1.428461008364791c2(26)=0.8792263637632590c2(27)=0.3263370530986411c2(28)=-0.8544593089642435c2(29)=0.8177299018417186c2(30)=-0.8210160246224562c2(31)=0.2959394968085911c2(32)=-0.1081689772714739c2(33)=-1.546682781919654c2(34)=-0.8887755964444086c2(35)=-0.1826536331301314c2(36)=0.01080252224961026c2(37)=-0.2510335500991192c2(38)=1.172841958315430c2(39)=0.1775850816862299c2(40)=-2.437087642643127c2(42)=0.3321145625443073c2(43)=0.9669041422660922c2(44)=0.3462785144789184c2(45)=0.7677956032753429order%=44x=(x-(121.3293000000000))/(121.3293000000000)y=(y-(83.50360000000001))/(83.50360000000001)pcnt%=9px(1)=1.0py(1)=1.0px(2)=xpy(2)=yLOOP j% (3,pcnt%)ctr=-1.0+(j%-2)*(2.0/((pcnt%)-1.0))px(j%)=-1.0+2.0/(1.0+EXP(-(x-ctr)/0.12))py(j%)=-1.0+2.0/(1.0+EXP(-(y-ctr)/0.12))END_LOOPiv%=1LOOP j% (1,pcnt%)m%%=j%+1LOOP m% (1,j%)m%%=m%%-1v2(iv%)=px(m%%)*py(j%-m%%+1)iv%=iv%+1END_LOOPEND_LOOPz=0.0LOOP j% (1,order%+1)z = z + c2(j%)*v2(j%)END_LOOPEND;;地面曲面方程定义完毕;;找出节点坐标后只要给出X,Y,然后调用eqn607就可以得到X,Y对应的Z;;定义第3层底面曲面方程DEF eqn609ARRAY c3(66),px1(12),py1(12),v3(70)c3(1)=21.82428275547068c3(2)=2.221561754167763c3(3)=-1.581903359451976c3(4)=-2.316827507113655c3(5)=-2.703947398487063c3(6)=-1.246037280331843c3(8)=-2.339997159259053 c3(9)=-4.751446231799969 c3(10)=2.238112737137326 c3(11)=-2.307007727942070 c3(12)=2.704352656458496 c3(13)=6.218021412068429 c3(14)=6.082322362020687 c3(15)=-1.781025552909750 c3(16)=1.595374835381855 c3(17)=5.083409370236106 c3(18)=-12.05561353031727 c3(19)=-8.149539051933758 c3(20)=0.4629435785333617 c3(21)=3.854808615283558 c3(22)=-3.172213655564220 c3(23)=-7.493360842439101 c3(24)=18.03955724690294 c3(25)=15.92195138603906 c3(26)=5.276624705110507 c3(27)=4.834416374228492 c3(28)=-2.941631600267834 c3(29)=3.061011978625018 c3(30)=6.894707465545384 c3(31)=-19.55553399652331 c3(32)=-25.47011892985832 c3(33)=-8.508414420882716 c3(34)=-4.573107121770635 c3(35)=-2.159206741489122 c3(36)=3.630405781581091 c3(37)=-1.716300833677144 c3(38)=-1.710288020840512 c3(39)=13.39520120547237 c3(40)=26.62167851961098 c3(41)=9.133569050067894 c3(42)=2.465816025684572 c3(43)=5.760745683031747 c3(44)=3.387751985565470 c3(45)=-1.998506978790600 c3(46)=-0.1436671749659344 c3(47)=2.673753603392002 c3(48)=-3.414672834039968 c3(49)=-15.30717986499453 c3(50)=-5.830362201304671。
FLAC3D常见命令与使用技巧

FLAC3D常见命令与使用技巧1、FLAC3D常见命令:1.FLAC3D是有限元程序吗?答:不是!是有限差分法。
2.最先需要掌握的命令有哪些?答:需要掌握gen, ini, app, plo, solve等建模、初始条件、边界条件、后处理和求解的命令。
3.怎样看模型的样子?答:plo blo gro可以看到不同的group的颜色分布4.怎样看模型的边界情况?答:plo gpfix red5.怎样看模型的体力分布?答:plo fap red6.怎样看模型的云图?答:位移:plo con dis (xdis, ydis, zdis)应力:plo con sz (sy, sx,sxy, syz, sxz)7.怎样看模型的矢量图?答:plo dis (xdis, ydis, zdis)8.怎样看模型有多少单元、节点?答:pri info9.怎样输出模型的后处理图?答:File/Print type/Jpg file,然后选择File/Print,将保存格式选择为jpe文件10.怎样调用一个文件?答:File/call或者call命令10.如何施加面力?答:app nstress11.如何调整视图的大小、角度?答:综合使用x, y, z, m, Shift键,配合使用Ctrl+R,Ctrl+Z等快捷键12.如何进行边界约束?答:fix x ran(约束的是速度,在初始情况下约束等效于位移约束)13.如何知道每个单元的ID?答:用鼠标双击单元的表面,可以知道单元的ID和坐标14.如何进行切片?答:plo set plane ori (点坐标) norm (法向矢量) plo con sz plane (显示z方向应力的切片)15.如何保存计算结果?答:save +文件名.16.如何调用已保存的结果?答:rest +文件名;或者File / Restore17.如何暂停计算?答:Esc18.如何在程序中进行暂停,并可恢复计算?答:在命令中加入pause命令,用continue进行继续19.如何跳过某个计算步?答:在计算中按空格键跳过本次计算,自动进入下一步20. Fish是什么东西?答:是FLAC3D的内置语言,可以用来进行参数化模型、完成命令本身不能进行的功能21. Fish是否一定要学?答:可以不用,需要的时候查Mannual获得需要的变量就可以了22.FLAC3D允许的命令文件格式有哪些?答:无所谓,只要是文本文件,什么后缀都可以23.如何调用一些可选模块?答:config dyn (fluid, creep, cppudm)24 .如何在圆柱体四周如何施加约束条件?答:可以用fix ... ran cylinder end1 end2 radius r1 cylinder end1 end2radius r2 not,其中r225.如何能把一个PLOT的图像数据导出来以便用其他软件绘图?答:用set log on命令,把数据导出来,转到excel里处理一下,然后用surfer或者什么作图软件绘制就行了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三维连续介质快速拉格朗日分析命令与FISH参考总结
概述:
本卷包含所有FLAC3D命令和FISH语句的快速参考手册。
第一章中给出了在命令行模式下的所有命令的总结。
(注意:在第一章中所有命令的详细描述在“命令参考”中)
地第二章中给出了FISH语句的总结。
(注意:第二章中所有FISH语句的详细描述在FISH 卷中)
1 命令总结
1.1 命令1.1.1 指定程序控制
1.1.2 选取用户图形界面
1.1.3 指定特殊计算模式
1.1.4 指定附加存储
1.1.6 创建工程
1.1.7 指定本构模型与参数
1.1.8 指定初始条件
1.1.9 指定边界条件
1.1.10 指定结构支座
1.1.12 指定交界面与铰接点
1.1.13 求解过程中监督模型状态
1.1.14 求解问题
1.1.15 生成模型输出
2 FISH语句总结
2.1 FISH语句
2.1.1 标准语句
2.1.2 控制语句
2.1.3 命令执行
2.1.4 FISH交互式命令
2.1.5 —特殊标量变量
2.1.6 一般标量变量
2.1.7 —特殊网格变量
.
2.1.8 结构单元变量
2.1.9 内部函数
2.1.10 取表特殊函数
2.1.11 读取存储特殊函数
2.1.12 FISH画图子程序
2.1.13 FISH I/O子程序。