Post on 18-Jun-2020
transcript
Citation for published version:Pegg, E & Gill, H 2016, 'An open source software tool to assign the material properties of bone for ABAQUSfinite element simulations', Journal of Biomechanics, vol. 49, no. 13, pp. 3116-3121.https://doi.org/10.1016/j.jbiomech.2016.07.037
DOI:10.1016/j.jbiomech.2016.07.037
Publication date:2016
Document VersionPeer reviewed version
Link to publication
Publisher RightsCC BY-NC-ND
University of Bath
General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.
Take down policyIf you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediatelyand investigate your claim.
Download date: 26. Jun. 2020
1
An open source software tool to assign the material properties of bone for 1
ABAQUS finite element simulations 2
Elise C Pegg1*, Harinderjit S Gill1 3
1 Department of Mechanical Engineering, University of Bath, Bath, UK 4
5
* Corresponding Author: 6
Dr Elise C Pegg 7
Department of Mechanical Engineering 8
University of Bath, Bath 9
BA2 7AY 10
Tel: 01225 383375 11
Email: e.c.pegg@bath.ac.uk 12
13
Keywords: Material properties; Bone; Finite Element; Python. 14
Word Count: 1,989 15
16
2
Abstract 17
A new software tool to assign the material properties of bone to an ABAQUS finite element mesh was created and compared 18
with Bonemat, a similar tool originally designed to work with Ansys finite element models. Our software tool 19
(py_bonemat_abaqus) was written in Python, which is the chosen scripting language for ABAQUS. The purpose of this study 20
was to compare the software packages in terms of the material assignment calculation and processing speed. Three element 21
types were compared (linear hexahedral (C3D8), linear tetrahedral (C3D4) and quadratic tetrahedral elements (C3D10)), 22
both individually and as part of a mesh. 23
Comparisons were made using a CT scan of a hemi-pelvis as a test case. A small difference, of -0.05 kPa on average, was 24
found between Bonemat version 3.1 (the current version) and our python package. Errors were found in the previous 25
release of Bonemat (version 3.0 downloaded from www.biomedtown.org) during calculation of the quadratic tetrahedron 26
Jacobian, and conversion of the apparent density to modulus when integrating over the Young’s modulus field. These issues 27
caused up to 2 GPa error in the modulus assignment. For these reasons, we recommend users upgrade to the most recent 28
release of Bonemat. 29
Processing speeds were assessed for the three different element types. Our Python package took significantly longer (110 30
s on average) to perform the calculations compared with the Bonemat software (10 s). Nevertheless, the workflow 31
advantages of the package and added functionality makes ‘py_bonemat_abaqus’ a useful tool for ABAQUS users. 32
3
33
1 Introduction 34
Bone has heterogeneous material properties, and so in order to create representative finite element models it is essential 35
that the properties are correctly described in order to draw useful results. It is possible to calculate the apparent density of 36
bone from a Computed Tomography (CT) scan. Once the density is known, it can be used to calculate the Young's modulus 37
value, typically using a power equation. Opinion varies as to which mathematical relationships are the most appropriate to 38
use. Helgason et al. have published a comprehensive review on the area (Helgason, Perilli et al., 2008) and it is not the 39
purpose of this study to go into further detail on the subject. 40
What we are concerned with is the practical implementation of such mathematical relationships when using the finite 41
element software ABAQUS (Simulia, Dassault Systèmes, Paris, France). It is possible to make such material assignments for 42
an ABAQUS input file using commercial segmentation software, such as Simpleware (Simpleware Ltd., Exeter, UK) or Mimics 43
(Materialise, Leuven, Belgium), but the cost of such software can be prohibitive. Researchers at the Istituto Ortopedico 44
Rizzoli in Bologna, Italy, have created a software program called Bonemat to help with accurate material assignment for a 45
finite element mesh. Bonemat is publically available and can be freely downloaded, making it a useful research tool. 46
However, it has three main limitations: 47
1. Bonemat will only work on Microsoft Windows, which can be a problem for users of other operating systems. 48
2. Bonemat is not currently compatible with ABAQUS models, so users have to convert their finite element meshes 49
into a compatible format, using an intermediate software such as Hypermesh (Altair Hyperworks, MI, USA) or 50
custom scripting, before material properties can be assigned. 51
3. All model information (aside from the mesh) is lost after material assignment; such as, boundary conditions, 52
element sets, or contact definitions. Redefining the element sets and model parameters can add significant time 53
to a project involving multiple models. 54
The algorithm used by Bonemat to calculate the material properties of bone from a CT scan has evolved over the years. The 55
first iteration (V1) calculated the average Hounsfield Unit (HU) value of all voxels found within an element; these were then 56
converted to the modulus of bone to use for the element material (Zannoni, Mantovani et al., 1999). The second iteration 57
(V2) used trilinear interpolation of the CT scan to more accurately estimate the HU value for each element node, and then 58
4
used numerical integration to compute the HU for the element volume, which was then converted to modulus (Taddei, 59
Pancanti et al., 2004). The third iteration (V3) first converted the CT scan voxels to modulus values, and then performed the 60
linear interpolation and numerical integration to find the modulus for each element volume. Taddei et al. demonstrated 61
V2 and V3 algorithms do result in different finite element model results. Strain calculated from models of a femur processed 62
with V2 and V3 algorithms were compared to strains measured experimentally. V3 results had a higher regression 63
coefficient with the experimentally measured strains (0.79) compared with V2 results (0.69) (Taddei, Schileo et al., 2007). 64
We have created an open-source software which has been written in Python (Python Software Foundation, NH, USA) and 65
aims to address the limitations of Bonemat for ABAQUS users. Python was an obvious choice for the program as it is the 66
scripting language used by ABAQUS; furthermore Python works with all operating systems, so the package is multi-platform. 67
It applies the same calculations as Bonemat, allows the same user options, but the mesh data input format is an ABAQUS 68
input file. Furthermore, the program does not remove or change any model parameters already defined in the input file, 69
such as boundary conditions, element sets, or contact definitions. The program also has the added functionality that it can 70
cope with multiple parts, and can ‘ignore’ parts which are not bone and so do not need material assignment. 71
The aims of this study were to: (1) assess equivalence between material assignment for individual elements using 72
Bonemat3.1 software (current version, Crimi, 2015), Bonemat3.0 software (previous version, Chiarini, 2006) and our Python 73
package ('py_bonemat_abaqus'), (2) assess equivalence for the modulus grouping and element assignment for a whole 74
bone, and (3) compare the speed of the two software packages. 75
2 Methodology 76
Material assignment is applied to a finite element mesh in two stages: (1) the software calculates the modulus for each 77
individual element, then (2) the modulus values for the entire mesh are grouped into bins to reduce computation time for 78
the finite element model. Equivalence was assessed separately for these two stages of the material assignment. First, the 79
numerical integration algorithm was checked on individual elements of controlled mesh quality. Second, modulus values 80
were calculated for a CT scan of a hemi-pelvis using the different software packages; this enabled the grouping algorithms 81
to be compared, and was representative of a typical study case. Lastly, the time taken for each software package to perform 82
the calculations on the hemi-pelvis meshes was assessed. 83
5
2.1 Creation of the 'py_bonemat_abaqus' Python package 84
All scripts were written to be compatible with Python version 2.6 and 2.7 (Python Software Foundation, www.python.org) 85
and were dependent on two other open-source packages: 'numpy' and 'pydicom'. The package can be installed from the 86
Python Package Index using 'pip' or 'easy-install'', or can be downloaded and manually installed using the setup.py script 87
(Pegg, 2015). Once installed, the user can either run the script from the command line, or include the statement 'import 88
py_bonemat_abaqus' in their python scripts, to process their ABAQUS input files. 89
2.2 Numerical integration accuracy and modulus assignment 90
The CT scan used was that of a pelvis downloaded from the VAKHUM database, created as part of a project funded by the 91
European Commission under the Information Society Technologies Programme. The dataset was provided by the 92
Laboratory of Human Anatomy and Embryology, University of Brussles (UBL), Belgium (Jan, 2005). 93
Ten single element input files were created with linear tetrahedral (C3D4), quadratic tetrahedral (C3D10), and linear 94
hexahedral (C3D8) elements, and randomly assigned nodal co-ordinates within the CT scan volume. All elements had a 95
Jacobian determinant greater than 0.2; this limit was recommended by Burkhart et al. for biomechanical studies of bone 96
(Burkhart, Andrews et al., 2013). The parameters used for the equivalence tests are summarised in Table 1, and described 97
schematically in Figure 1. The parameters used to convert HU to apparent density (ρapp) (Equation 1) and from ρapp to elastic 98
modulus (Equation 2) were based on reported values for the pelvis (Anderson, Peters et al., 2005). Numerical integration 99
across both the HU field (V2) and the modulus field (V3) were compared. 100
𝜌𝑎𝑝𝑝 =-0.021075 + 0.000786 HU Equation 1 101
𝐸 = 2.0173 𝜌𝑎𝑝𝑝2.46 Equation 2 102
The single element meshes were analysed using our ‘py_bonemat_abaqus’ Python package, Bonemat3.0 downloaded from 103
the BiomedTown website (Chiarini, 2006), and Bonemat3.1 from www.bonemat.org (Crimi, 2015). 104
6
2.3 Modulus grouping and assignment of multiple elements 105
The hexahedral finite element mesh of the left hemi-pelvis from the VAKHUM database was used for the material 106
assignment of the bone. The linear and tetrahedral meshes were created from the hexahedral mesh by dividing each 107
hexahedron into five tetrahedral elements. The hexahedral element mesh had 5,929 elements, the linear tetrahedral mesh 108
had 29,645 elements, and the quadratic tetrahedral mesh had 29,645 elements. Each model was analysed using the 109
parameters detailed in Table 1. Results were processed using both the V2 and the V3 algorithms. 110
2.4 Speed comparison 111
Python is an interpreted programming language, and therefore scripts written in Python are typically slower compared with 112
pre-compiled programs. For this reason, it was important to quantify any difference in speed. The time taken to analyse 113
the models described in Section 2.3 using the different software packages was assessed, each model was measured 5 times. 114
Tests were performed on a Windows 7 PC with a 64-bit operating system, with four CPUs, 8 GB of RAM, and an Intel Core 115
i5-3470 processor. 116
3 Results 117
The assigned modulus values for individual elements were very similar between the newest release of Bonemat (Crimi, 118
2015) and our python package (Figures 2a-c). The mean absolute difference was -0.47 kPa (standard deviation: 13.55 kPa, 119
range: -35.00 to 45.28 kPa). Modulus values from the older release of Bonemat were also similar for the linear hexahedral 120
and tetrahedral elements, with a mean absolute difference of -6.00 kPa (standard deviation: 16.67 kPa, range: -49.00 to 121
14.33 kPa). However, for the quadratic tetrahedral elements, the mean absolute difference was -0.19 GPa (standard 122
deviation: 1.43 GPa, range: -3.01 to 1.57 GPa) (Figure 2c). 123
Modulus assignment of the hemi-pelvis mesh (Figure 3) using the py_bonemat_abaqus software had a good agreement 124
with that calculated by the newest release of Bonemat (Figure 4, Table2). The mean absolute difference was -0.05 kPa 125
(range:-19.48 to 10.23 kPa, standard deviation: 0.62 kPa) (Table 2). The difference in modulus assignment was 126
approximately the same for both numerical integration methods (V2 or V3). 127
Conversely, the modulus assignment with the old version of Bonemat had a mean absolute difference 38.62 MPa 128
(range: -2193.52 to 1907.02 MPa) (Figure 5, Table 3). Furthermore, when using the V3 algorithm the error linearly increased 129
7
with modulus, which for the CT dataset investigated in this study introduced a maximum error of 2.19 GPa. Examination of 130
the results revealed that the equation to convert apparent density to modulus was not correctly applied when the 131
integration over modulus was selected in the software, which introduced the systematic error. 132
The Python package took longer to perform the calculations compared to both the releases of Bonemat (Figure 6). The 133
python package took a similar time to run for all element types, and this was between 109 and 126 s. The speed of the old 134
version of Bonemat (3.0) was dependent on the element type, ranging from 78s for a hexahedral mesh, to 102s for a 135
quadratic tetrahedral mesh. The newest version of Bonemat (3.1) was the fastest for all element types; the maximum time 136
taken was 20 s to process the quadratic tetrahedral mesh. 137
4 Discussion 138
The modulus values calculated by our python package closely matched those from the newest release of Bonemat (Crimi, 139
2015), and any differences were likely to be due to rounding effects. The average difference calculated for the whole CT 140
volume was -0.05 kPa, which to put into context is 0.00000002% of the typical modulus of cortical bone (20.7 GPa), and 141
0.00000003% of the modulus of trabecular bone (14.8 GPa) (Rho, Ashman et al., 1993). 142
Bonemat3.0 had an error in the quadratic tetrahedron modulus calculation which resulted in large differences in modulus 143
assignment. It was possible to reproduce erroneous results by modifying the Jacobian calculation; the two different Jacobian 144
equations are provided as supplementary information. When the representative study case of the hemi-pelvis was analysed 145
for quadratic tetrahedral elements, this calculation error was found to introduce an error of up to 2 GPa, which could have 146
a significant impact on study results. A second bug was observed in the old version of Bonemat software for the V3 147
calculation, where the equation to convert apparent density to modulus was not correctly applied and introduced additional 148
errors. These results call into question the accuracy of published studies which have used Bonemat3.0 to assign materials 149
to quadratic tetrahedral elements. We recommend that users update their Bonemat software to the newest version which 150
has addressed these issues. 151
The python package ‘py_bonemat_abaqus’ took 6 to 24 times longer to process the models, depending on the element 152
type, compared to the newest release of Bonemat. This increased run time may be an issue for extremely large models or 153
high resolution CT datasets, however, the research time that will be saved by users not having to convert the file format of 154
8
the mesh, or perform manual edits to the input file to re-assign element sets prior to solving the model, may offset the 155
increased time to assign the material properties. 156
In summary, the ‘py_bonemat_abaqus’ Python package produced equivalent results to Bonemat3.1 (the current release), 157
but not to Bonemat3.0 (the previous version from the BiomedTown website) which contained some calculation errors. The 158
‘py_bonemat_abaqus’ Python package was slower to process the models, but will provide ABAQUS users with a useful 159
method to assign material properties of bone to finite element models, with an easier workflow, fewer limitations, and as 160
it is written in Python, it can be directly incorporated into scripts written to interact with ABAQUS. Through collaboration 161
with the Instituto Ortopedico Rizzoli in Bologna, work is underway to incorporate the ABAQUS input and output parts of the 162
'py_bonemat_abaqus' script into Bonemat. 163
Acknowledgements 164
The methodology and general algorithm for the Python package was based upon the original Bonemat software and we 165
would like to thank the Istituto Ortopedico Rizzoli in Bologna, Italy for their work. Furthermore, the CT scan and finite 166
element mesh used for the testing was from the VAKHUM database, which was kindly provided by the Laboratory of Human 167
Anatomy and Embryology, University of Brussels (ULB) in Belgium and the Istituto Ortopaedico Rizzoli. We would also like 168
to thank the Python Software Foundation, and the Python Package Index, for enabling the source code to be hosted online 169
so other researchers can download and use the ‘py_bonemat_abaqus’ package. 170
Conflict of Interest 171
The authors did not receive payment or services from any third party for any aspect of the submitted work. The authors 172
have received support for research projects which were unrelated to the present study. 173
References 174
Anderson, A. E., Peters, C. L., Tuttle, B. D., Weiss, J. A., 2005. Subject-Specific Finite Element Model of the Pelvis: 175 Development, Validation and Sensitivity Studies. Journal of Biomechanical Engineering 127, 364-373. 176
Burkhart, T. A., Andrews, D. M.,Dunning, C. E., 2013. Finite element modeling mesh quality, energy balance and validation 177 methods: A review with recommendations associated with the modeling of bone tissue. Journal of Biomechanics 178 46, 1477-1488. 179
Chiarini, A., 2006. Download Bonemat Software. Retrieved 6/8/2015, 2015, from 180 https://www.biomedtown.org/biomed_town/B3C_Building/products/bonemat/download_html/. 181
Crimi, G., 2015. Bonemat. Retrieved 6/8/2015, 2015, from http://www.bonemat.org/downloads.php. 182
9
Helgason, B., Perilli, E., Schileo, E., Taddei, F., Brynjólfsson, S., Viceconti, M., 2008. Mathematical relationships between 183 bone density and mechanical properties: A literature review. Clinical Biomechanics 23, 135-146. 184
Jan, S. V. S., 2005. The VAKHUM Project: Virtual Animation of the Kinematics of the Human. Theoretical Issues in 185 Ergonomics Science 6.3-4, 277-279. 186
Pegg, E. ,2016. py_bonemat_abaqus.. Retreved 7/1/2016, 2016, from 187 https://pypi.python.org/pypi/py_bonemat_abaqus/ 188
Rho, J. Y., Ashman, R. B., Turner, C. .H., 1993. Young's modulus of trabecular and cortical bone material: ultrasonic and 189 microtensile measurements. Journal of Biomechanics 26, 111-119. 190
Taddei, F., Pancanti, A., Viceconti, M., 2004. An improved method for the automatic mapping of computed tomography 191 numbers onto finite element models. Medical Engineering and Physics 26, 61-69. 192
Taddei, F., Schileo, E., Helgason, B., Christofolini, L., Viceconti, M., 2007. The material mapping strategy influences the 193 accuracy of CT-based finite element models of bones: An evaluation against experimental measurements. 194 Medical Engineering and Physics 29, 973-979. 195
Zannoni, C., Mantovani, R., Viceconti, M., 1999. Material properties assignment to finite element models of bone 196 structures: a new method. Medical Engineering and Physics 20, 735-740. 197
Table and Figure Captions 198
Table 1. Parameters used when assessing equivalence between material assignments of the software packages. 199
Table 2. Summary of the modulus difference (py_bonemat_abaqus – Bonemat3.1) of the hemi-pelvis when analysed using 200 different elements and numerical integration algorithms. Results are shown in kPa. 201
Table 3. Summary of the modulus difference (py_bonemat_abaqus – Bonemat3.0) of the hemi-pelvis when analysed using 202 different elements and numerical integration algorithms. Results are shown in MPa. 203
Figure 1. Schematic illustration of the parameters detailed in Table 1 and how they influence the grouping of the modulus 204 results. 205
Figure 2. Comparison of the modulus values output by Bonemat3.1 and Bonemat3.0 to the py_bonemat_abaqus python 206 package, for the (a) linear hexahedron, (b) linear tetrahedron, and (c) quadratic tetrahedron (n=10) with the V2 algorithm. 207
Figure 3. Comparison of the modulus values assigned to the hexahedral mesh of the hemi-pelvis by py_bonemat_abaqus 208 and Bonemat 3.1 using the V3 algorithm. An anterior-posterior view of the whole mesh is shown, and a cross-sectional view 209 through the volume centroid. 210
Figure 4. Bland Altman plots summarising the difference in assigned modulus (in GPa) for the hemi-pelvis mesh for all 211 element types combined. Differences shown compare the py_bonemat_abaqus to Bonemat 3.1 analysed with (a) the V2 212 algorithm, (b) the V3 algorithm. Bland-Altman plots with kPa y-axis scales are provided as supplementary information 213
Figure 5. Bland Altman plots summarising the difference in assigned modulus (in GPa) for the hemi-pelvis mesh for all 214 element types combined. Differences shown compare the py_bonemat_abaqus to Bonemat 3.0 analysed with (a) the V2 215 algorithm, (b) the V3 algorithm. 216
Figure 6. Summary of the time taken for each software to perform the calculations and output the modified mesh file for 217 the three element types. Error bars represent the standard deviation in the time measurement (n=5). Tests were 218 performed on a Windows 7 PC with a 64-bit operating system, with four CPUs, 8 GB of RAM, and an Intel Core i5-3470 219 processor. 220
221
10
Tables and Figures 222
Parameter Description Set value
Gap Value Modulus interval used when grouping the modulus values 0.01 GPa
Integration order Order of the numerical integration used across the element 4
CT calibration coefficients [ρapp=a+b HU]
Calibration parameters a and b of the equation used to calculate the apparent density of bone (ρapp) from the CT Hounsfield Unit (HU)
a = -0.021075, b = 0.000786
Calibration correction Option which allows correction of the calibration with up to three linear correlation.
Not applied
Modulus calculation parameters [E=a+b ρapp
c ] Parameters a, b and c of the power equation used to convert the apparent density of bone to Young's modulus
a = 0, b = 2.0173, c = 2.46
Minimum modulus value Any modulus values below the minimum are changed to the minimum value
0.000001
Table 1. Parameters used when assessing equivalence between material assignments of the software packages. 223
Element Type Algorithm Mean Absolute Difference Standard Deviation Minimum Maximum
Linear Hex V2 -0.11 0.96 -18.38 6.91
Linear Tet V2 -0.18 0.09 -0.24 0.05
Quad Tet V2 0.00 0.13 -6.15 4.27
All Elements V2 -0.10 0.39 -18.38 6.91
Linear Hex V3 -0.07 0.92 -19.48 10.23
Linear Tet V3 0.05 1.47 -10.01 0.45
Quad Tet V3 0.00 0.16 -6.90 5.11
All Elements V3 -0.01 0.85 -9.48 10.23
All results combined -0.05 0.62 -19.48 10.23
Table 2. Summary of the modulus difference (py_bonemat_abaqus – Bonemat3.1) of the hemi-pelvis when analysed using 224 different elements and numerical integration algorithms. Results are shown in kPa. 225
Element Type Algorithm Mean Absolute Difference Standard Deviation Minimum Maximum
Linear Hex V2 0.00 0.00 -0.04 0.02
Linear Tet V2 0.00 0.08 -0.14 10.00
Quad Tet V2 -0.21 36.58 -2193.52 1242.79
All Elements V2 -0.07 12.22 -2193.52 1242.79
Linear Hex V3 81.06 108.60 5.70 672.33
Linear Tet V3 75.68 121.16 -2.38 812.07
Quad Tet V3 75.18 124.04 -1226.69 1907.02
All Elements V3 77.31 117.93 -1226.69 1907.02
All results combined 38.62 65.08 -2193.52 1907.02
Table 3. Summary of the modulus difference (py_bonemat_abaqus – Bonemat3.0) of the hemi-pelvis when analysed using 226 different elements and numerical integration algorithms. Results are shown in MPa. 227
11
228
Figure 1. Schematic illustration of the parameters detailed in Table 1 and how they influence the grouping of the modulus 229 results. 230
a. b. 231
c. 232
Figure 2. Comparison of the modulus values output by Bonemat3.1 and Bonemat3.0 to the py_bonemat_abaqus python 233 package, for the (a) linear hexahedron, (b) linear tetrahedron, and (c) quadratic tetrahedron (n=10) with the V2 algorithm. 234
12
235
Figure 3. Comparison of the modulus values assigned to the hexahedral mesh of the hemi-pelvis by py_bonemat_abaqus 236 and Bonemat 3.1 using the V3 algorithm. An anterior-posterior view of the whole mesh is shown, and a cross-sectional view 237 through the volume centroid. 238
a. b. 239
13
Figure 4. Bland Altman plots summarising the difference in assigned modulus (in GPa) for the hemi-pelvis mesh for all 240 element types combined. Differences shown compare the py_bonemat_abaqus to Bonemat 3.1 analysed with (a) the V2 241 algorithm, (b) the V3 algorithm. Bland-Altman plots with kPa y-axis scales are provided as supplementary information 242
a. b. 243
Figure 5. Bland Altman plots summarising the difference in assigned modulus (in GPa) for the hemi-pelvis mesh for all 244 element types combined. Differences shown compare the py_bonemat_abaqus to Bonemat 3.0 analysed with (a) the V2 245 algorithm, (b) the V3 algorithm. 246
247
248
Figure 6. Summary of the time taken for each software to perform the calculations and output the modified mesh file for 249 the three element types. Error bars represent the standard deviation in the time measurement (n=5). Tests were 250 performed on a Windows 7 PC with a 64-bit operating system, with four CPUs, 8 GB of RAM, and an Intel Core i5-3470 251 processor. 252
253
14
Supplementary Information 1 254
Jacobian calculation for a quadratic tetrahedron by the ‘py_bonemat_abaqus’ Python package. 255
Assuming the shape functions defined in Equation 1, where l, r, s, and t represent the natural co-ordinate system of a 256 tetrahedron, the differentiation with respect to each of the natural co-ordinates is shown in Equations 2-5. Based on these 257 differentiated shape functions, the Jacobian can be calculated using the natural co-ordinates and the nodal co-ordinates 258 [(x1, y1, z1), (x2, y2, z2) … (x10, y10, z10)] using Equation 6 (the more compact transpose matrix is shown). 259
260
𝑁 =
[ (2𝑙 − 1)𝑙(2𝑟 − 1)𝑟(2𝑠 − 1)𝑠(2𝑡 − 1)𝑡
4𝑙𝑟4𝑟𝑠4𝑙𝑠4𝑙𝑡4𝑟𝑡4𝑠𝑡 ]
(1) 261
𝛿𝑁
𝛿𝑙=
[ 4𝑙 − 1
0004𝑟04𝑠4𝑡00 ]
𝛿𝑁
𝛿𝑟=
[
04𝑟 − 1
004𝑙4𝑠004𝑡0 ]
𝛿𝑁
𝛿𝑠=
[
00
4𝑠 − 1004𝑟4𝑙004𝑡 ]
𝛿𝑁
𝛿𝑡=
[
000
4𝑡 − 10004𝑙4𝑟4𝑠 ]
(2), (3), (4), (5) 262
𝐽𝑇 = 4
[ 1
4𝑥1 (𝑙 −
1
4) + 𝑥5𝑟 + 𝑥7𝑠 + 𝑥8𝑡 𝑦1 (𝑙 −
1
4) + 𝑦5𝑟 + 𝑦7𝑠 + 𝑦8𝑡 𝑧1 (𝑙 −
1
4) + 𝑧5𝑟 + 𝑧7𝑠 + 𝑧8𝑡
1
4𝑥2 (𝑟 −
1
4) + 𝑥5𝑙 + 𝑥6𝑠 + 𝑥9𝑡 𝑦2 (𝑟 −
1
4) + 𝑦5𝑙 + 𝑦6𝑠 + 𝑦9𝑡 𝑧2 (𝑟 −
1
4) + 𝑧5𝑙 + 𝑧6𝑠 + 𝑧9𝑡
1
4𝑥3 (𝑠 −
1
4) + 𝑥6𝑟 + 𝑥7𝑙 + 𝑥10𝑡 𝑦3 (𝑠 −
1
4) + 𝑦6𝑟 + 𝑦7𝑙 + 𝑦10𝑡 𝑧3 (𝑠 −
1
4) + 𝑧6𝑟 + 𝑧7𝑙 + 𝑧10𝑡
1
4𝑥4 (𝑡 −
1
4) + 𝑥8𝑙 + 𝑥9𝑟 + 𝑥10𝑠 𝑦4 (𝑡 −
1
4) + 𝑦8𝑙 + 𝑦9𝑟 + 𝑦10𝑠 𝑧4 (𝑡 −
1
4) + 𝑧8𝑙 + 𝑧9𝑟 + 𝑧10𝑠]
𝑇
(6) 263
Jacobian calculation used by the old release of the Bonemat software 264
The shape functions used for the old release of Bonemat software (Chiarini, 2006) were the same, but l was defined as 265 equal to1-r-s-t, and then a 3x3 Jacobian matrix was used (Equation 7). This Jacobian calculation was erroneous. 266
267
J = [
𝑥1(1 − 4𝑙) + 𝑥2(4𝑟 − 1) + 𝑥5(4𝑙 − 4𝑟) + (𝑥6 − 𝑥7)4𝑠 + (𝑥9 − 𝑥8)4𝑡 … 𝑠𝑎𝑚𝑒 𝑓𝑜𝑟 𝑦 … 𝑠𝑎𝑚𝑒 𝑓𝑜𝑟 𝑧
𝑥1(1 − 4𝑙) + 𝑥3(4𝑠 − 1) + 𝑥7(4𝑙 − 4𝑠) + (𝑥4 − 𝑥5)4𝑟 + (𝑥10 − 𝑥8)4𝑡 … 𝑠𝑎𝑚𝑒 𝑓𝑜𝑟 𝑦 … 𝑠𝑎𝑚𝑒 𝑓𝑜𝑟 𝑧
𝑥1(1 − 4𝑙) + 𝑥4(4𝑡 − 1) + 𝑥8(4𝑙 − 4𝑡) + (𝑥9 − 𝑥5)4𝑟 + (𝑥10 − 𝑥7)4𝑠 … 𝑠𝑎𝑚𝑒 𝑓𝑜𝑟 𝑦 … 𝑠𝑎𝑚𝑒 𝑓𝑜𝑟 𝑧
] (7) 268
269
15
Supplementary Information 2 – Individual Bland Altman Plots 270
Algorithm Linear Hexahedral Elements Linear Tetrahedral Elements Quadratic Tetrahedral Elements
V2
V3
271
Table S1. Bland Altman plots comparing the difference in modulus assignment with Bonemat3.1 and the 272 py_bonemat_abaqus package (py_bonemat_abaqus - Bonemat3.1) of an element mesh of the hemi-pelvis mesh. Difference 273 shown is in kPa. 274
275
16
Algorithm Linear Hexahedral Elements Linear Tetrahedral Elements Quadratic Tetrahedral Elements
V2
V3
Table S2. Bland Altman plots comparing the difference in modulus assignment with Bonemat3.0 and the 276 py_bonemat_abaqus package (py_bonemat_abaqus - Bonemat3.0) of an element mesh of the hemi-pelvis mesh. Difference 277 shown is in GPa. 278