找回密码
 注册
Simdroid-非首页
查看: 650|回复: 19

[命令/FISH] FLAC3D 5.0 TECPLOT

[复制链接]
发表于 2014-11-11 18:02:46 | 显示全部楼层 |阅读模式 来自 江苏徐州
用flac3d 5.0计算完毕后,采用论坛最新的flactotelplot程序绘制等值线图,却发现null单元不能隐藏,请问有哪位碰到过?怎么解决的,谢谢。
发表于 2014-11-18 17:53:56 | 显示全部楼层 来自 北京
Simdroid开发平台
FLAC3D 5.0 怎么样?
回复 不支持

使用道具 举报

 楼主| 发表于 2014-11-20 16:42:59 | 显示全部楼层 来自 江苏徐州
运算速度确实提高不少,就是fish有些许改变,用起来有点生疏。
回复 不支持

使用道具 举报

发表于 2014-11-21 09:48:32 | 显示全部楼层 来自 广东
cl2007cumt 发表于 2014-11-20 16:42
运算速度确实提高不少,就是fish有些许改变,用起来有点生疏。

求flac3d 5.0 719924001@qq.com
回复 不支持

使用道具 举报

发表于 2014-11-21 15:55:27 | 显示全部楼层 来自 辽宁大连
同问、、、、、
回复 不支持

使用道具 举报

发表于 2014-12-11 12:32:48 | 显示全部楼层 来自 陕西延安
同求,850926859@qq.com.
l
回复 不支持

使用道具 举报

发表于 2014-12-17 15:17:17 | 显示全部楼层 来自 辽宁
cl2007cumt 发表于 2014-11-20 16:42
运算速度确实提高不少,就是fish有些许改变,用起来有点生疏。

yes999zc@163.com 求安装包
回复 不支持

使用道具 举报

发表于 2014-12-19 08:41:48 | 显示全部楼层 来自 湖北武汉
用delete命令就可以了吧
回复 不支持

使用道具 举报

发表于 2015-4-28 22:48:36 | 显示全部楼层 来自 贵州六盘水
把大虾给的文件中"NULL"改成“null”,函数名调用前加@。
回复 不支持

使用道具 举报

发表于 2015-4-29 10:26:09 | 显示全部楼层 来自 湖北宜昌
最新的flactotelplot程序,能发个链接吗
回复 不支持

使用道具 举报

发表于 2015-5-1 10:34:24 | 显示全部楼层 来自 台湾
求flac3d5.0轉tecplot的檔~謝謝。
e_987654@yahoo.com.tw
回复 不支持

使用道具 举报

发表于 2015-5-15 10:44:36 | 显示全部楼层 来自 湖南株洲
向楼主求FLAC3D5.0(32位版)的软件,谢谢楼主!!!2324361709@QQ.COM
回复 不支持

使用道具 举报

发表于 2015-5-25 08:38:54 | 显示全部楼层 来自 云南昆明

求?没破解版的,有的都是缺东西,花钱购买
回复 不支持

使用道具 举报

发表于 2016-2-25 21:10:42 | 显示全部楼层 来自 大连理工大学
jxhforever 发表于 2015-4-28 22:48
把大虾给的文件中"NULL"改成“null”,函数名调用前加@。

前辈,你好。我把函数调用什么的改了,但是为什么会出错:"Bad conversion from null pointer to class f3:Izone*_ptr64。   您能帮忙解答一下吗?
回复 不支持

使用道具 举报

发表于 2016-4-22 20:54:00 | 显示全部楼层 来自 上海
我也记不到了,你要的话,下面回复个邮箱,我把转化文件发给你。
回复 不支持

使用道具 举报

发表于 2016-4-23 08:45:15 | 显示全部楼层 来自 北京
本帖最后由 龙biscuit 于 2016-4-23 08:49 编辑

