随时间变化的最值输出:Abaqus数据可视化方法

最近做项目,需要输出abaqus中最大应变值随时间变化的曲线,但是翻了很多帖子都没找到相关的,所以后来自己写了个Python代码,用以提取最大值。需要用到这个功能的同学把代码里的注释删掉直接运行就行。

viewportName = session.currentViewportName
j=getInput('how much frame','0')  #要提取多少帧的最值,默认为0
         #这一步也可以用在step上,我的需求始终是step-1,所以没写那部分代码,和帧数的代码同理
a=int(j)+1
i=1
while i<a:
    cobject = session.viewports[viewportName].odbDisplay.setFrame(step=0, frame=i)
    #有兴趣的朋友可以print一下cobject1,看看odbDisplay里面包含了哪些函数
    i+=1
    cobject = session.viewports[viewportName].odbDisplay.contourOptions
    #同上,想学习的朋友可以print一下cobject,
    print("step=1", "frame=", i-1)
    print(cobject.autoMaxValue)#输出最大值
    print(cobject.autoMinValue)#输出最小值


值得注意的是,代码里step和frame的值都比实际值要小1,比如我要提取本来是step-1的数值,但是代码里要写成step=0。当然我的代码并不完整,这样输出的max/min只显示在abaqus底部信息栏,还需要在Excel中处理数据。为了减少工作量,大家还可以添加直接写入Excel处理数据的步骤,也可以完善二次开发,自动更改显示组,更改输出变量,尽量实现只需要run script,然后就能game over的。


之前做Python-abaqus二次开发一直在用宏录制.py文件,然后在此基础上修改,后来在知乎上跟一位大佬学习意识到这样做的局限性,大家在学习时,尽量把帮助文档和.py文件结合起来,因为abaqus中每个函数库里都包含了极其丰富的函数,.py文件不会把我们的操作全部录制进去,这时就需要print一下,看看这个库里都包括哪些函数,然后结合帮助文档进行学习。比如我就是通过py文件找到了contourOptions这个函数,又在帮助文档中找到了maxvalue这一变量。

输出方法:abaqus最值随时间变化的图1

1615390041(1).jpg

输出方法:abaqus最值随时间变化的图3


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空