首页 > 代码库 > hypermesh2flac3d

hypermesh2flac3d

hypermesh2ansys2flac3d

目的:

将hypermesh中划分的网格输出到flac3d中。过程是hypermesh12.0-ansys13.0-flac3d3.0。

 技术分享

技术分享

技术分享

 

 

 视频教程详见:http://blog.sina.com.cn/s/blog_8dd135170102zunb.html

 

 

 

过程:

1.创建几何

 技术分享

 

 

 

2.划分网格并将单元体放入组中

 技术分享

 

 

3.创建ET Type

 技术分享

技术分享

 

 

 

 

4.创建一个property属性

 技术分享

技术分享

 

 

 

 

5.更新单元类型

 技术分享

技术分享

 

技术分享

 

 

 

 

 

 

 

6.创建两个材料

 技术分享

 

 技术分享

技术分享

 

 

 

 

 

 

 

7.更新单元到property和material

 技术分享

 

 

 

 技术分享

 

 

8.component manager

 技术分享

 

 技术分享

技术分享

 

 技术分享

 

 

 技术分享

 

 

 

9.ansys读入

 技术分享

 

 技术分享

 

 

10.ansys输出

 技术分享

 

 技术分享

 

 技术分享

 

 

 

11.flac3d读入

 技术分享

 

 

总结:其实property只创建一个就行了。

hypermesh中的component相当于flac3d中的组。但是经过ansys转换的时候是根据不同的材料转换的(ANSYS_TO_FLAC3D.exe这个软件就是这样判断的),所以要想在flac3d中得到几个组,就要在hypermesh中创建几个material(材料)。

谢谢!

技术分享

 

--------------------------------------

其实按上述方法弄完属性和材料后(不知道是不是必须)可以用别人写好的tcl代码直接输出为flac3d模型而不必经过ansys,代码如下:

  1 //Hypermesh to Flac3D 目前只支持brick B8、tet 四面体T4和wedge三棱柱W6这三种单元
  2 
  3 *text()
  4     *string("*")
  5     *end()
  6     *string("* 3D Mesh Generated by HyperMesh Version")
  7     *field(string,version,0)
  8     *string(" for Flac3D")
  9     *end()
 10     *string("*")
 11     *end()
 12     *string("* First Writen by Shi_Lu 2010.10.29")
 13     *end()
 14     *string("* Modified by Shi_Lu 2012.11.22")
 15     *end()
 16     *string("*")
 17     *end()
 18     *string(" ")
 19     *end()
 20     *string(" ")
 21     *end()
 22 *output()
 23 //表头输出结束
 24 //
 25 //开始输出节点
 26 *nodes()
 27 *before()
 28   *string("*GRIDPOINTS")
 29   *end()
 30 *format()
 31   *string("G ")
 32   *field(integer,id,8)
 33   *string(" ")
 34   *field(real,x,8)
 35   *string(" ")
 36   *field(real,y,8)
 37   *string(" ")
 38   *field(real,z,8)
 39   *end()
 40 *after()
 41   *string(" ")
 42   *end()
 43 *output()
 44 //节点输出结束
 45 //
 46 //开始输出单元
 47 *elements(0,0,"All","property")
 48 *before()
 49   *string("*ZONES")
 50   *end()
 51 *format()
 52   *if([config == 208])
 53     *string("Z ")
 54     *string(" B8 ")
 55     *field(integer,id,8)
 56     *string(" ")
 57     *field(integer,node1.id,8)
 58     *string(" ")
 59     *field(integer,node2.id,8)
 60     *string(" ")
 61     *field(integer,node4.id,8)
 62     *string(" ")
 63     *field(integer,node5.id,8)
 64     *string(" ")
 65     *field(integer,node3.id,8)
 66     *string(" ")
 67     *field(integer,node8.id,8)
 68     *string(" ")
 69     *field(integer,node6.id,8)
 70     *string(" ")
 71     *field(integer,node7.id,8)
 72   *else()
 73     *if([config == 204])
 74       *string("Z ")
 75       *string(" T4 ")
 76       *field(integer,id,8)
 77       *string(" ")
 78       *field(integer,node1.id,8)
 79       *string(" ")
 80       *field(integer,node2.id,8)
 81       *string(" ")
 82       *field(integer,node3.id,8)
 83       *string(" ")
 84       *field(integer,node4.id,8)
 85     *else()
 86       *if([config == 206])
 87         *string("Z ")
 88         *string(" W6 ")
 89         *field(integer,id,8)
 90         *string(" ")
 91         *field(integer,node1.id,8)
 92         *string(" ")
 93         *field(integer,node3.id,8)
 94         *string(" ")
 95         *field(integer,node4.id,8)
 96         *string(" ")
 97         *field(integer,node2.id,8)
 98         *string(" ")
 99         *field(integer,node6.id,8)
100         *string(" ")
101         *field(integer,node5.id,8)
102       *else()      
103         *errormessage("*Error, Rigth now only support Tetra4, Hex8 and Penta6 elements.")
104         *string("*Error, Rigth now only support Tetra4, Hex8 and Penta6 elements.")
105       *endif()
106     *endif()
107   *endif()
108 *end()
109 *after()
110   *string(" ")
111   *end()
112 *output()
113 //单元输出结束
114 //
115 //开始输出组合
116 *elements(0,0,"All","property")
117 *before()
118   *string("*GROUPS")
119   *end()
120 *beforecollector()
121   *string("ZGROUP ")
122   *field(string,collector.name,0)
123   *end()
124 *format()
125   *field(integer,id,10)
126   *end()
127 *aftercollector()
128   *string(" ")
129   *end()
130 *after()
131   *string(" ")
132   *end()
133 *output()

 

技术分享

hypermesh2flac3d