A Python Package to Assign Material Properties of Bone to Finite Element Models from within Abaqus Software

Research output: Contribution to conferencePosterpeer-review

277 Downloads (Pure)


Introduction: 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.
Materials & Methods: 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 papp 2.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.
Results: 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.
Discussion: 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.
References: [1] Taddei, F. et al. “The material mapping strategy influences the accuracy of CT-based finite element models of bones: An evaluation against experimental measurements” (2007) Med Eng Phys 29, p973-979.[2] Anderson, A.E. et al. “Subject-Specific Finite Element Model of the Pelvis: Development, Validation and Sensitivity Studies” (2005) J Biomech Eng 127, p364-373.[3] Rho, J.Y. et al. “Young's modulus of trabecular and cortical bone material: ultrasonic and microtensile measurements.” (1993) J Biomech 26 p111-119
Original languageEnglish
Publication statusPublished - 15 Sept 2016
EventEuropean Orthopaedic Research Society Meeting - Istituto Ortopedico Rizzoli, Bologna, Italy
Duration: 14 Sept 201616 Sept 2016
Conference number: 24


ConferenceEuropean Orthopaedic Research Society Meeting
Abbreviated titleEORS
Internet address


  • Material properties
  • Bone
  • Finite Element
  • Python


Dive into the research topics of 'A Python Package to Assign Material Properties of Bone to Finite Element Models from within Abaqus Software'. Together they form a unique fingerprint.

Cite this