abaqus python二次开发攻略_基于CAE二次开发进行弹簧批量建模

c3c3ec5667b9cdbdb2122965f268a4e6.png

一、 为什么要进行弹簧批量建模

当一个公司或者学者从事科研任务时,往往通过有限元进行建模分析,建模的时间通常与工作效率挂钩。例如ABAQUS/CAE建模,想必很多老用户都有某种共同的感受,那就是实体模型并不繁杂,真正繁杂的是一些虚拟连接的建立,例如弹簧、阻尼、连接器之类大规模的建立,往往这些虚拟传力单元的建立决定着建模时间的长或短。这类现象在很多专业领域都有突显,尤其是在交通领域尤为突出,大批量的建立弹簧连接,往往需要半天甚至更加长的时间,而且使人产生恶心、厌烦、无聊等负面情绪。

针对上述存在的问题,小编痛下决心,基于python进行二次开发,旨在解决很大一部分通用弹簧连接的批量建立。

二、 通用弹簧模型案例(一)

小编用最简单的模型来演示这个程序的可行性,首先基于ABAQUS建立一个10m×10m×10m的立方块,命名为Part-1如图所示:

e87a3a206ccf84c583d3750eb2bf3df3.png

其次,将该模型再进行复制一个,命名为Part-2。

模型参数定义为普通钢材。

5acac57110d79ef0474fa0ae641a6a43.png

d037ba43ea77c42e82a0353a0ea31117.png

将模型Part-1、Part-2进行装配,两者之间进行密贴,如图:

d322a417b561359b4a769903a4a722e3.png

分析步设置为静力通用。

c072fc8184418ab6822b3437f215e248.png

将全局网格设置为1,相当于每条边切分出10段,每段1m。

d92ca946102d5f0b2ae8ff801d5f212b.png

将用户界面打开到Interaction中,将Setsprings的python脚本文件放在工作路径下。

6481c7a828fcd1edae82cd783bf7a7c1.png

点击File→Run Script,出现界面

26c949e0619e161c90c24f553d2ccb67.png

选择.py文件

e3ab22675e067efe3ea4c475172a5e09.png

输入第一个部件Part-1,回车

70ad4dc07989d634719bb5a7db95963b.png

输入第二个部件Part-2,回车

1e017f9cc5bc82f7e72766fa44cf577b.png

输入用来识别建立弹簧的两点距离临界值,0.1。在这里也可以输入其他的值,但是必须遵循一个原则,输入值必须小于网格长度!

回车

dcfdc9aa3a39bd2e4e05b9ce85962907.png

输入每个弹簧的刚度值,弹簧总刚度为30e6N/m,一共有11*11个弹簧,两者之商就是输入值。

33d3c13b658facc06ea28b16a14394dc.png

输入阻尼值,静力不采用阻尼,因此随意输入一个参数即可。

回车。

我们在记录栏将看到fasteners setup successfully,证明弹簧已经建立好。

6bef1858dae559f571cf170f73aad3ff.png

491a109b103a6f6d43ebc381d08f088e.png

效果不是很明显,我们在装配中将上方绿色部件向Y轴正偏移5m,再回到Interaction中可看见。

9216236dd1280c778a4f43804cb352a2.png

bc6d4615e2d008edca75a9e715beb098.png

此时,我们的弹簧已经做好了。

在上方加载30e6的荷载,下方固定。

e60d4ef49cc992b44e4eca662a4a092d.png

提交计算。如图所示,模型位移为1m,而之前的总刚度为30e6N/m,荷载大小为30e6N,因此验证成功。

f06152df6c0b2209d2aa4783779499fb.png

三、 应用于轨道交通扣件批量建立案例

78ced343790cba10190a027827558f12.png

随着轨道交通的快速发展,越来越多线路选用无砟轨道。对于有砟轨道而言,轨道结构的弹性主要由道砟提供;但对于无砟轨道而言,轨道结构的弹性主要由扣件系统的非金属弹性垫板提供。扣件系统在无砟轨道弹性方面起非常重要的作用。

d797e3e0369db9d24ecd374d3233223f.png

无砟轨道中,扣件间距一般为0.6m-0.65m之间,这大大增加了有限元工程师们建模的难度。静力学中轨道长度一般在20m左右(三块单元板的长度),共计66个扣件,如果一个扣件做两个弹簧连接点,一共需要连接132点,还是很可观的。如若进行动力学仿真,一般轨道长度都超过了100m,此时的扣件大概在333个左右,要连接666个。上述所说的情况都是建立在弹簧模型简化的基础上,如果一个扣件下需要建立大于2个弹簧连接,此时的工作量将会是成倍的增加。

接下来我们将ABAQUS/CAE批量建立弹簧系统应用于轨道交通专业领域。

建立如图所示的钢轨、轨枕、道床板。

024372d993d3719cc9a2f50663ca6613.png

30b0cbaf0c80bf240bae2ca39da7287f.png

接下来我们将ABAQUS/CAE批量建立弹簧系统应用于轨道交通专业领域。

建立如图所示的钢轨、轨枕、道床板。

将钢轨命名为rail60、轨枕命名为sleeper。

首先进行网格划分,钢轨和轨枕的网格尺寸设置为0.05m。以便于共节点设置。

d72a0fd5cbbebc2ffff866ea7403aa2e.png

292b13dd7f9410bd0094848d87d56d27.png

接下来进行扣件系统的批量建模。File→Run Script→setsprings.py。

输入第一个部件rail60

bdccfda01e4e93afe56d5a051a15cf03.png

输入第二个部件sleeper

17cb1daaa93a750b8d57fa4cc7d7ae1c.png

输入截断长度0.01m

566eb5511c0cc81d23b390c502e2d5c4.png

输入刚度,这时候需要注意一个轨枕点是4*6=24个弹簧。总刚度假设为50kN/mm,因此一个弹簧的刚度大概是2.1kN/mm,输入2.1e6。

5840d0c54ebf0280662efb6d843186fa.png

阻尼一个扣件为5e4,每根弹簧则为2083。

2f4fb4d7b8b3bb494d4a2ac965715551.png

信息区提示:fasteners setup successfully。此时,扣件已经批量设置好。接下来进行效果展示:

ffa9ff6505bb4ae3c89eee08ba531cc2.png

cf8f55f02cca9bdc085eb3bf39e1ace9.png

656afc39f4ab79e1b16c10c856297338.png

基于Python二次开发进行弹簧的批量操作,不仅能快速建立用户所需弹簧,而且可有效的节省很大一部分建模时间。在轨道交通领域尤其适用。

全程视频如下:

购买课程,您将获得一份上述完整案例代码。:

http://www.fangzhenxiuxiu.com/course/681512?price=charge (二维码自动识别)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值