APDL如何修改单元编号

文摘   2024-09-30 08:00   重庆  

欢迎阅读水哥原创文章,历年原创文章请点击:

本公众号历年原创文章汇总-2024.05

更多水哥原创课程,请点击:

水哥原创课程清单

近期有同学咨询水哥关于APDL里面如何修改单元编号的问题,今日解答一二,仅供大家参考。
目前APDL中没有能直接修改单元编号的命令,单元编号一般是在单元生成时软件系统生成的,不过借助EN命令重建可间接实现。
首先看看EN命令的解释,EN命令与E命令用法基本类似,通过指定单元组成的节点号来创建单元,不同的是,EN命令可以在创建单元的时候输入单元编号,这就给我们提供了很多操作空间。
该命令的帮助如下所示:
修改单元基本思路如下:
1、利用*get命令获取原单元的基本属性,如组成的节点,材料属性编号,截面属性编号,实常数编号等;
2、利用EN命令重建单元。
案例:如下一个小的单品框架,采用先几何体然后在划分单元的方式,形成的单元编号如下所示。
生成的命令流如下:
finish/clear/prep7et,1,beam188mp,ex,1,2.1e5mp,dens,1,2600e-12mp,prxy,1,0.3
sectype,1,beam,rectsecdata,100,200
K,1,0K,2,0,1000K,3,2000,1000K,4,2000,0L,1,2L,2,3L,3,4
lesize,all,,,5lmesh,all
现在因为操作原因,需要对单元编号重新编排,左侧柱编号统一加大100,中间梁统一加大200,右侧编号统一加到125
按照上述改变编号的思路,命令流如下:
!解绑几何体与有限元模型MODMSH, DETACH!获取选择集的单元编号esel,s,cent,x,0*get,elenum,elem,0,count*get,elemin,elem,0,num,min*dim,ele,array,elenumele(1)=elemin*do,i,2,elenumele(i)=elnext(ele(i-1))*enddo!根据单元类型确定获取的节点数组!存储单元节点数组!例如此处为188,就三个节点*dim,nodenum,array,3!修改单元编号*do,i,1,elenum!获取原属性*get,matA,elem,ele(i),attr,mat*get,secA,elem,ele(i),attr,sect*get,typeA,elem,ele(i),attr,type*get,realA,elem,ele(i),attr,real!获取单元节点*do,j,1,3nodenum(j)=NELEM(ele(i),j)*enddo!删除原单元Edele,ele(i)!重新创建单元type,typeAreal,realAsecnum,secAmat,matA!创建单元EN,ele(i)+100,nodenum(1),nodenum(2),nodenum(3)*enddo
最终的效果如下:
但这种方法有一个比较大的缺点:
由于需要涉及到底层单元的删除与重建,所以在操作之前首先需要对有限元模型与几何模型进行解绑,这样后续操作就不能再通过几何模型来操作,例如DK,DA等命令。

大家国庆快乐啊啊啊!
更多水哥原创课程,请点击:
       水哥原创课程清单
更多有限元学习资源,请访问水哥博客:FSCAE.COM
祝好
ANSYS结构院
      2024.09.30

ANSYS结构院
ANSYS使用心得及操作技巧,B站Up主水哥ANSYS, 有限元学习资源分享,公众号官网FSCAE.COM
 最新文章