首页/文章/ 详情

用for循环实现HyperMesh属性卡片的批量生成

1月前浏览1408
近日,Altair公司在HyperWorks2024新版本发布会上宣布:HyperWorks2024已全面支持使用Python进行二次开发。
在之前的几个版本中,HyperWorks已经慢慢融入了Python语言的二次开发,但苦于模块、函数等不全面也不成熟,一直未能广泛使用,二次开发仍以TCL语言为主。
安装好2024以后,笔者也开始探索使用Python语言对HyperWorks进行二次开发。根据HyperWorks的帮助文件,写了一个生成材料和批量生成Properties的简易代码如下:

























import hmimport hm.entities as ent
model = hm.Model()
# 生成材料mat1 = ent.Material(model)mat1.name = "Steel"mat1.cardimage = "MAT1"mat1.E = 2.06e05mat1.Nu = 0.28mat1.Rho = 7.85E-09
# 使用for循环创建属性platethickness = [1,2,3,4,5,6,8,10,12,14,15,16,18,20,22,          24,25,26,28,30,32,34,35,36,38,40,42,44,45,46,48,50]
for i in range(0,32):    thickness = platethickness[i]    propi = ent.Property(model)    propi.name = f"Shell_{thickness}" #使用f-string方法在字符串中增加变量    propi.cardimage = "PSHELL"    propi.materialid = mat1    propi.PSHELL_T = thickness    i += 1

我们调出HyperWorks的Python window,输入以上代码,按下回车键运行,软件便自动为我们生成了1个名为“steel”的线弹性材料和32个不同的厚度的PSHELL属性,属性名称中“Shell-”后面的数字便是该属性卡片的厚度。

读者可以根据自己的需要,调整 platethickness 列表以生成自己想要的厚度属性,也可根据自己的习惯设置PSHELL属性的名称。

往期精彩内容  


 

 

 

 
ANSYS分析实例系列    

   

01 齿轮动态接触分析

02 冲压成型仿真

03 牛顿摆多体动力学仿真

04 平行圆柱体的赫兹接触计算与ANSYS实现

05 球体的赫兹接触计算与ANSYS实现



 

 

 

 
HyperMesh与ANSYS联合仿真系列    

   

HyperMesh与ANSYS联合仿真(一)

如何在HyperMesh中使用ANSYS命令



 

 

 

 
ANSYS与材料力学系列课程    

   
01 绘制轴力和轴力图  
02 平面应力和平面应变  
03 提取任一截面上的应力  
04 胡克定律  
05 拉(压)杆的应变能  
06 应力集中  
07 材料力学知识回顾与WB中刚性梁的探讨  
08 绘制扭矩和扭矩图  
09 扭转杆的应变能  
10 绘制梁的剪力图和弯矩图  
11 非对称弯曲梁的正应力分析(一)  
12 非对称弯曲梁的正应力分析(二)  


 

 

 

 
ANSYS实用功能详解系列    

   

01 Weak Spring-弱弹簧

02 End Releases-端部释放

03 Remote Force-远端力



 

 

 

 
安装教程及安装包分享    

   
01 ANSYS 2023 R2 安装教程及安装包分享  
02 HyperWorks 2020 安装教程及安装包分享  
03 ANSYS 2020 R2 安装教程及安装包分享  

   
其余精彩内容请进入公众 号阅读    
   

欢迎大家在看转发支持!扫描二维码关注公众 号,一起聊聊力学和有限元那点儿事。
点点点,赞和在看都在这儿!


来源:CAE之道
HyperMesh二次开发python多体动力学材料ANSYSAltair
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-29
最近编辑:1月前
CAE_LJX
本科 | 仿真工程师 在工程计算中,领悟CAE之道。
获赞 136粉丝 190文章 55课程 0
点赞
收藏
作者推荐

ANSYS Workbench分析实例之牛顿摆

