你在这里
Abaqus Python:读取字段帧数据的odb文件
星期三,2017-09-06 09:07 -sidd04mech
你好,
我正在运行一个python脚本,对Abaqus odb文件做一些后期处理。当在Abaqus/Explicite输出文件上运行它时,我发现它花费了比平时更多的时间。在计算完运行时间后,我惊讶地发现,最耗时的事情就是读取每一帧的时间值。我有下面的脚本。
def main ():
odb = openOdb (F: /脚本/…/…/ Example.odb”)
stkeys = odb.steps.keys ()
stp = odb.steps [stkeys [1]]
纳= stp.frames
frm_T=[(i,x. framevalue) for i,x in enumerate(frms)]
如果__name__ == "__main__":
main ()
对于一个特定的odb文件(大小50MB),有50个输出帧。读取每一帧的“frameValue”大约需要9~10秒。我有一个非常快的处理器,有64GB内存,所以这也不是一个问题。但它在I/O中需要时间,每次我必须获得一个frameValue,它似乎再次提取数据,并花费相同的时间。
我已经尝试了这个代码的许多版本,但没有任何区别。即使我试着打印纳“这需要同样多的时间。我需要解决这个问题。我可以看到其他软件,如Hypermesh, FE-SAFE在10秒内完全读取这个ODB文件,包括每个节点和元素的数据。而且它只有50MB的文件,所以我必须做一些事情来获取内存中的信息,而不是花费时间在I/O上。
非常感谢你的帮助
哈斯。
»
- sidd04mech的博客
- 登录或注册发表评manbetx体育论
- 12319年读
评论
odb
订阅及寻求协助
ABAQUS邮件列表
https://groups.yahoo.com/group/ABAQUS
或
http://www.eng-tips.com/threadminder.cfm?pid=799
或者在ResearchGate论坛上。
在发布之前搜索列表的存档。
祝你好运
弗兰克
我在这上面搜了很多
我确实在这个话题上搜索了很多。但没有发现任何相关信息。那时我问有没有人用不同的方法来解决这个问题。
谢谢你的建议。