====Article abstract==== This article will introduce the efficient way to use Abaqus python script to access Abaqus odb field outputs. The considerations for Abaqus python scripting are given. A comparison of several unpacking styles to access odb outputs is made. The demonstration code is provided in Github. ---- == Considerations for Abaqus python performance == *Make use of correct Abaqus object model sequence unpacking. The style of sequence unpacking can significantly influence the efficiency of your Python scripts. *Make use python built-in functions. They are usually optimized for performance. *Make use of 3rd-party modules. They are usually optimized for performance. *In general, working with high-level objects is more efficient than working with low-level objects. *Avoid accessing attributes that require the use of computationally intensive methods. For example: minimize the number of calls to getSubset() and addData() methods. ---- ====Comparison of unpacking sytels==== Below describe the detailed step by step procedure you followed to solve the problem. It is better to also accompany this document with a youtube video. # Least efficient for i in range(len(myStress.values)) myStress.values[i].data # Moderate efficient tmpStressValues = myStress.values for i in range(len(tmpStressValues)): tmpStressValues[i].data # Most efficient for value in (myStress.values): value.data ---- ====References==== # ref 1 # ref 2