abaqus python二次开发攻略_使用python二次开发解决abaqus的mises曲线绘制

熟悉abaqus的人知道,对于mises应力的问题,abaqus的解决方法是先得到精确的积分点的Mises应力的解,再通过外推的方法得到节点的解。所以当你使用xydate输出节点MISES应力的时候,会得到多个值,但是如果输出高斯积分点的MISES时,会得到一个值。

如果你非常喜欢用xydate,你会发现有一个功能无法实现,就是获得模型整体的最大的Mises应力曲线。因为XYdate是基于固定节点或者单元的,而模型的最大应力单元随着工况的变化在不断的变换。

上面说了一些废话,其实想表达一个意思,再abaqus中的结果文件中是只有高斯积分点的应力的。(如我理解错误请及时指出),所以通过python的二次开发,实现abaqus所有增量步下基于积分点的Mises的表格输出与最大值查找成为可能。

目标1:在结构树的XYDATE中生成一个新的date,这个date的x选项是所有的增量步(或者时间),Y选项是每个增量步(或者时间)时模型基于积分点的最大Mises应力值。

目标2:找出整个模型MISES应力最大的单元的编号,及对应的step和frame

例:一个典型的螺栓工况,共有4个step,依次是预紧、紧固、固定螺栓长度和加载

1. 打开odb文件(必须操作)

2. 使用开发的插件:MaxMisesCurve,选择默认选项,点击OK

v2-b61a96dac25b298e4112a3fddd26cbf4_b.jpg

3. 3.稍等几秒。在对话框里会显示目标2的内容

v2-f1c3a8105be400d9cd233af6bc4029bb_b.jpg

4. .接下来到结构数中,找到生成的xydate

v2-77bc86ebd1fcf231fbf47b14b164a96b_b.jpg

这里说明下,X不是steptime。因为我想实现总时间,但是没有找到相应的熟悉,所以我用了一个增量的方法。如果step1实际由3个frame,step2有2个frame。我这里的x则是从0到4.一共5个。如果想得到时间的X的值,使用自带的xydate,任意选一个单元输出个值,把这个xydate的值替换到我这里就是以时间为增量的X值。

5. .绘制xydate曲线

v2-2e57ef05515b9a48fc8df375aa03f569_b.jpg

6. 可看出maxMises的变化,同时可以看出,不是最后时刻的最大。

7. 6.结果对比 由3和5,6中 都可以看到是load载荷步第一个frame的值最大,查看云图,先切换成单元积分点应力云图

v2-4893154bf5b6a57d24b486a5110cee6b_b.jpg

11. 然后分布对比load载荷步中的几个值

v2-8fec4e9934017b2bcc2066c82c29f5eb_b.jpg

可以看到,完美符合。说明该工具可靠。

插件源文件:

使用python二次开发解决abaqus的mises曲线绘制​www.jishulink.com
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值