技术邻 > CAE仿真 > 流体仿真 ,Ansys 浏览:4608 回答:2 ansys处理接触问题,怎么提取接触单元的面积呢?我现在只知道通过gui操作,输入一个单元号然后得出该单元的面积,怎么把所有接触单元的单元号和面积导出来呢?熟悉的帮帮介绍一下方法,谢谢。
可以使用 APDL 编程来实现。给你个思路吧:
先根据接触单元的类型号,选择某个接触对的所有接触单元 (ESEL, s, TYEP, 接触单元类型号);然后:
*get, E_num, ELEM, 0, Acount, !* 获取当前 (接触) 单元个数,置于参数 E_num
*get, E_min, ELEM, 0, NUM, Min !* 获取最小单元编号,置于参数 E_min
*get, E_min, ELEM, 0, NUM, Max !* 获取最大单元编号,置于参数 E_max
*dim, A_contact, ARRAY, e_num, 2 !* 定义一个数组,准备存放各个接触单元的编号和面积
Ei = 1
*do, i, E_min,E_max
*if, esel(i), eq, 1, then !* 如果单元 i 在当前选择集中
*get, Ai, ELEM, i, AREA !* 获取单元 i 的面积 (仅对面单元)
A_contact(Ei, 1) = i !* 将单元 i 的编号存入数组 A_contact
A_contact(Ei, 2) = Ai !* 将单元 i 的面积存入数组 A_contact
Ei = Ei+1
*endif
*enddo
这样就可以将一种接触单元类型的接触单元的编号及面积存放到数组 A_contac 中,然后可以输出数组 A_contac 到某个文件中。如果有多个接触单元类型,可以多次处理,也可以一起处理。
没有验证过,自己试试,完善一下。