ANSYS apdl命令流笔记2-------单元排序

前言

通过do命令与if命令的配合使用,来对图中面单元进行排序。

一、划分网格

finish
/clear
/prep7
blc4,,,9,9  !建立一个四边形
et,1,13		!单元类型为plane13
esize,,3	!网格尺寸
amesh,all

如图所示
在这里插入图片描述

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、单元排序

1.引入库

allsel,all
*get,emax,elem,,num,max		!获取最大单元编号
*get,d,elem,,count			!获取单元数
*dim,ne,,d
*dim,ex,,d
*dim,ey,,d			
*dim,eorder,,d		!建立四个维数为d的数组
mine=0				!定义一个参数
*do,j,1,d
	esel,u,elem,,mine	!每次选择时减去编号为mine的单元
	*get,c,elem,,count	!重新获取新选择区域的单元数
	ii=0			!设置一个参数,用于计算单元个数
	*do,I,1,emax
		*if,esel(i),eq,1,then	!判断单元是否被选择
			ii=ii+1
			ne(ii)=i	!将单元编号存于数组
		*endif
	*enddo	!结束循环,具体可参考上一篇笔记
	*do,I,1,c
		*get,ey(i),elem,ne(i),cent,y !得到第i号单元y坐标
		*get,ex(i),elem,ne(i),cent,x !得到第i号单元x坐标
	*enddo
	miny=1e10
	minx=1e10	!定义两个较大的数
	*do,I,1,c
		*if,ex(i),lt,minx,then 	!判断单元x坐标是否小于minx
			miny=ey(i)
			minx=ex(i)
			mine=ne(i)
		*else
		*if,ex(i),eq,minx,then
		*if,ey(i),lt,miny,then	!判断单元y坐标是否小于miny
			miny=ey(i)
			minx=ex(i)
			mine=ne(i)
		*endif
		*endif
		*endif
	*enddo		!结束循环
	eorder(j)=mine	!将判断后的坐标值最小单元号存于数组
*enddo	

2.读取结果

预期结果

先按照x坐标最小,当x坐标相同是,y坐标最小的原则,结果依次应该是1、4、7、2、5、8、3、6、9

实际结果

输入命令

*status,eorder	!显示排序后的结果

在这里插入图片描述
与预期结果一致。

总结

看到这里有的人可能会说,这几个单元的排序就需要这么多的命令,那复杂的实体单元是不是更复杂?其实并不是这样的,这是一整套的排序命令,复杂的实体单元与这差不多,只是多了一个Z方向的有关命令。

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值