Applications/Voxfe
Contents
Application Details
- Description: VOX-FE is voxel-based FE software, developed jointly between the University of Hull's Medical & Biological Engineering Research Group and Edinburgh Parallel Computing Centre, with a sophisticated graphical user interface that allows the complex loading regimes that are inevitably present in biomechanical analyses to be readily applied to the model geometry, and the resultant 3D stress and strain patterns to be visualized easily.
- Version: 2.0.1
- Modules: voxfe/2.0.1
- Licence: BSD license.
Usage
Description
Biological structures, such as bones, have complex geometries and variable material properties, and experience complex and varying applied loads, for example from muscular activity. Understanding the true biomechanical performance of these structures is therefore challenging. Experimental measurements can be extremely difficult, are usually not possible in humans, and are ethically undesirable in animals. Computational modelling is an alternative approach with many advantages over experimental methods.
VOX-FE is voxel-based finite element software specifically developed for the analysis of very large-scale, high-resolution models of complex biological structures. Voxel-based modelling allows us to go directly from microCT scan data to finite element models with minimal loss of data and geometry simplifications, thereby capturing all the complex internal and external features. It also allows the inclusion of local variation in material properties based on voxel greyscale value. It is these microscopic-level geometry and material property variations that explain much of the complex macroscopic behaviour of bone.
[username@login] module add voxfe/2.0.1
Parallel processing
Through SLURM this would become the script:
#!/bin/bash #SBATCH -J voxfe_dragonfly_mandibles #SBATCH -n 1 # number of cores (nodes) to use #SBATCH -N 1 # ensure that all cores are on the machine #SBATCH --ntasks-per-node 28 #SBATCH -D /home/user/Anax_mandible #SBATCH -o dlb.out #SBATCH -e dlb.err #SBATCH -p highmem # puts the job on a compute node #SBATCH --time=01:00:00 # maximum execution time #SBATCH --exclusive #SBATCH --mail-user= your email address here module add intel/mpi/64/5.1.3.181 module add petsc/3.7.5 module add parmetis/4.0.3 module add gcc/5.2.0 module add voxfe/2.0.1 mpirun VoxFESolver /home/user/Anax_mandible/mandible_Anax.voxfe_v2.script
The test script mandible_Anax.voxfe_v2.script has the following structure:
SET_SCRIPT_VERSION 2 SET_VOXEL_SIZE 1 1 1 1 LOAD_MATERIALS ./materials.txt SET_ALGORITHM_FEA KSPCG PCJACOBI SET_MAX_ITER 2 SET_TOLERANCE 1e-04 LOAD_MODEL 274 262 667 458430 ./mandible_Anax.voxfe_v2.model LOAD_CONSTRAINTS ./constraints.txt PRINT_DISPLACEMENTS ./displacement.txt
The test script materials.txt has the following structure:
1 17000 0.3 0
The test script constraints.txt has the following structure:
SELECT_NODE_3D 47 120 158 0 0 0 1 1 1 SELECT_NODE_3D 14 24 239 0 0 0 1 1 1 SELECT_NODE_3D 198 91 315 -0.2242305278255808 -0.523204564926355 -0.8221786020271296 0 0 0 SELECT_NODE_3D 264 109 285 -0.2242305278255808 -0.523204564926355 -0.8221786020271296 0 0 0 SELECT_NODE_3D 28 122 291 -4.658750347706978 -0.8152813108487211 -1.281156345619419 0 0 0 SELECT_NODE_3D 144 79 343 0 0 0 1 1 1
The test script displacements.txt (snippet) has the following structure:
10800406 56 87 149 5.673139571e+147 -1.004688730e+147 -1.004688730e+147 10800407 57 87 149 6.697924864e+146 -1.004688730e+146 -1.004688730e+146 10800408 58 87 149 0.000000000e+00 0.000000000e+00 0.000000000e+00 10800680 55 88 149 0.000000000e+00 0.000000000e+00 0.000000000e+00 10800681 56 88 149 -2.232641621e+146 6.697924864e+145 -1.674481216e+146 10800682 57 88 149 2.679169946e+146 2.511721824e+146 -2.511721824e+145 10800683 58 88 149 0.000000000e+00 0.000000000e+00 0.000000000e+00
This is then submitted as follows:
[username@login01 ~]$ sbatch voxfeDEMO.job Submitted batch job 289332