http://bbs.yantuchina.com/read.php?tid=290809,适用于flac3d5.0提取数据到tecplot,亲试可用,感谢kays大神吧!(ps:高版本的tecplot比如2015版切片功能与2010版不一样了,这个电脑上没有安装,记不清了,反正就是在前面菜单处先切片,然后再在data-里面显示切片。当然,这是题外话,导出的这个东西高低版本的tecplot都是适用的)
  1. ;;=================================================================
  2. ;;Oct/10/2011 All the data of this file are lined in Block type
  3. ;;FLAC3D Mesh to Tecplot
  4. ;;Tecplot Version --  Version 2011
  5. ;;Revised by Eric, ZhengZhou
  6. ;;Tecplot Version --  Version 2016 for FLAC3D 5.0
  7. ;;=================================================================
  8. ;rest XXX.f3sav
  9. ;==================================================================
  10. ;;Initialization Global Parametres
  11. set fish autocreate on
  12. ;set fish sa off
  13. set echo off
  14. set log off
  15. def ini_Flac2tec
  16.     global IO_READ  = 0;
  17.     global IO_WRITE = 1;To overwrite the exist file
  18.     global IO_ASCII = 1;To write the file in ASCII format
  19.     global N_RECORD = 10;MODIFY to set the figure count of each line
  20.     global i=0;To control the loop
  21.     global j=0;To mark the new indices of Nodes
  22.     array my_Point(8)
  23.     array buf(1)
  24.     global ScaleFactor = 0;MODIFY to scale the transform
  25.     global tec_file = 'FLAC3DMesh_deformation.dat';To define the write file name
  26.     command;create an output range with the name writeRange
  27.         ;MODIFY the group to define the range to deal with,Default the whole file,DON'T USE group XX not
  28.         ran name writeRange ;group v_fgc any group v_jy any group v_rtjc any
  29.     endcommand
  30. end;End of ini_Flac2tec
  31. @ini_Flac2tec
  32. ;;
  33. ;;Write Tecplot File Head
  34. def write_FileHead
  35.     local p_gp=gp_head
  36.     i=0
  37.     loop while p_gp # null
  38.         if in_range('writeRange',p_gp) = 1  then
  39.             i=i+1
  40.         endif
  41.         p_gp = gp_next(p_gp);next grid point
  42.     endloop
  43.     local p_z=zone_head
  44.     j=0
  45.     loop while p_z # null
  46.         if in_range('writeRange',p_z) = 1  then
  47.         if z_model(p_z) # 'null' then
  48.             j=j+1
  49.         endif
  50.         endif
  51.         p_z = z_next(p_z);next zone
  52.     endloop
  53.     buf(1) =          'TITLE     = "FLAC3D Mesh to Tecplot by Eric!" \n'
  54.     buf(1) = buf(1) + 'VARIABLES = "X" "Y" "Z" "DISP" "XDISP" "YDISP" "ZDISP" "SXX" "SYY" "SZZ" "Sig1" "Sig2" "Sig3"\n'
  55.     buf(1) = buf(1) + 'ZONE T="FLAC3D Data" \n'
  56.     buf(1) = buf(1) + 'N='+string(i)+','+'E='+string(j)+','+'ZONETYPE=FEBrick '
  57.     buf(1) = buf(1) + 'DATAPACKING=block\n'+'VARLOCATION=([8-13]=CELLCENTERED)\n'
  58.     buf(1) = buf(1) + 'DT=(SINGLE SINGLE SINGLE SINGLE SINGLE SINGLE SINGLE SINGLE SINGLE SINGLE SINGLE SINGLE SINGLE)'
  59.     status = write(buf,1)
  60. ii=out('File Head has been written!')
  61. end;End of write_FileHead
  62. ;;
  63. ;;Write Nodes' Coordinates X Y Z
  64. def write_node
  65.     ;Write x position  
  66.     p_gp = gp_head
  67.     loop while p_gp # null
  68.         buf(1)=''
  69.         n=1
  70.         loop while n <= N_RECORD
  71.             if p_gp # null then
  72.                 if in_range('writeRange',p_gp) = 1  then
  73.                     buf(1) = buf(1)+string(gp_xpos(p_gp)+gp_xdisp(p_gp)*ScaleFactor)+ '  '
  74.                     n=n+1
  75.                 endif
  76.                 p_gp = gp_next(p_gp)
  77.             else
  78.                 n=N_RECORD+1
  79.             endif
  80.         endloop
  81.         status = write(buf,1)
  82.     endloop
  83.     ;
  84.     ;Write y position  
  85.     p_gp = gp_head
  86.     loop while p_gp # null
  87.         buf(1)=''
  88.         n=1
  89.         loop while n <= N_RECORD
  90.             if p_gp # null then
  91.                 if in_range('writeRange',p_gp) = 1  then
  92.                     buf(1) = buf(1)+string(gp_ypos(p_gp)+gp_ydisp(p_gp)*ScaleFactor)+ '  '
  93.                     n=n+1
  94.                 endif
  95.                 p_gp = gp_next(p_gp)
  96.             else
  97.                 n=N_RECORD+1
  98.             endif
  99.         endloop
  100.         status = write(buf,1)
  101.     endloop
  102.     ;
  103.     ;Write z position  
  104.     p_gp = gp_head
  105.     loop while p_gp # null
  106.         buf(1)=''
  107.         n=1
  108.         loop while n <= N_RECORD
  109.             if p_gp # null then
  110.                 if in_range('writeRange',p_gp) = 1  then
  111.                     buf(1) = buf(1)+string(gp_zpos(p_gp)+gp_zdisp(p_gp)*ScaleFactor)+ '  '
  112.                     n=n+1
  113.                 endif
  114.                 p_gp = gp_next(p_gp)
  115.             else
  116.                 n=N_RECORD+1
  117.             endif
  118.         endloop
  119.         status = write(buf,1)
  120.     endloop
  121. ii=out('Node coordinations have been written!')
  122. end;End of write_node
  123. ;;
  124. ;;Write the data on Node
  125. def write_nodeData
  126.     ;Write total displacement
  127.     p_gp = gp_head
  128.     loop while p_gp # null
  129.         buf(1)=''
  130.         n=1
  131.         loop while n <= N_RECORD
  132.             if p_gp # null then
  133.                 if in_range('writeRange',p_gp) = 1 then
  134.                     buf(1) = buf(1)+string(sqrt(gp_xdisp(p_gp)^2+gp_ydisp(p_gp)^2+gp_zdisp(p_gp)^2)*100.)+ '  '
  135.                     n=n+1
  136.                 endif
  137.                 p_gp = gp_next(p_gp)
  138.             else
  139.                 n=N_RECORD+1
  140.             endif
  141.         endloop
  142.         status = write(buf,1)
  143.     endloop
  144.     ;Write x-displacement
  145.     p_gp = gp_head
  146.     loop while p_gp # null
  147.         buf(1)=''
  148.         n=1
  149.         loop while n <= N_RECORD
  150.             if p_gp # null then
  151.                 if in_range('writeRange',p_gp) = 1 then
  152.                     buf(1) = buf(1)+string(gp_xdisp(p_gp)*100.)+ '  '
  153.                     n=n+1
  154.                 endif
  155.                 p_gp = gp_next(p_gp)
  156.             else
  157.                 n=N_RECORD+1
  158.             endif
  159.         endloop
  160.         status = write(buf,1)
  161.     endloop
  162.     ;
  163.     ;Write y-displcaement
  164.     p_gp = gp_head
  165.     loop while p_gp # null
  166.         buf(1)=''
  167.         n=1
  168.         loop while n <= N_RECORD
  169.             if p_gp # null then
  170.                 if in_range('writeRange',p_gp) = 1  then
  171.                     buf(1) = buf(1)+string(gp_ydisp(p_gp)*100.)+ '  '
  172.                     n=n+1
  173.                 endif
  174.                 p_gp = gp_next(p_gp)
  175.             else
  176.                 n=N_RECORD+1
  177.             endif
  178.         endloop
  179.         status = write(buf,1)
  180.     endloop
  181.     ;  
  182.     ;write z-displacement
  183.     p_gp = gp_head
  184.     loop while p_gp # null
  185.         buf(1)=''
  186.         n=1
  187.         loop while n <= N_RECORD
  188.             if p_gp # null then
  189.                 if in_range('writeRange',p_gp) = 1  then
  190.                     buf(1) = buf(1)+string(gp_zdisp(p_gp)*100.)+ '  '
  191.                     n=n+1
  192.                 endif
  193.                 p_gp = gp_next(p_gp)
  194.             else
  195.                 n=N_RECORD+1
  196.             endif
  197.         endloop
  198.         status = write(buf,1)
  199.     endloop
  200. ii=out('Displacement data have been written!')
  201. end;End of write_nodeData
  202. ;;
  203. ;;Write the data in Elements
  204. def write_zoneData
  205.     ;Write SXX
  206.     p_z = zone_head
  207.     loop while p_z # null
  208.         buf(1)=''
  209.         n=1
  210.         loop while n<=N_RECORD
  211.             if p_z # null then
  212.                 if in_range('writeRange',p_z) = 1 then
  213.                 if z_model(p_z) # 'null' then
  214.                     buf(1) = buf(1)+string(z_sxx(p_z)/(-1.e6))+ '  '
  215.                     n=n+1
  216.                 endif
  217.                 endif
  218.                 p_z = z_next(p_z)
  219.             else
  220.                 n=N_RECORD+1
  221.             endif
  222.         endloop
  223.         status = write(buf,1)
  224.     endloop
  225.     ;Write SYY
  226.     p_z = zone_head
  227.     loop while p_z # null
  228.         buf(1)=''
  229.         n=1
  230.         loop while n<=N_RECORD
  231.             if p_z # null then
  232.                 if in_range('writeRange',p_z) = 1 then
  233.                 if z_model(p_z) # 'null' then
  234.                     buf(1) = buf(1)+string(z_syy(p_z)/(-1.e6))+ '  '
  235.                     n=n+1
  236.                 endif
  237.                 endif
  238.                 p_z = z_next(p_z)
  239.             else
  240.                 n=N_RECORD+1
  241.             endif
  242.         endloop
  243.         status = write(buf,1)
  244.     endloop
  245.     ;Write SZZ
  246.     p_z = zone_head
  247.     loop while p_z # null
  248.         buf(1)=''
  249.         n=1
  250.         loop while n<=N_RECORD
  251.             if p_z # null then
  252.                 if in_range('writeRange',p_z) = 1 then
  253.                 if z_model(p_z) # 'null' then
  254.                     buf(1) = buf(1)+string(z_szz(p_z)/(-1.e6))+ '  '
  255.                     n=n+1
  256.                 endif
  257.                 endif
  258.                 p_z = z_next(p_z)
  259.             else
  260.                 n=N_RECORD+1
  261.             endif
  262.         endloop
  263.         status = write(buf,1)
  264.     endloop
  265.     ;Write Sig1 Max Princinple
  266.     p_z = zone_head
  267.     loop while p_z # null
  268.         buf(1)=''
  269.         n=1
  270.         loop while n<=N_RECORD
  271.             if p_z # null then
  272.                 if in_range('writeRange',p_z) = 1 then
  273.                 if z_model(p_z) # 'null' then
  274.                     buf(1) = buf(1)+string(z_sig1(p_z)/(-1.e6))+ '  '
  275.                     n=n+1
  276.                 endif
  277.                 endif
  278.                 p_z = z_next(p_z)
  279.             else
  280.                 n=N_RECORD+1
  281.             endif
  282.         endloop
  283.         status = write(buf,1)
  284.     endloop
  285.     ;Write Sig2 Mid Princinple
  286.     p_z = zone_head
  287.     loop while p_z # null
  288.         buf(1)=''
  289.         n=1
  290.         loop while n<=N_RECORD
  291.             if p_z # null then
  292.                 if in_range('writeRange',p_z) = 1 then
  293.                 if z_model(p_z) # 'null' then
  294.                     buf(1) = buf(1)+string(z_sig2(p_z)/(-1.e6))+ '  '
  295.                     n=n+1
  296.                 endif
  297.                 endif
  298.                 p_z = z_next(p_z)
  299.             else
  300.                 n=N_RECORD+1
  301.             endif
  302.         endloop
  303.         status = write(buf,1)
  304.     endloop
  305.     ;Write Sig3 Min Princinple
  306.     p_z = zone_head
  307.     loop while p_z # null
  308.         buf(1)=''
  309.         n=1
  310.         loop while n<=N_RECORD
  311.             if p_z # null then
  312.                 if in_range('writeRange',p_z) = 1 then
  313.                 if z_model(p_z) # 'null' then
  314.                     buf(1) = buf(1)+string(z_sig3(p_z)/(-1.e6))+ '  '
  315.                     n=n+1
  316.                 endif
  317.                 endif
  318.                 p_z = z_next(p_z)
  319.             else
  320.                 n=N_RECORD+1
  321.             endif
  322.         endloop
  323.         status = write(buf,1)
  324.     endloop
  325. ii=out('Element stress data have been written!')
  326. end;End of write_zoneData
  327. ;;
  328. ;;Zone Connectivity List
  329. ;Calculate the maximum index of the array my_Grid()
  330. def my_array
  331.     p_gp=gp_head
  332.     loop while p_gp # null
  333.         ski=gp_id(p_gp)
  334.         p_gp=gp_next(p_gp)
  335.     endloop
  336. end;End of my_array
  337. @my_array
  338. ;
  339. def write_zone
  340.     ;create an array to store the grid point data
  341.     array my_Grid(ski)
  342.     ;initialize the grid point array
  343.     p_gp=gp_head
  344.     i=1
  345.     loop while p_gp # null
  346.         if in_range('writeRange',p_gp) = 1  then
  347.             my_Grid(gp_id(p_gp))=i
  348.             i=i+1
  349.         endif
  350.         p_gp=gp_next(p_gp)
  351.     endloop
  352.     ;Write Zone Connectivity List
  353.     p_z = zone_head
  354.     loop while p_z # null
  355.     if in_range('writeRange',p_z) = 1  then
  356.     if z_model(p_z) # 'null' then
  357.         if z_numgp(p_z) = 8 then;A
  358.         ;1 2 5 3 4 7 8 6
  359.             my_Point(1)=string(my_Grid(gp_id(z_gp(p_z, 1))))
  360.             my_Point(2)=string(my_Grid(gp_id(z_gp(p_z, 2))))
  361.             my_Point(3)=string(my_Grid(gp_id(z_gp(p_z, 3))))
  362.             my_Point(4)=string(my_Grid(gp_id(z_gp(p_z, 4))))
  363.             my_Point(5)=string(my_Grid(gp_id(z_gp(p_z, 5))))
  364.             my_Point(6)=string(my_Grid(gp_id(z_gp(p_z, 6))))
  365.             my_Point(7)=string(my_Grid(gp_id(z_gp(p_z, 7))))
  366.             my_Point(8)=string(my_Grid(gp_id(z_gp(p_z, 8))))
  367.             ;
  368.             buf(1) = my_Point(1) + '  ' + my_Point(2)+ '  ' + my_Point(5)+ '  ' + my_Point(3)
  369.             buf(1) = buf(1)+ '  ' +my_Point(4) + '  ' + my_Point(7)+ '  ' + my_Point(8)+ '  ' + my_Point(6)
  370.         else
  371.         if z_numgp(p_z) = 4 then;B
  372.         ;1 2 3 3 4 4 4 4
  373.             my_Point(1)=string(my_Grid(gp_id(z_gp(p_z, 1))))
  374.             my_Point(2)=string(my_Grid(gp_id(z_gp(p_z, 2))))
  375.             my_Point(3)=string(my_Grid(gp_id(z_gp(p_z, 3))))
  376.             my_Point(4)=string(my_Grid(gp_id(z_gp(p_z, 4))))
  377.             ;
  378.                 buf(1) = my_Point(1) + '  ' + my_Point(2)+ '  ' + my_Point(3)+ '  ' + my_Point(3)
  379.                 buf(1) = buf(1)+ '  ' +my_Point(4) + '  ' + my_Point(4)+ '  ' + my_Point(4)+ '  ' + my_Point(4)
  380.         else  
  381.         if z_numgp(p_z) = 6 then;C
  382.         ;1 2 5 3 4 4 6 6 or 1 2 4 4 3 5 6 6
  383.             my_Point(1)=string(my_Grid(gp_id(z_gp(p_z, 1))))
  384.             my_Point(2)=string(my_Grid(gp_id(z_gp(p_z, 2))))
  385.             my_Point(3)=string(my_Grid(gp_id(z_gp(p_z, 3))))
  386.             my_Point(4)=string(my_Grid(gp_id(z_gp(p_z, 4))))
  387.             my_Point(5)=string(my_Grid(gp_id(z_gp(p_z, 5))))
  388.             my_Point(6)=string(my_Grid(gp_id(z_gp(p_z, 6))))
  389.             ;
  390.                 buf(1) = my_Point(1) + '  ' + my_Point(2)+ '  ' + my_Point(4)+ '  ' + my_Point(4)
  391.                 buf(1) = buf(1)+ '  ' +my_Point(3) + '  ' + my_Point(5)+ '  ' + my_Point(6)+ '  ' + my_Point(6)   
  392.         else
  393.         if z_numgp(p_z) = 5 then;D
  394.         ;1 2 5 3 4 4 4 4
  395.             my_Point(1)=string(my_Grid(gp_id(z_gp(p_z, 1))))
  396.             my_Point(2)=string(my_Grid(gp_id(z_gp(p_z, 2))))
  397.             my_Point(3)=string(my_Grid(gp_id(z_gp(p_z, 3))))
  398.             my_Point(4)=string(my_Grid(gp_id(z_gp(p_z, 4))))
  399.             my_Point(5)=string(my_Grid(gp_id(z_gp(p_z, 5))))
  400.             ;
  401.                 buf(1) = my_Point(1) + '  ' + my_Point(2)+ '  ' + my_Point(5)+ '  ' + my_Point(3)
  402.                 buf(1) = buf(1)+ '  ' +my_Point(4) + '  ' + my_Point(4)+ '  ' + my_Point(4)+ '  ' + my_Point(4)  
  403.         endif;A
  404.         endif;B
  405.         endif;C
  406.         endif;D
  407.             status = write(buf,1)
  408.     endif
  409.     endif;if inrange('writeRange',p_z) = 1 then
  410.         p_z = z_next(p_z);next zone
  411.     endloop;loop while p_z # null
  412. ii=out('Zone Connectivity List has been written!')
  413. end;End of write_zone
  414. ;;
  415. ;;Main Function
  416. def Flac2tec   
  417.     status = close
  418.     status = open(tec_file,IO_WRITE,IO_ASCII)
  419.     if status = 0 then
  420.         write_FileHead
  421.         write_node
  422.         write_nodeData
  423.         write_zoneData
  424.         write_zone
  425.         status = close
  426.         ii = out('Data File for Tecplot has been created!  ' + tec_file)
  427.     else
  428.         ii = out('Open File Error! Status = ' + string(status))         
  429.     endif
  430. end;End of Flac2tec
  431. @Flac2tec
  432. system("preplot FLAC3DMesh_deformation.dat")
  433. set echo on
  434. ret
  435. ;EoF
复制代码
回复 不支持

使用道具 举报

发表于 2016-5-24 13:42:02 | 显示全部楼层 来自 四川
看看FLAC5.0能用不
回复 不支持

使用道具 举报

发表于 2016-5-25 17:14:42 | 显示全部楼层 来自 河北张家口
龙biscuit 发表于 2016-4-23 08:45
http://bbs.yantuchina.com/read.php?tid=290809,适用于flac3d5.0提取数据到tecplot,亲试可用,感谢kays ...

这是做什么用的啊 大神?
回复 不支持

使用道具 举报

发表于 2017-1-16 17:20:50 | 显示全部楼层 来自 上海
请问调用这个程序之后的文件储存在哪里啊?
回复 不支持

使用道具 举报

发表于 2017-3-12 20:00:49 | 显示全部楼层 来自 湖北武汉
可以使用,大神能调下读取安全度的那个命令吗?我把FISH命令加@啦读取还是错误
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-1 05:33 , Processed in 0.050111 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表