ABAQUS二次开发秘籍:findAt函数创建集合详解

Abaqus二次开发时,经常会遇到getSequenceFromMask,用此命令创建的集合是掩码编码,若集合是作为优化变量,则不具备操作性,应该尽量避免使用它。findAt函数是解决这一不足的有力武器,findAt函数是通过坐标点的方式来创建point、surface、cell集合,具有参数化的特点,方便控制。

1.问题描述


   a)  建立A B 两个区域的集合

ABAQUS二次开发|findAt函数创建集合的使用方法的图1

图1 A,B区域图


有限元模型的长宽分别为60mm,25mm,A区域的位置为x小于30,y大于18;B区域的位置为x大于30,y小于7

b)为优化集中力位置,使用findAt()函数在悬臂梁的顶部创建一个施加集中力的可变集合(图2)。
 

ABAQUS二次开发|findAt函数创建集合的使用方法的图2

图2悬臂梁模型



2.技术路线



2.1创建A、B区域的集合

findAt函数是利用区域内的一点坐标创建集合,因此选择A区域的坐标(10,20,0),B区域的坐标(50,5,0),为新创建的集合命名为Set-target,代码如下:

ABAQUS二次开发|findAt函数创建集合的使用方法的图3


2.2 创建点的可变集合

创建点集合的思路为:如果点在线内(不包含端点),则首先创建一个基准点,然后对模型基于基准点进行切分,最后创建集合;如果点在线的两端,则直接创建集合。图2展示了实现该功能的代码,主要是一个判断功能,保证创建的点集合在模型上,否则就报错。

ABAQUS二次开发|findAt函数创建集合的使用方法的图4

图3 判断是否需要进行切分


下面展示了实现创建集合功能的代码,其中findAt函数实现了对加载集中力位置的定义。在定义点时,用到的一个对象是vertices,即顶点,这也就是为什么要切分的原因。模型只有切分了之后才会有顶点!
 

ABAQUS二次开发|findAt函数创建集合的使用方法的图5

图4 创建集合

3.结果

ABAQUS二次开发|findAt函数创建集合的使用方法的图6

图5 应力云图



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空