FLAC3D 高手总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

;模型镜像

gen zone radcylinder size 25 1 25 25

gen zone reflect normal -1 0 0 origin x y z(面上一点);沿X轴镜像,通过对称平面法线向量确定对称面

gen zone reflect normal 0 0 -1 ;沿z轴镜像

;绘图控制

pl contour szz outline on

;在模型中显示位移-应变曲线

hist gp ydisp 0,0,0

hist zone syy 0,1,0

hist zone syy 1,1,0

pl his -2 -3 vs 1 ;在plot hist m vs n的形式里,m代表y轴,n代表x轴(不管m,n的正负); "-"表示对其值作"mirror"

;对模型进行压缩实验的方法

;即在模型两侧施加相反方向的速度

ini yvel 1e-7 range y -.1 .1

ini yvel -1e-7 range y 1.9 2.1

;修改模型的坐标值

ini x add -100 y add -100 z add -100

;显示云图的同时也显示模型网格轮廓

plot add cont disp outline on ;gradient更精确

;输入角度、弧度方法 pi=π,90°为90.0*degrad

def set_vals

ptA = 25.0 * sin(pi/2);ptA=25.0

ptB = 25.0 * cos( 60.0*degrad );ptB=12.5

ptC=pi;ptC=3.1415926

end

set_vals

print ptA ptB ptC

;施加结构单元方法

sel shell id=5 range cylinder end1=(0.0, 0.0,0.0) &

end2=(0.0,25.0,0.0) radius=24.5 not

plot add sel geom black black cid on scale=0.03

sel node init zpos add -25.0

;如何显示某一平面

plot create name_plane

plot set plane origin 3 4 0 normal 1 0 0

plot add cont disp plane behind shade on

plot add sel geom black

plot add axes red

plot current name_plane

plot show

;如何施加法向应力并显示所施加的力

apply nstress -3.0E7 range cylinder end1 0 -1 0 end2010 radius 39.9 not;柱体外表面施加法向力

apply nstress -5.0E6 range cylinder end1 0 -1 0 end2010 radius 2.1;柱体内表面施加法向力

plot grid green fap black;显示施加的力

;获取某网格点的ID,坐标值

def aa

get_id=gp_id(gp_near(3,0,0))

end

aa

print get_id

print gp position range id 3

;保存命令流文件

set log on

set logfile hua.log;文件存放的路径与调用的文本路径相同

......

set log off

;fish函数的说明与解释

def find_add ;定义fish函数find_add

head = null ;给head赋值

p_gp = gp_head ;第一个网格结点的指针赋给p_gp

loop_while p_gp # null ;当p_gp值不为null时作循环

x_pos = gp_xpos(p_gp) ;将指针为p_gp的结点的x坐标值赋给x_pos

if x_pos = 10.0 then ;如果x_pos = 10.0 则(执行)

new = get_mem(2) ;从主内存空间里得到2个fish变量对象并返回第一个对象的开始地址

mem(new) = head ;将head类型和数值置于地址为new的fish变量

mem(new+1)=p_gp ;第二个变量存储符合条件的zone地址

head = new ;将new值赋给head

endif

p_gp = gp_next(p_gp) ;将结点指针为p_gp的下一个结点的指针赋给p_gp endloop;结束循环

end ;结束fish函数

;实际上这个fish函数为满足条件(x坐标为10的)的zone的地址开辟一定的地址空间,各地址之间存在一定的联系

;找到第一个符合条件的zone地址后,用new = get_mem(2) 从主内存空间里得到2个fish变量对象并返回第一个对象的开始地址,并用;下面的mem(new) = head ,将第一次开辟的两个变量的第一个变量存储地址head(注意第一次head =null),第二个变量存储第一;个符合条件的zone地址,并将第一个变量的地址赋予head(head=new),第一次循环结束;下次循环,同样开辟两个变量对

相关文档
最新文档