海到尽头天作岸,山临绝顶我为峰!

[原创] 命令流共享-FLAC3D模型导入ANSYS中

上一篇 / 下一篇  2006-05-30 16:58:16

查看( 257 ) / 评论( 12 )
在学习了版主dynamax 的《用tecplot对flac3d计算结果进行后处理》后,借鉴了用一个字符串进行文件输入输出的思想,编制了以下的命令流,由于flac3d中不好剖分网格,所以将FLAC3D模型导入ANSYS中进行加密处理,再利用我前面编得从ansys转到flac3d的程序,输入到flac3d中进行计算,会是一个比较好的办法,可以供大家学习。
i|.JDa X N0
3h4|H+^G(|7SA9k0 ;********************** get nodetotal & zone total *********************SimWe个人空间5V5[b!N5ps\ M&|
SimWe个人空间8x?/a@:^NdraQ
;; InitializationSimWe个人空间p'm0|(A3[H3}
def initialization
#RA(] Z _?1Un0         IO_READ  = 0
G5D3uCj Hn0         IO_WRITE = 1SimWe个人空间4F3B1\fg\%x,_0wJ
        IO_FISH  = 0SimWe个人空间(GO~$O6Jk+H
        IO_ASCII = 1
y$eFt2K6aR1x@b1V0         SuferFile='FLAC-ANSYS_MODEL.dat'SimWe个人空间/b"}"vyG y^qv
        array message(1)SimWe个人空间K {4U*d?K6^
end
$@2J7TO:T6Z0 initialization
-?? `GUnw#`0
;W4hRDblO7V0 def writeheadSimWe个人空间2\t1AR.b;S:pv'x
    pnt1=zone_head
i\7[ _J:oy0     pnt2=gp_headSimWe个人空间g_FH!V/Z2z
    Z_total=0SimWe个人空间)B:X1M k.k`L[
    P_total=0SimWe个人空间.f"b-[c6IQ7SC0C
    loop while pnt1 # null
(H&dXt2B1b*[0     Z_total=Z_total+1
is\w1Ak7|%X0     pnt1=z_next(pnt1)
(M/__U\M3h0     endloopSimWe个人空间;i P PUu;i
SimWe个人空间%mv8j,_1^H{LG0y@r
    loop while pnt2 # null
I EQ[-FG6[0     P_total=P_total+1
eC"yp%c/et)n0     pnt2=gp_next(pnt2)
j {"x FV&w|vz&QF0     endloop
:Qa7C J*S,J0     message(1)='!------------------------------------------------------------------ \n'
9i;@h,]zBj7f0     message(1)='!This is a free soft for converting the model from Flac3d to Ansys! \n'
&xN2?;vyN?;a0     message(1)='!                Code by haitang 2006-05-30 \n'SimWe个人空间5s)@YXS-bsp
    message(1)='!------------------------------------------------------------------ \n'SimWe个人空间*XeX%e ZBV^
    message(1)='!The Number of Nodes and Elements \n'SimWe个人空间"doWY0gOs}
    message(1)=message(1)+'!'+string(P_total)+' , '+string(Z_total)+'\n'
5Y.z.s3v;w(]0y0DH0     message(1)=message(1)+'/prep7 \n'
/K/I?`7{4gp0     message(1)=message(1)+'ET,1,SOLID45'
r1cYc P,c7z]0n0     status = write(message,1)SimWe个人空间tfEKK*P&dR
endSimWe个人空间-H#FR V(k$a"^

C C9C6}JMy v0 define GetElementsSimWe个人空间!Uhv0S"u!x*l[?
   Z1_p=zone_head
1B"m~$G*QB0
s.] ^)e?7g0    loop n (1,Z_total)SimWe个人空间(Ff j y+{ M
     Z1_code=z_code(Z1_p)
NEQ8s*B m t*co0      Z1_No=z_id(Z1_p)SimWe个人空间5Oo0R _/Io
     Z1_Group=z_group(Z1_p)
XZY*P#Ov0      if Z1_code=0 then
3s!J Re9[0        message(1)='MAT, '+string(Z1_Group)+'\n'   
A2xVE4M;sQ0        message(1)=message(1)+'E, '+string(gp_id(z_gp(Z1_p,1)))
*].P_.YQ1jB0        message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,2)))SimWe个人空间j?` V)k'U[M IQ"i
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,5)))SimWe个人空间[7f:]yM DU*g
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,3)))
J;C;P S]g0        message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,4)))SimWe个人空间_ v"g6_WW-f
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,7)))SimWe个人空间%A:tk{RP7@f Y
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,8)))
X O:FI I Y S0        message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,6)))
[OUP*i9_0        status = write(message,1)
Xd@p+Z0n0y$g/d Q?0        Z1_p=z_next(Z1_p)SimWe个人空间T},?]mP7u!o-r
     endifSimWe个人空间f&r [ QYyO(vdp
     if Z1_code=1 thenSimWe个人空间 V o,Un8\Cj
       message(1)='MAT, '+string(Z1_Group)+'\n' SimWe个人空间e p9fx_MMN
       message(1)=message(1)+'E, '+string(gp_id(z_gp(Z1_p,1)))
o(H KQ+a QJ0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,2)))
K N4K7k(fji0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
[}+o lC|.^0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))SimWe个人空间-?TE'X(q#zPx2\X
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,3)))SimWe个人空间e4ti2M._:K] sC
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,5)))SimWe个人空间9[2bi,R$bhu*vG
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,6)))SimWe个人空间lD8qE'dY,M
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,6)))
oJ(Y)Q.CX0        status = write(message,1)
;V0i;@1XRL-^R0        Z1_p=z_next(Z1_p)
C#rgt9c\|M/L0      endifSimWe个人空间b:d-l*Ad+S l(^
     if Z1_code=4 thenSimWe个人空间U/S9b#Cx
       message(1)='MAT, '+string(Z1_Group)+'\n' SimWe个人空间r DK.cU-Q:_.L
       message(1)=message(1)+'E, '+string(gp_id(z_gp(Z1_p,1)))
?u;OyT0cf8]0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,2)))SimWe个人空间mB M7U:R`(U/nS
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,3)))
Y&Hh1M&T0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,3)))
.["I6Tn:X0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))SimWe个人空间1?m%@G9p J
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))SimWe个人空间 _5qn2o7Cp;A3C
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
MG\{.I-kj0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
E(tb \];_`m0        status = write(message,1)SimWe个人空间 M2Xk'W ie
       Z1_p=z_next(Z1_p)
s3TU#O|,[+b0      endif                SimWe个人空间,f\B.kn)]
     if Z1_code=2 thenSimWe个人空间zc]R:G:gP#HA3K
       message(1)='MAT, '+string(Z1_Group)+'\n'
8I w0T8fX$L!K0        message(1)=message(1)+'E, '+string(gp_id(z_gp(Z1_p,1)))
9C!a rk3l ~ u9s+A&F9B0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,2)))
:]?jgHy'M0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,5)))
zPm d1` w9[0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,3)))
f(o ZsU0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
2q Z/JL-fn}:|0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
~n[ EpJ0        message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))SimWe个人空间3i:B L!^ S I7f
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
i*EN'g?t$Q9r0        status = write(message,1)SimWe个人空间0U`6}l/iU2V;g
       Z1_p=z_next(Z1_p)
