Them bones, them bones: finite element bone-modelling
Posted: 27 Jan 2015 | 22:16
I have been re-architecting the solver-side of VOX-FE, a voxel-based finite element bone modelling suite developed by Prof. Michael Fagan's Medical & Biological Engineering group at the University of Hull. The suite comprises a GUI (you can read more about it in this blog post) and a linear solver. VOX-FE creates bone models made up of small cuboid elements by directly converting Computed Tomographic data into these elements. This circumvents the problems faced by the more common method of model creation via mesh interpolation (loss of detail, scaling issues). VOX-FE's approach makes modelling an entire skull with surrounding soft tissue a realisable goal. However, it’s not quite there yet.
Bone model made up of voxel elements
Until recently, VOX-FE could at best model small bones of up to 20-30 million elements, capturing some of the micro-scale internal structure typical of bones (eg trabeculae). The existing MPI-based solver, “PARA_BMU”, outputs the final stresses and strains of a force-constrained bone by solving a linear elasticity problem in parallel. However, PARA_BMU does not scale well beyond 256 cores, nor can it handle the 100 billion elements needed to model an entire skull.
Enter the new solver that Iain Bethune, Nick Brown and I have been working on. Based on the PETSc library (a suite of data structures and routines for the scalable, parallel, solution of scientific applications modelled by partial differential equations), the new solver easily scales beyond 256 cores, can handle very large-scale models, multiple material problems and can utilise advanced parallelism beyond MPI (pthreads, hybrid MPI-pthreads, and even CUDA for future GPU architectures). Furthermore, the new solver can choose from PETSc's many different solver routines to suit different problems, making it more powerful and more flexible.
We are currently fitting the new PETSc-based solver into the heart of the VOX-FE suite, replacing the existing solver completely. Our developments will improve maintainability and simplify the addition of new functionality such as adaptive remodelling, where parts of the bone surface can grow or diminish. Palaeobiologists could, for example, use this to virtually reconstruct partially recovered fossil bones so that they are functionally sound, replacing usual methods of painstaking reconstruction.
Current and previous collaborations between Hull and EPCC ("Improved I/O performance for larger voxel-based simulations", M. J. Fagan, I. Bethune, N. Johnson) have improved the VOX-FE suite on many fronts, making it an increasingly attractive modelling tool for a wide and diverse community of bone researchers.
All images courtesy of R. Holbrey and M. J. Fagan