Abstract
Using Python scripting it is possible to automate the pre-processing, solving and post-processing stages of finite element analysis using ABAQUS software. This is particularly useful when running multiple models parametrically. When the model involves a bony part, it is necessary to assign material properties based on the CT scan to represent bone heterogeneity, and unfortunately this cannot currently be done from within ABAQUS using software such as Bonemat [1]. To address this issue a Python package was written called ‘py_bonemat_abaqus’ to assign material properties from within ABAQUS. The purpose of this study was to compare the material assignments of py_bonemat_abaqus and Bonemat, to compare the processing speed, and to describe the workflow.
The software packages were compared using a CT scan of a half pelvis downloaded from the VAKHUM database, and the associated hexahedral finite element mesh of the left half pelvis. To examine different element types, the hexahedral mesh was converted to linear and quadratic tetrahedral elements by dividing each hexahedron into 5 tetrahedral elements. The equations used to convert the Hounsfield Unit (HU) values to apparent density (papp), and to convert the apparent density to elastic modulus (E) are shown in Equations 1&2 [2].
Equation 1: papp = −0.021075 + 0.000786 HU
Equation 2 E = 2.0173 papp2.46
The time taken to analyse the models by each software was assessed using a Windows 7 PC with a 64-bit operating system, 4 CPUS, 8 GB of RAM and an Intel Core I5-3470 processor.
The mean difference between the moduulus assignment made by py_bonemat_abaqus and Bonemat was −0.05 kPa (range −10.19 to 4.50 kPa, standard deviation 0.62 kPa). The Python package took a similar time to run for all element types; this was between 109 and 126 s. Bonemat software was significantly faster, and took between 5 and 20 s. Finally, the Python package was successfully used from within a Python script to perform material assignment from within ABAQUS software in a fully automated manner.
Material assignments were almost equivalent between the two software packages, with any differences explainable by rounding effects. To put the differences into context, a difference of −0.05 kPa is 0.00000002% of the typical modulus of cortical bone (20.7 GPa), and 0.00000003% of the modulus of trabecular bone (14.8 GPa) [3]. The Python package was slower to process the models, but was successfully able to assign material properties from within ABAQUS software as part of an automated script.