ANSYS输出实体模型表面的节点信息 和单元拓扑关系
ANSYS输出实体模型表面的节点信息
和单元拓扑关系
遇到一个问题,一个给定的实体模型,划分了solid185的单元,假如实体模型单元划分如下。需要提取实体模型外表面节点位置信息和单元拓扑关系(也就是每一个单元是由哪几个节点组成的),目的是方便做其他分析,比如流体分析,提取外表面的节点可以施加温度载荷。
图1
对于此问题,在ansys里面很难直接提取所有外表面的节点和单元信息,因为外表面也是实体单元的一个单元面,不可能剥离出来。
因此,想要提取外表面的单元和节点,最好是需要外表面存在平面单元。
对于此,可以采用ansys里面的特殊单元mesh200,这个单元用于面网格的划分,而且划分后的单元不参与实际计算。
于是:
et,2,200 !定义mesh200单元类型
asel,s,ext !选择所有的外表面
aatt,,,2 ! 设置划分单元为mesh200
KEYOPT, 2, 1, 6 ! 4节点的四边形单元
amesh,all ! 划分所以的外表面
此时划分的面网格和原来的实体网格的节点是一一对应的,这就保证了最后输出的节点的坐标与原来实体模型的对应节点是一一对应的。
此时可以选择删除实体模型和实体单元。
删除后,显示的就只有外表面的单元和节点,通过菜单栏List下面的Nodes,可选择列表输出节点坐标,如下所示:
图2
同样,可通过List输出单元拓扑信息,如下:
先用命令:
numcmp,all
压缩所有的单元和节点的编号,也就是重新编号,否则可能不是从1开始。
最后显示如下:
图3
这两个文件都可以保存,之后需要可以再写程序提取。
这里有一个问题,现在得到的表面的节点号和原来实体模型对于位置的节点号不是对应的,处理这个问题需要重新写程序,用什么语言都可以,Python,C++等等,目的是读取ansys输出的节点信息文件,读出固定坐标处对应的节点号,通过对比可以找到所以的节点对应关系。