(原创)开采沉陷垂直剖面等值线的生成
在应用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 编辑 ] 很有创意的搞法,条条大路通罗马;P 经典,支持。可是好像这个也可以用dynamx的程序啊 又学一招,谢谢高人指点江山,:victory: 然后就可用FISH编写读取p_smax变量的函数了。
下图为该例子的剖面云图和等值线。
请问如何编写,给个思路啊
回复 5# 的帖子
搜搜论坛,有很多这样的帖子 学习了,很能解决问题,只是不够完整 谢谢楼主的创意 楼主好人,学习啦,不过俺想问的是采空区是怎么模拟的! 是啊,楼主有好的采空区模拟方法没有? 很有创意的搞法,条条大路通罗马 我也在学习开采沉陷方面的 学习中支持一下!
页:
[1]