Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Assign material properties of bone to a finite element mesh

Project Description


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.

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(56.9 kB) Copy SHA256 Hash SHA256
Source None May 31, 2016

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers