当前位置: 首页 > news >正文

ABAQUS应用04——集中质量的添加方法

文章目录

  • 0. 背景
  • 1. 集中质量的编辑
  • 2. 约束的设置
  • 3. 总结

0. 背景

混塔ABAQUS模型中,机头、法兰等集中质量的设置是模型建立过程中的一部分,需要研究集中质量的添加。

1. 集中质量的编辑

集中质量本身的编辑没什么难度,我已经用Python代码将其实现。具体代码片段如下:

def add_point_mass(PointMassInfo):'''通过参数化:param PointMassInfo: txt2caeinputdata返回的PointMass信息,[(height1, mass1),(height2, mass2),...]:return:'''a = m.rootAssemblyfor i, item in enumerate(PointMassInfo):RP_i = a.ReferencePoint(point=(0.0, 1000*item[0], 0.0))refPoints_i = (a.referencePoints[RP_i.id],)region = a.Set(referencePoints=refPoints_i, name='Set-PM' + str(i+1))a.engineeringFeatures.PointMassInertia(name='Inertia-'+ str(i+1), region=region, mass=item[1], alpha=0.0, composite=0.0)

2. 约束的设置

集中质量的添加必须配合约束的设置,可以通过一些手段来检验集中质量添加是否成功,具体方法可以点击这里。感谢原作者分享!
这里将作者的总结放在下面:
在这里插入图片描述
此外,还需要注意,在编辑约束的时候,需要设置Coupling类型。我的塔架结构将其设为运动就会出问题,设为连续分布就没有问题。具体原因我现在并没有完全弄明白,如果有懂的网友可以留言指导一下,先行谢过!
在这里插入图片描述

3. 总结

事实上,编辑约束部分也可以用代码实现。不过因为我现在遇到了其他更重要的问题,所以在确定集中质量的设置方式以后,并没有在这里深究。等后面模型跑通了,在考虑这部分内容的改进。
--------------------------20240220----------------------------------
完整代码如下,已包含添加约束的命令,适用于多个集中质量的添加

def add_point_mass(a, PointMassInfo, PM_instance_list, refpoint_list, refheight_list):''':param a: 装配体名称:param PointMassInfo: txt2caeinputdata返回的PointMass信息,[(height1, mass1),(height2, mass2),...]:param PM_instance_list: 用于给集中质量添加约束的实例的名称列表:param refpoint_list: 集中质量添加约束区域的参考点列表,用于选择约束区域:param refheight_list: 集中质量添加约束区域的高度列表,用于选择约束区域:return:'''for i, item in enumerate(PointMassInfo):RP_i = a.ReferencePoint(point=(0.0, 1000*item[0], 0.0))refPoints_i = (a.referencePoints[RP_i.id],)PM_setname = 'Set-PM' + str(i+1)        # 设定集中质量参考点的region = a.Set(referencePoints=refPoints_i, name=PM_setname)# 质量信息按照kg为单位给出,ABAQUS中需要按照吨给出,此处应进行单位换算a.engineeringFeatures.PointMassInertia(name='Inertia-'+ str(i+1), region=region, mass=item[1]/1000, alpha=0.0, composite=0.0)controlPoint_region = a.sets[PM_setname]s1 = a.instances[PM_inatances_list[i]].faces    # 集中质量需要绑定的实例的名称,获取其所在面的集合side1Faces1 = s1.findAt(((refpoint_list[i], 1000*refheight_list[i], 0),))surface_region = a.Surface(side1Faces=side1Faces1, name='m-sur-PM-'+str(i+1))m.Coupling(name='Constraint-PM'+str(i+1), controlPoint=controlPoint_region,surface=surface_region, influenceRadius=WHOLE_SURFACE, couplingType=DISTRIBUTING,weightingMethod=UNIFORM, localCsys=None, u1=ON, u2=ON, u3=ON, ur1=ON,ur2=ON, ur3=ON)
http://www.lryc.cn/news/303270.html

相关文章:

  • [嵌入式系统-24]:RT-Thread -11- 内核组件编程接口 - 网络组件 - TCP/UDP Socket编程
  • 【ansible】认识ansible,了解常用的模块
  • 【LeetCode】升级打怪之路 Day 01:二分法
  • 单片机stm32智能鱼缸
  • 面试经典150题——生命游戏
  • 【C++】C++11下线程库
  • 面试经典150题——矩阵置零
  • 多端开发围炉夜话
  • 分治算法总结(Java)
  • 【云原生系列之kubernetes】--Ingress使用
  • 练习:鼠标类设计之2_类和接口
  • 【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson 15 At the Department Store 在百货商店
  • linux 安装、删除 JTAG驱动
  • CSS的伪类选择器:nth-child()
  • python celery使用队列
  • 四非保研之旅
  • 基于Java+SpringBoot的旅游路线规划系统(源码+论文)
  • AI与测试自动化:未来已来
  • 深度学习基础之《TensorFlow框架(6)—张量》
  • 第三百六十六回
  • Fiddler工具 — 18.Fiddler抓包HTTPS请求(一)
  • 多租户数据库的缓冲区共享和预分配方案设计
  • C++:C++入门基础
  • 利用System.Web.HttpRuntime.Cache制作缓存工具类
  • 266.【华为OD机试真题】抢7游戏(深度优先搜索DFS-JavaPythonC++JS实现)
  • 工具分享:在线键盘测试工具
  • Arcmap excel转shp
  • 14. rk3588自带的RKNNLite检测yolo模型(python)
  • 心理辅导|高校心理教育辅导系统|基于Springboot的高校心理教育辅导系统设计与实现(源码+数据库+文档)
  • 字符串方法挑战