首页/文章/ 详情

Abaqus|python脚本参数化创建施加集中力的set

2年前浏览4909

所有完整源码可关注wechat official account“仿真社”获取

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

1. 问题描述

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

image.png

图1 悬臂梁模型

2. 技术路线

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

image.png

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

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

image.png

图3 创建set

3. 结果

image.png

图4 应力云图

4. 结论

使用findAt函数参数化建立了集中力set。该模型完整代码可在后台回复“findAt”获取。下期给大家分享一个python reader编译器,可实时显示.rpy代码,助力高效二次开发。没有第三方软件协助,随便一个模型成百上千的代码是多么的令人抓狂。



Abaqus
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-12-04
最近编辑:2年前
仿真社
硕士 ABAQUS/LS-DYNA探索者
获赞 207粉丝 528文章 91课程 5
点赞
收藏
未登录
1条评论
随便
签名征集中
2月前
链接过期了,亲^3^
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