利用APDL命令选择椭球面上的节点

2017-09-15  by:CAE仿真在线  来源:互联网

问题的背景:笔者在利用Workbench的二次开发功能实现某模型的参数化建模、分网、加载时,由于workbench开发接口的限制,需要结合DM模块、MAPDL模块、Mesh模块、FEM模块以及Mechnical模块。


在结合这些模块的时候,为了实现参数化一键加载,需要在Mechnical模块通过APDL和XML(ACT技术)完成加载功能,而Mechnical模块里面的模型其实只有节点和单元,因此,在Mechnical模块添加的APDL命令只能是对节点或者单元进行操作。

该模型有圆柱面和椭球面,圆柱面的节点其实比较好通过APDL选取,利用圆柱坐标系即可,但是椭球面上的节点则无法直接选取。

至此,问题便产生了,如何利用APDL在只有节点和单元的模型上选取椭球面上的节点。

局部模型如下所示。


利用APDL命令选择椭球面上的节点ansys图片1

图1 单元模型

利用APDL命令选择椭球面上的节点ansys图片2

图2 节点

笔者所想选取的节点是图2中的最内层的节点,该群节点所对应的几何模型是一个标准的椭球形,椭球形状参数比为2:2:1。

该问题最大的障碍便是没有几何,只有节点和单元,如果有几何的话,那么可以直接通过参数选择面,再选择依附在面上的节点即可。


如何解决该问题?

首先,笔者尝试通过在前期划分网格时添加一种额外的单元,mesh200,这是一个比较特殊的单元,有兴趣的可以查查资料,先将该面单独用mesh200进行网格划分,之后对全部模型采用solid185进行划分。

划分完成后,模型导入Mechnical模块,可以通过单元类型的方式直接选出所要的节点,而且选择过程非常非常的方便和快捷。但是,mesh200单元只是用于网格划分,不支持载荷和约束,也即是无法在这些节点上加载,这对于最终问题就显得无效了。

显然,该方法虽然能够选出所要的节点,但是却不能解决加载的问题,只能放弃。

至此,笔者只能尝试采用椭球本身的位移约束方程来选择了。


众所周知,标准椭球的方程为:

利用APDL命令选择椭球面上的节点ansys培训的效果图片3

在本次模型中,a=c=2b=Ri,因此,本模型的椭球面方程为:

利用APDL命令选择椭球面上的节点ansys培训的效果图片4

也即是,椭球面上节点的(x,y,z)坐标肯定是满足上述方程的,那么可以通过读取节点的坐标值,代入上述方程计算,判断是否满足,如果满足,那么就是所需要的节点,不满足就不是。

基于此原则,可以写出APDL命令的思路:

获取总节点数目

循环遍历

获取当前的最小节点号

获取该节点的三个坐标值

计算椭球方程

逻辑判断

如果该节点满足椭球方程,则存入数组

舍弃当前节点


之后,通过遍历存储的数组,可以选出所有满足椭球方程的节点。

具体的APDL实现过程如下:

alls,all

csys,0

nsel,r,ext

nsel,r,loc,y,0,Body_Ri/2


tol=1e-6

j=0


*get,Total_node,node,0,count

*Dim,inner_node,array,Total_node,1


*do,i,1,Total_node,1

*get,node_min,node,0,num,min

ux=nx(node_min)

uy=ny(node_min)

uz=nz(node_min)

temp=(ux**2+uz**2+4*uy**2)/Body_Ri**2-1

abs_temp=abs(temp)


*if,abs_temp,lt,tol,then

j=j+1

inner_node(j)=node_min

*endif

nsel,u,,,node_min

*enddo


alls,all

nsel,r,,,inner_node(1)

*do,k,2,j,1

nsel,a,,,inner_node(k)

*enddo

注:定义了一个较小的变量tol=1e-6,主要是考虑可能存在一定的误差,是节点的坐标不能完全符合椭球方程,这个属于正常现象,稍加考虑即可。

最终运行该段APDL代码,可以选出所需要的最内层的节点,如下所示。

利用APDL命令选择椭球面上的节点ansys培训的效果图片5

图3 选择节点

利用esln命令,选出该群节点所存附的单元,如图4所示,所见就一层单元。

利用APDL命令选择椭球面上的节点ansys培训的效果图片6

图4 节点存附的单元


开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:利用APDL命令选择椭球面上的节点 Ansys有限元培训 Ansys workbench培训 ansys视频教程 ansys workbench教程 ansys APDL经典教程 ansys资料下载 ansys技术咨询 ansys基础知识 ansys代做 Fluent、CFX流体分析 HFSS电磁分析 Abaqus培训 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com