q&^"D9g e0      endif
Exm)xA0    endloop
0I6hI7o+CZ0 ENDSimWe个人空间5b"au^bG
SimWe个人空间4NgqR+s,W!E

V0Z5j"mn EV0 DEFINE GetNodesSimWe个人空间7jzWvBPA/T.S6ro
message(1)=''SimWe个人空间3N`Lnn2u,|Z!Z'{};d
    P1_p=gp_headSimWe个人空间f)_Y^8ifBH"v
    loop n (1,P_total)   
:aUbH:I1i0         node_id=gp_id(p1_p)SimWe个人空间/y5Q"Y4T3|B;gB
        message(1)='N, '+string(node_id)SimWe个人空间9B,^c1Ex6|6KN+J|E
           message(1)=message(1)+','+string(gp_xpos(p1_p))
F2Co,s0b0            message(1)=message(1)+','+string(gp_ypos(p1_p))
8g|ks$o0            message(1)=message(1)+','+string(gp_zpos(p1_p))SimWe个人空间4v{"PzrztY
           status = write(message,1)                  SimWe个人空间xGQLxvo!a#d
        P1_p=gp_next(P1_p)
+~xz X.t ^;|t0      endloopSimWe个人空间b!OK;_ Gr
ENDSimWe个人空间*he j9[l S

$|y.av!X/~'q bgF0 ; Main FunctionSimWe个人空间$hB)uz'i n!WK
def haitang       
d/uG q X0i T*u;z0   status = closeSimWe个人空间2t$Ly @$qs)EJXe
        status = open(SuferFile,IO_WRITE,IO_ASCII)
?%N.j${:a.o#|0         if status = 0 thenSimWe个人空间-aY"_ F)N*]|
            writehead
'KK n C\8E0                 message(1)='The Node coordination of "X" "Y" "Z" \n'SimWe个人空间V1xP+K!E(U B_4g7X
            GetNodesSimWe个人空间8r,W0fA-J#}rh
            message(1)='!The Nodes id nums of Elements. \n'
&PE)e D}0             GetElementsSimWe个人空间&]$Kq}*]y4S)@
            message(1)='/PNUM,MAT,1 \n'
qE!r/M Vb:r0             message(1)=message(1)+ '/REPLOT '
(xe$i!@c0?F O0             status = write(message,1) SimWe个人空间cEEno2Z0W S
            status = close
9o\[\.^Mr K0             ii = out('Successfully Write Data Into File ' + SuferFile)SimWe个人空间Q9Q(t{!x
        elseSimWe个人空间Xe:I2br
            ii=out('Open File Error! Status = ' + string(status))                        SimWe个人空间-uoa0~)n%id9y
        endif                       
bH}f{i!~]0 end
$_8FC+hx;ar;\0 haitangSimWe个人空间 b8q{q#T%QZh2OW o(I2z

e%q.?tmN4J Uc0Flac_To_Ansys060530.rarSimWe个人空间+Yg'A o/\Y
(2006-05-30 16:58:16, Size: 1.04 kB, Downloads: 25)SimWe个人空间tM&{:OJAD


TAG:

yts2006发布于2006-05-30 17:32:34
好!学习,谢谢!
一面湖水 lakewater 发布于2006-06-01 22:23:10
加分鼓励!
lbt18872发布于2006-06-15 11:15:29
值得加分鼓励,谢谢
wangweipeng的个人空间 wangweipeng 发布于2006-07-27 00:11:47
学海无涯
zdhshan发布于2006-08-12 21:28:15
谢谢!
lc_rw发布于2006-10-12 20:22:43
hao
海棠楼主,不仅学术水平高,人品也很好,感谢您的共享!
R@`~ RliO-b$?e.simwe.com真正的高手
feiyang52013发布于2006-10-22 23:25:54
您好啊仿真分析,有限元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent,CFD,CAE,CAD,CAM8_HTl9wk5@+kN
我现在了你的ansys2flac的程序,可是老是出问题,那个程序是不是对flac的版本,单元的是数目和形状都有要求阿
sch的个人空间 sch 发布于2006-10-23 00:27:17
兄弟很服你是有心人!可以和你多交流!
ansys2007发布于2007-03-10 04:52:59
楼主,你以后必然成为大家!!!
9f:i'~fpE7]e.simwe.com绝对的大家风范!!很感激你!
xuexi2007发布于2007-03-13 11:26:44
好像历来都是水平越高的人越是胸襟宽广 ,,知否心宽路亦宽。额是初学者,正不知道如何下手 ,莽莽撞撞的碰到了这个论坛,今天就尽情表达一下新人额的惊喜,崇拜和感激吧。
zhongnan发布于2007-03-30 12:18:55
回复 #1 haitang 的帖子
多谢多谢|Simwe.com|仿真|设计|有限元|虚拟仪器*F7`4u C|9V/C
以后还要向你请教!
smallkin发布于2008-03-14 00:23:39
楼主是在是太牛了,佩服死了
我来说两句

(可选)

日历

« 2009-01-08  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 2400
  • 日志数: 7
  • 图片数: 1
  • 文件数: 1
  • 建立时间: 2006-06-09
  • 更新时间: 2007-02-03

RSS订阅

Open Toolbar