You are here
Abaqus Python : reading odb file for field frame data
Hi,
I am running a python script to do some post processing on Abaqus odb file. While running it on Abaqus/Explicite output file I found it was taking more than usual time. And after timing the run I got the surprise that the most time consuming thing what just to read the time value for each frame. I have the script below.
def main():
odb=openOdb('F:/Scripting/.../.../Example.odb')
stkeys=odb.steps.keys()
stp=odb.steps[stkeys[-1]]
frms=stp.frames
frm_T=[(i,x.frameValue) for i,x in enumerate(frms)]
if __name__ == "__main__":
main()
For a perticular odb file (size 50MB) with 50 output frames. it takes about 9~10 sec just to read the "frameValue" for each frame. I have a very fast processor with 64GB memory so that is not a concern as well. But it takes time in I/O and every time I have to get a frameValue it seems to extract the data again and spends same amount of time.
I have tried many versions of this code but that doesn't make any difference. Even if I try just "print frms" it takes same amount to time. I need to solve this problem. And I can see other software such as Hypermesh, FE-SAFE reads this ODB file completely in 10 sec. with data of each node and element. And also it is just 50MB file so there must be something I can do to get information in memory rather than spending time in I/O.
Your help is really appreciated
Siddharth
- sidd04mech's blog
- Log in or register to post comments
- 13467 reads
Comments
odb
Subscribe to and seek assistance from the
ABAQUS mailing list
https://groups.yahoo.com/group/ABAQUS
or
http://www.eng-tips.com/threadminder.cfm?pid=799
or from the ResearchGate discussion forum.
Search the archive of the list before posting in it.
Good luck
Frank
I did search a lot on this
I did search a lot on this topic. But didn't find anything related. That's when I asked if anyone used any different approach to this problem or not.
Thank for the suggestion anyways.