FLAC3D查找disp最值及其所在id的坐標的方法(fish语言).docVIP

  • 8
  • 0
  • 约 4页
  • 2016-11-26 发布于重庆
  • 举报

FLAC3D查找disp最值及其所在id的坐標的方法(fish语言).doc

FLAC3D查找disp最值及其所在id的坐標的方法(fish语言)

?首先要感谢下重庆岩土所的阿比尔提供的代码: 一、 以zdisp为例举例子说明,查找整个模型的最小zdisp值的方法,xdisp、ydisp求法相同直接替换zdisp即可: def find_min_zdisp ? ? ? ? ? ?;查找节点最小zdisp值及节点号 ? ? p_gp=gp_head ? ? min_zdisp=0.0 ? ? ? ? ? ? ;初始值 ?loop while p_gp#null ? ? ? ? new_zdisp=gp_zdisp(p_gp) ? ? ? if new_zdispmin_zdisp then ? ? ? ? ?min_zdisp=new_zdisp ? ? ? ? ?pid=gp_id(p_gp) ? ? ? ? ? ? ? ;节点单元号 ? ? ? ? ?px=gp_xpos(p_gp);该节点的x坐标 ? ? ? ? ?py=gp_ypos(p_gp);该节点的y坐标 ? ? ? ? ?pz=gp_zpos(p_gp);该节点的z坐标 ? ? ? endif ? ? p_gp=gp_next(p_gp) ?endloop end ;=================================================================================== find_min_zdisp print min_zdisp print pid print px print py print pz 将以上代码复制到txt文本,Call进FLAC3D即可得到结果如下: ?可以看到最小的zdisp值为-1.740米 并且该最小zdisp值所在的节点id号为6762,该节点坐标为(899.973,1320.530,-578.003)米 二、类似的可以得到求解最大zdisp的方法 def find_max_zdisp ? ? ? ? ? ?;查找节点最大zdisp值及节点号 ? ? p_gp=gp_head ? ? max_zdisp=0.0 ? ? ? ? ? ? ;初始值 ?loop while p_gp#null ? ? ? ? new_zdisp=gp_zdisp(p_gp) ? ? ? if new_zdispmax_zdisp then ? ? ? ? ?max_zdisp=new_zdisp ? ? ? ? ?pid=gp_id(p_gp) ? ? ? ? ? ? ? ;节点单元号 ? ? ? ? ?px=gp_xpos(p_gp) ? ? ? ? ?py=gp_ypos(p_gp) ? ? ? ? ?pz=gp_zpos(p_gp) ? ? ? endif ? ? p_gp=gp_next(p_gp) ?endloop end ;=================================================================================== find_max_zdisp print max_zdisp print pid print px print py print pz 三、如果要查找z值在26-27.5范围内的模型节点的disp最值的话,代码如下,以最小zdisp值的方法,xdisp、ydisp求法相同直接替换zdisp即可: def find_max_zdisp ? ? ? ? ? ?;查找节点最大zdisp值及节点号 ? ? p_gp=gp_head ? ? min_zdisp=0.0 ? ? ? ? ? ? ;初始值 ?loop while p_gp#null? ? ? ? ? ?pz=gp_zpos(p_gp)? ? ? ? if pz26 ? ? ? if pz27.5 ? ? ? new_zdisp=gp_zdisp(p_gp) ? ? ? if new_zdispmin_zdisp then ? ? ? ? ?min_zdisp=new_zdisp ? ? ? ? ?pid=gp_id(p_gp) ? ? ? ? ? ? ? ;节点单元号 ? ? ? ? ?px=gp_xpos(p_gp) ? ? ? ? ?py=gp_ypos(p_gp) ? ? ? ? ?pz=gp_zpos(p_gp) ? ? ? endif ? ? ? endif ? ? ? endif ? ? p_gp=gp_next(p_gp) ?endloop end ;=================================================================================== find_min_zdisp print min_zdisp

文档评论(0)

1亿VIP精品文档

相关文档