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

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

[复制链接]
发表于 2006-5-30 16:58:16 | 显示全部楼层 |阅读模式 来自 江苏南京
在学习了版主dynamax 的《用tecplot对flac3d计算结果进行后处理》后,借鉴了用一个字符串进行文件输入输出的思想,编制了以下的命令流,由于flac3d中不好剖分网格,所以将FLAC3D模型导入ANSYS中进行加密处理,再利用我前面编得从ansys转到flac3d的程序,输入到flac3d中进行计算,会是一个比较好的办法,可以供大家学习。

;********************** get nodetotal & zone total *********************

;; Initialization
def initialization
        IO_READ  = 0
        IO_WRITE = 1
        IO_FISH  = 0
        IO_ASCII = 1
        SuferFile='FLAC-ANSYS_MODEL.dat'
        array message(1)
end
initialization

def writehead
    pnt1=zone_head
    pnt2=gp_head
    Z_total=0
    P_total=0
    loop while pnt1 # null
    Z_total=Z_total+1
    pnt1=z_next(pnt1)
    endloop

    loop while pnt2 # null
    P_total=P_total+1
    pnt2=gp_next(pnt2)
    endloop
    message(1)='!------------------------------------------------------------------ \n'
    message(1)='!This is a free soft for converting the model from Flac3d to Ansys! \n'
    message(1)='!                Code by haitang 2006-05-30 \n'
    message(1)='!------------------------------------------------------------------ \n'
    message(1)='!The Number of Nodes and Elements \n'
    message(1)=message(1)+'!'+string(P_total)+' , '+string(Z_total)+'\n'
    message(1)=message(1)+'/prep7 \n'
    message(1)=message(1)+'ET,1,SOLID45'
    status = write(message,1)
end

define GetElements
   Z1_p=zone_head

   loop n (1,Z_total)
     Z1_code=z_code(Z1_p)
     Z1_No=z_id(Z1_p)
     Z1_Group=z_group(Z1_p)
     if Z1_code=0 then
       message(1)='MAT, '+string(Z1_Group)+'\n'   
       message(1)=message(1)+'E, '+string(gp_id(z_gp(Z1_p,1)))
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,2)))
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,5)))
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,3)))
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,4)))
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,7)))
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,8)))
       message(1)=message(1)+','+ string(gp_id(z_gp(Z1_p,6)))
       status = write(message,1)
       Z1_p=z_next(Z1_p)
     endif
     if Z1_code=1 then
       message(1)='MAT, '+string(Z1_Group)+'\n'
       message(1)=message(1)+'E, '+string(gp_id(z_gp(Z1_p,1)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,2)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,3)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,5)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,6)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,6)))
       status = write(message,1)
       Z1_p=z_next(Z1_p)
     endif
     if Z1_code=4 then
       message(1)='MAT, '+string(Z1_Group)+'\n'
       message(1)=message(1)+'E, '+string(gp_id(z_gp(Z1_p,1)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,2)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,3)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,3)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
       status = write(message,1)
       Z1_p=z_next(Z1_p)
     endif               
     if Z1_code=2 then
       message(1)='MAT, '+string(Z1_Group)+'\n'
       message(1)=message(1)+'E, '+string(gp_id(z_gp(Z1_p,1)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,2)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,5)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,3)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
       message(1)=message(1)+','+string(gp_id(z_gp(Z1_p,4)))
       status = write(message,1)
       Z1_p=z_next(Z1_p)
     endif
   endloop
END


DEFINE GetNodes
message(1)=''
    P1_p=gp_head
    loop n (1,P_total)   
        node_id=gp_id(p1_p)
        message(1)='N, '+string(node_id)
           message(1)=message(1)+','+string(gp_xpos(p1_p))
           message(1)=message(1)+','+string(gp_ypos(p1_p))
           message(1)=message(1)+','+string(gp_zpos(p1_p))
           status = write(message,1)                  
        P1_p=gp_next(P1_p)
     endloop
