wolf2005 发表于 2007-12-14 10:21:36

(原创)开采沉陷垂直剖面等值线的生成

在应用FLAC3D对煤矿开采沉陷的研究中,经常需要得到某一垂直剖面上的位移、应力的等值线分布。等值线可以由其他软件如tecplot或surfer软件作出,论坛里也有很多相关帖子,这里不再赘述。问题的关键在于要把垂直剖面上的单元或节点数据导出到数据文件中以便由绘图软件画出等值线。由于煤系地层均为层状,建模时一般采用逐层建模,各层单元的ID号就是连续的,如果要得到某一层或地表的位移等值线则可很方便地采用FISH遍历该层各单元,读出各单元数据就行了;但某一垂直剖面上的各单元的ID号并不是连续的,这时可以通过FISH中的内存变量mem()将该剖面上的所有单元连接起来形成一个链表,然后对该链表操作读出剖面上各单元的数据。以下分别是找出剖面上各单元的findsection函数和读出单元数据的readdata函数。
def findsection
    head1 = null                     
    p_z = zone_head         
    loop while p_z # null   
      if z_ycen(p_z)=310 ;该垂直剖面为y=310
      new1 = get_mem(2)         
      mem(new1) = head1      
      mem(new1+1) = p_z   
      head1 = new1               
      endif
      p_z =z_next(p_z)         
    endloop
end
findsection

def readdata
ad=head1
loop while ad#null
p_z=mem(ad+1)
p_smax=z_sig3(p_z) ;将剖面上所有单元的最大主应力放到p_smax中
ad=mem(ad)
endloop
end

然后就可用FISH编写读取p_smax变量的函数了。
下图为该例子的剖面云图和等值线。

[ 本帖最后由 wolf2005 于 2007-12-14 10:44 编辑 ]

benjackxu 发表于 2007-12-17 11:16:03

很有创意的搞法,条条大路通罗马;P

wangyi2002598 发表于 2007-12-18 10:13:11

经典,支持。可是好像这个也可以用dynamx的程序啊

gaofengflac 发表于 2007-12-18 10:30:26

又学一招,谢谢高人指点江山,:victory:

wangyi2002598 发表于 2008-1-11 11:10:29

然后就可用FISH编写读取p_smax变量的函数了。
下图为该例子的剖面云图和等值线。


请问如何编写,给个思路啊

wolf2005 发表于 2008-1-11 14:25:54

回复 5# 的帖子

搜搜论坛,有很多这样的帖子

yimeng_777 发表于 2009-3-27 16:10:16

学习了,很能解决问题,只是不够完整

weekly007 发表于 2009-4-19 14:29:23

谢谢楼主的创意

shuaizai 发表于 2009-10-17 17:50:50

楼主好人,学习啦,不过俺想问的是采空区是怎么模拟的!

yisihai 发表于 2009-10-20 10:07:33

是啊,楼主有好的采空区模拟方法没有?

li_2001 发表于 2009-10-20 15:14:40

很有创意的搞法,条条大路通罗马

yuanyuekafu 发表于 2012-3-26 18:17:27

我也在学习开采沉陷方面的

wlb321xy 发表于 2012-6-8 11:30:55

学习中支持一下!
页: [1]
查看完整版本: (原创)开采沉陷垂直剖面等值线的生成