您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > FLAC3D查找disp最值及其所在id的坐标的方法(fish语言)
首先要感谢下重庆岩土所的阿比尔提供的代码:一、以zdisp为例举例子说明,查找整个模型的最小zdisp值的方法,xdisp、ydisp求法相同直接替换zdisp即可:deffind_min_zdisp;查找节点最小zdisp值及节点号p_gp=gp_headmin_zdisp=0.0;初始值loopwhilep_gp#nullnew_zdisp=gp_zdisp(p_gp)ifnew_zdispmin_zdispthenmin_zdisp=new_zdisppid=gp_id(p_gp);节点单元号px=gp_xpos(p_gp);该节点的x坐标py=gp_ypos(p_gp);该节点的y坐标pz=gp_zpos(p_gp);该节点的z坐标endifp_gp=gp_next(p_gp)endloopend;===================================================================================find_min_zdispprintmin_zdispprintpidprintpxprintpyprintpz将以上代码复制到txt文本,Call进FLAC3D即可得到结果如下:可以看到最小的zdisp值为-1.740米并且该最小zdisp值所在的节点id号为6762,该节点坐标为(899.973,1320.530,-578.003)米二、类似的可以得到求解最大zdisp的方法deffind_max_zdisp;查找节点最大zdisp值及节点号p_gp=gp_headmax_zdisp=0.0;初始值loopwhilep_gp#nullnew_zdisp=gp_zdisp(p_gp)ifnew_zdispmax_zdispthenmax_zdisp=new_zdisppid=gp_id(p_gp);节点单元号px=gp_xpos(p_gp)py=gp_ypos(p_gp)pz=gp_zpos(p_gp)endifp_gp=gp_next(p_gp)endloopend;===================================================================================find_max_zdispprintmax_zdispprintpidprintpxprintpyprintpz三、如果要查找z值在26-27.5范围内的模型节点的disp最值的话,代码如下,以最小zdisp值的方法,xdisp、ydisp求法相同直接替换zdisp即可:deffind_max_zdisp;查找节点最大zdisp值及节点号p_gp=gp_headmin_zdisp=0.0;初始值loopwhilep_gp#nullpz=gp_zpos(p_gp)ifpz26ifpz27.5new_zdisp=gp_zdisp(p_gp)ifnew_zdispmin_zdispthenmin_zdisp=new_zdisppid=gp_id(p_gp);节点单元号px=gp_xpos(p_gp)py=gp_ypos(p_gp)pz=gp_zpos(p_gp)endifendifendifp_gp=gp_next(p_gp)endloopend;===================================================================================find_min_zdispprintmin_zdispprintpidprintpxprintpyprintpz四、同样的可以得到,求z值在26-27.5范围内的模型节点的disp最大值id及坐标值deffind_max_zdisp;查找节点最大zdisp值及节点号p_gp=gp_headmax_zdisp=0.0;初始值loopwhilep_gp#nullpz=gp_zpos(p_gp)ifpz26ifpz27.5new_zdisp=gp_zdisp(p_gp)ifnew_zdispmax_zdispthenmax_zdisp=new_zdisppid=gp_id(p_gp);节点单元号px=gp_xpos(p_gp)py=gp_ypos(p_gp)pz=gp_zpos(p_gp)endifendifendifp_gp=gp_next(p_gp)endloopend;===================================================================================find_max_zdispprintmax_zdispprintpidprintpxprintpyprintpz将以上代码复制到txt文本,Call进FLAC3D即可得到结果如下:可以看到最小的zdisp值为-0.573米并且该最小zdisp值所在的节点id号为228984,该节点坐标为(900.009,1350.001,27.106)米。
本文标题:FLAC3D查找disp最值及其所在id的坐标的方法(fish语言)
链接地址:https://www.777doc.com/doc-6849807 .html