END

; Main Function
def haitang       
  status = close
        status = open(SuferFile,IO_WRITE,IO_ASCII)
        if status = 0 then
            writehead
                message(1)='The Node coordination of "X" "Y" "Z" \n'
            GetNodes
            message(1)='!The Nodes id nums of Elements. \n'
            GetElements
            message(1)='/PNUM,MAT,1 \n'
            message(1)=message(1)+ '/REPLOT '
            status = write(message,1)
            status = close
            ii = out('Successfully Write Data Into File ' + SuferFile)
        else
            ii=out('Open File Error! Status = ' + string(status))                       
        endif                       
end
haitang

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

yts2006 该用户已被删除
发表于 2006-5-30 17:32:34 | 显示全部楼层 来自 湖北武汉
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2006-6-1 22:23:10 | 显示全部楼层 来自 江苏南京
加分鼓励!
发表于 2006-6-15 11:15:29 | 显示全部楼层 来自 江苏徐州
值得加分鼓励,谢谢
发表于 2006-7-27 00:11:47 | 显示全部楼层 来自 四川成都
学海无涯
发表于 2006-8-12 21:28:15 | 显示全部楼层 来自 山东济南
谢谢!
发表于 2006-10-12 20:22:43 | 显示全部楼层 来自 北京

hao

海棠楼主,不仅学术水平高,人品也很好,感谢您的共享!
真正的高手
发表于 2006-10-22 23:25:54 | 显示全部楼层 来自 湖北武汉
您好啊
我现在了你的ansys2flac的程序,可是老是出问题,那个程序是不是对flac的版本,单元的是数目和形状都有要求阿
发表于 2006-10-23 00:27:17 | 显示全部楼层 来自 北京
兄弟很服你是有心人!可以和你多交流!
发表于 2007-3-10 04:52:59 | 显示全部楼层 来自 辽宁阜新
楼主,你以后必然成为大家!!!
绝对的大家风范!!很感激你!
发表于 2007-3-13 11:26:44 | 显示全部楼层 来自 山东青岛
好像历来都是水平越高的人越是胸襟宽广 ,,知否心宽路亦宽。额是初学者,正不知道如何下手 ,莽莽撞撞的碰到了这个论坛,今天就尽情表达一下新人额的惊喜,崇拜和感激吧。
发表于 2007-3-30 12:18:55 | 显示全部楼层 来自 湖南长沙

回复 #1 haitang 的帖子

多谢多谢
以后还要向你请教!
发表于 2008-3-14 00:23:39 | 显示全部楼层 来自 河北廊坊
楼主是在是太牛了,佩服死了
回复 不支持

使用道具 举报

发表于 2010-5-7 20:43:57 | 显示全部楼层 来自 湖北宜昌
haitang大哥的必顶。偶像
回复 不支持

使用道具 举报

发表于 2010-5-7 21:22:42 | 显示全部楼层 来自 四川成都
不错,好东西,谢谢
回复 不支持

使用道具 举报

发表于 2010-6-22 16:47:06 | 显示全部楼层 来自 湖北恩施州
相当受启发,FISH用的太漂亮了
回复 不支持

使用道具 举报

发表于 2010-6-23 07:50:15 | 显示全部楼层 来自 山东青岛
高手,学习了
回复 不支持

使用道具 举报

发表于 2010-6-25 17:28:26 | 显示全部楼层 来自 陕西西安
高手就是高手
学习了
回复 不支持

使用道具 举报

发表于 2011-5-16 17:36:08 | 显示全部楼层 来自 四川成都
还是不知道怎么用啊,期待详细说明
回复 不支持

使用道具 举报

发表于 2011-9-26 14:46:44 | 显示全部楼层 来自 北京
谢谢楼主  认真学习下
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-28 16:27 , Processed in 0.064003 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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