本文摘要(由AI生成):本文介绍了牛顿摆的仿真过程,包括建模、接触设置、转动副建立、摩擦系数设置、网格划分、分析设置及载荷设置。通过ANSYS Workbench的Rigid Dynamics模块,模拟了牛顿摆中小球在重力作用下的圆周运动和动量传递。仿真结果显示,最右侧小球释放后,动量依次传递至最左侧小球,实现动能与重力势能的转换。本文还提到,使用专业多体动力学软件如Adams可更简便地完成仿真。牛顿摆是个解压且能激发创造力的玩具。除此之外,它还向人们昭示着自然界中两个极其重要的基本物理定律——能量守恒定律和动量守恒定律。动量守恒定律孤立系统的动量是守恒/恒定的。即当两个物体碰撞时,碰撞前后的动量保持不变。动量守恒定律是最早发现的一条守恒定律,它渊源于十六、七世纪西欧的哲学思想。法国哲学家兼数学、物理学家笛卡尔,对这一定律的发现做出了重要贡献。其实,笛卡尔与瑞典克里斯汀公主既没心形曲线也没爱情,有的只是命债…… 牛顿爵士不会想到,在他逝世以后的240年,一个他从来没有玩过的玩具——牛顿摆诞生,并且以他的名字命名。实际上,牛顿摆既不是牛顿发明的,也不是他第一个提出玩具演示法则的。1662年,克里斯提安·惠更斯等三位科学家向皇家学会提交的论文中首次提到了这种摆所展示的原理。克里斯提安·惠更斯尤其对牛顿摆的发明做出了最大贡献。至于为什么要以牛顿的名字命名,可能是因为动量守恒定律是从牛顿第二定律中得出来的吧!也或者是牛顿对经典力学的贡献要远高于惠更斯这些人,也未可知。一般来说,牛顿摆由5(奇数)个小球组成,将最左侧的球抬高至一定的高度,让其自由回落,回落时碰撞紧密排列的另外四个球,最右边的球将被弹出,并仅有最右边的球被弹出。当然此过程也是可逆的,当摆动最右侧的球撞击其它球时,最左侧的球会被弹出。当最右侧的两个球同时摆动并撞击其他球时,最左侧的两个球会被弹出。同理相反方向同样可行,并适用于更多的球,3个,4个甚至5个。如下图,当最右边的小球被提起时,它随着高度的增加而获得重力势能,而动能为零。释放后,随着球体高度的降低,小球重力势能将全部转化为动能(理想状态)。同时,小球在向下摆动时会获得动量,并在底部位置获得最大动量。在与下一个球撞击时,最右边的小球失去所有动能(也失去了所有动量),并且没法继续运动。但是,整个系统的动量不会丢失(动量定理),因此动量会传递到它击中的小球上。动量依次传递,直到传递到最左边的小球,最左边的小球获得动量产生动能,无法继续传递,只能再次摆起,将动能转换成重力势能………………仿真过程对于牛顿摆,我们选择Workbench中的Rigid Dynamics(刚体动力学)模块来简单模拟。Step1牛顿摆的建模我们发现牛顿摆中的小球是有2根细绳连接。细绳与支架的2个连接点、细绳与小球的1个连接点,3个点组成一个三角形结构。由于三角形的稳定性,确定了小球只能在支架中间的平面内移动,不会发生偏移,这也是牛顿摆必须具备的条件;在刚体动力学模块中,小球和细绳都被视作刚体;同时,我们通过对细绳与支架连接点施加转动副,上述两点确定了细绳和小球只能在平面内运动,不会发生偏移,所以建模时我们只需要让每个小球连接1根细绳即可。(注意建立的5个球-绳结构要完全一样)Step2建立接触牛顿摆在运动过程中,小球与小球之间会发生碰撞,这就需要我们对每个小球之间建立接触;接触范围选择体Body接触(选择小球的面接触可能会出问题),接触行为设置为Frictionless(无摩擦)接触,其余参数保持默认;Step3建立转动副细绳与支架的连接点(共5个)需要建立转动副(Body-Ground),并且要注意旋转轴Z轴方向,方向与实际不一致时需调整转动副坐标系。建立后的模型如下:Step4设置运动摩擦系数这一步非常重要,关系到是否能仿真成功;我们需要在建立的5个旋转副中各设置一个值为0.0001的摩擦系数;这个摩擦系数非常小,但不可或缺。因为我们建立的这个系统中是没有任何阻尼的,所以在小球的运动和碰撞过程中,会发生一些不可预测的小扰动,导致小球碰撞过程中动量传递出现问题,进而引发仿真结果不合实际;笔者可以自行尝试不施加摩擦系数的情况,仿真可以完成,但是结果出人意料。另外,也可以使用设置阻尼的方法来完成该仿真,读者可自行尝试。Step5网格划分自由网格划分。Step6分析设置设置2个载荷步,来模拟牛顿摆的2个动作(具体请看Step7):第一个载荷步结束时间设置为0.2s;第二个载荷步结束时间设置为1s;其余设置保持默认。Step7载荷设置小球在重力作用下做圆周运动,所以首先需要设置一个标准地球重力,并修改重力方向;玩牛顿摆需要2步:第一步抬起右边的第一个小球;第二步放开它,让它做圆周运动并撞击下一个小球。在ANSYS中,我们通过2个载荷步实现:载荷步1:在右边的第一个小球的运动副上施加一个运动副载荷,类型为转动,并设置转动角度为30°,载荷步结束时间为0.2s,来模拟第一步抬起小球30°;载荷步2:取消激活载荷步1中设置的运动副载荷,载荷步结束时间为1s,实现松开小球的动作,此时牛顿摆开始运行;Step7结果我们提取两个运动(最右边和最左边)小球的动能结果:1. 观察最右边小球的动能结果发现:小球在0.375s时动能最大,为0.54774mJ。此时小球摆到了最低点,重力势能全部转化成了动能;2. 观察最左边小球的动能结果发现:小球也是在0.375s时动能最大,为0.54734mJ。此时小球在最低点,以此看出,最左边小球的动能全部传递给了最右边小球。对于一些专业的多体动力学软件,如MSC的Adams等,做这样的仿真比ANSYS就简单多了,以下是笔者用Admas做的牛顿摆运动仿真,花费的时间不到ANSYS的三分之一。注:本文 做的只是一个示意性算例,结果不具备实际工程意义。

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