python读取odb进行abaqus结果显示_在Abaqus中使用Python读取特征分析步中的特征值

这个月导师的课题要结题,需要做很多的Abaqus模拟分析。在做结构的屈曲线性摄动分析时,最后得到的每一帧的特征值在Result->Step/frame中得到,可是在abaqus.rpy中没有对应查看的Python命令,也无法输出特征值数据,难道要我每一个模型自己去记录特征值?在查找Abaqus Scripting Reference之后,原来对应每一帧有一个OdbFrame对象,可以通过Odb.getFrame(int frameNum)得到每一帧对象。该对象具有很多成员,而特征值在成员Description。OdbFrame对象数据如下:

({'associatedFrame': None, 'cyclicModeNumber': None, 'description': 'Mode 10: EigenValue = 1.4657', 'domain': MODAL, 'fieldOutputs': 'Repository object', 'frameId': 1, 'frameValue': 10.0, 'frequency': None, 'incrementNumber': 1, 'isImaginary': False, 'loadCase': None, 'mode': 10})

所以,使用python进行处理如下:

eval(Odb.getFrame(10).discription.split("=").strip())

最后得到每一帧对应的特征值。

还有另外一种方法,就是解析dat文件,在dat文件的最后面,直接有每一帧的序号和特征值。

总体而言,这两种方法都略显笨重,没有美感和简洁性可言。如有其他简洁的方法,烦请告知,不胜感激。哈哈。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值