Applications/Voxfe

From HPC
Jump to: navigation , search

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. To understand 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 inclusion of local variation in material properties based on voxel grey scale value. It is these microscopic-level geometry and material property variations that explain much of the complex macroscopic behaviour of bone.


[username@login] module load 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

module load intel/mpi/64/5.1.3.181
module load petsc/3.7.5
module load parmetis/4.0.3
module load gcc/5.2.0
module load 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


Further Information

Icon home.png