Skip to main content

Assign material properties of bone to a finite element mesh

Project description

Version: Version 1.0.9
Authors: Dr Elise Pegg (University of Bath)
Prof Richie Gill (University of Bath)


This python package provides tools to add material properties of bone to an ABAQUS finite element model input file, where the modulus of each element is defined based upon its corresponding CT data using the Hounsfield Unit (HU) and input parameters.

The package aims to be equivalent to Bonemat software developed by researchers in Bologna, Italy, but tailored for ABAQUS finite element users. The original Bonemat can be found at, and further details can be found in published papers [1], [2], [3], [4]. For more information about the verification tests performed on this Python package, refer to the following journal article [5].


  • When this package is used to add materials to an ABAQUS input file, any model parameters (such as loading, sets, or step definitions) are retained.
  • The present version of this package will only work with:
    • linear and quadratic tetrahdral elements
    • linear wedge elements
    • linear hexahedral elements
  • To run the package, you need to have three files: a parameters file (.txt), an ABAQUS input file (.inp), and a CT scan (either as a series of dicom images in a folder, or as a .vtk file). Example files are provided in the example folder.
  • More information on this package can be found at the start of the code


If you decide to use this python package for your research, when publishing we kindly request that you cite the following paper [5].


The simplest and recommended way to install py_bonemat_abaqus is with pip. You may install the latest stable release from PyPI with pip using the following command:

>>> pip install py_bonemat_abaqus

If you do not have pip, you may use easy_install:

>>> easy_install py_bonemat_abaqus

Alternatively, you may download the source package from the PyPI page, extract it and install using:

>>> python install


  • Numpy - version 1.6 or higher
  • PyDicom - version 0.9.7 or higher


The package can be run either from the terminal, or imported into a python script.

To run from a terminal use the following syntax:

>>> py_bonemat_abaqus -p <parameters file> -ct <ct file/dir> -m <abaqus input file>

To run from within a python script, at the top of the file import the ‘run’ script from the package, and then execute with:

run(<parameters file>, < ct scan dir or vtk>, <abaqus input file>)

For example, if a python script containing the following two lines were saved in the examples folder of the source code, it would calculate the material properties of ‘example_abaqus_mesh.inp’:

from import run



[1]Helgason B, Taddei F, Palsson H, Schileo E, Cristofolini L, Viceconti M, Brynjolfsson S. (2008) Med Eng Phys 30 [4] p444-453:
[2]Taddei F, Schileo E, Helgason B, Cristofolini L, Viceconti M. (2007) Med Eng Phys 29 [9] p973-979:
[3]Taddei F, Pancanti A, Viceconti M. (2004) Med Eng Phys 26 [1] p61-69:
[4]Zannoni C, Mantovani R, Viceconti M. (1998) Med Eng Phys 20 [1] p735-740:
[5]Pegg EC, Gill HS. (2016) J Biomechanics. In Press.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for py_bonemat_abaqus, version 1.0.9
Filename, size File type Python version Upload date Hashes
Filename, size (56.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page