Voxel Mesh with automesh
Mesh Creation
Use automesh to convert the segmentations into finite element meshes.
Remark: In the analysis below, we use the Exodus II output format (.exo) instead of the Abaqus output format (.inp).  The Exodus format results in faster mesh creation and smaller file size due to compression.
Resolution 1
automesh mesh hex -i spheres_resolution_1.npy \
-o spheres_resolution_1.exo \
--remove 0 \
--xtranslate -12 --ytranslate -12 --ztranslate -12
    automesh 0.3.3
     Reading spheres_resolution_1.npy
        Done 5.410958ms [4 materials, 13824 voxels]
     Meshing voxels into hexes [xtranslate: -12, ytranslate: -12, ztranslate: -12]
        Done 513.125µs [3 blocks, 6272 elements, 7563 nodes]
     Writing spheres_resolution_1.exo
        Done 9.939916ms
       Total 16.381583ms
Resolution 2
automesh mesh hex -i spheres_resolution_2.npy \
-o spheres_resolution_2.exo \
--remove 0 \
--xscale 0.5 --yscale 0.5 --zscale 0.5 \
--xtranslate -12 --ytranslate -12 --ztranslate -12
    automesh 0.3.3
     Reading spheres_resolution_2.npy
        Done 513.25µs [4 materials, 110592 voxels]
     Meshing voxels into hexes [xscale: 0.5, yscale: 0.5, zscale: 0.5, xtranslate: -12, ytranslate: -12, ztranslate: -12]
        Done 4.492458ms [3 blocks, 54088 elements, 59375 nodes]
     Writing spheres_resolution_2.exo
        Done 8.687541ms
       Total 16.362625ms
Resolution 3
automesh mesh hex -i spheres_resolution_3.npy \
-o spheres_resolution_3.exo \
--remove 0 \
--xscale 0.25 --yscale 0.25 --zscale 0.25 \
--xtranslate -12 --ytranslate -12 --ztranslate -12
    automesh 0.3.3
     Reading spheres_resolution_3.npy
        Done 14.784291ms [4 materials, 884736 voxels]
     Meshing voxels into hexes [xscale: 0.25, yscale: 0.25, zscale: 0.25, xtranslate: -12, ytranslate: -12, ztranslate: -12]
        Done 27.708125ms [3 blocks, 448680 elements, 470203 nodes]
     Writing spheres_resolution_3.exo
        Done 33.148125ms
       Total 94.863584ms
Resolution 4
automesh mesh hex -i spheres_resolution_4.npy \
-o spheres_resolution_4.exo \
--remove 0 \
--xscale 0.1 --yscale 0.1 --zscale 0.1 \
--xtranslate -12 --ytranslate -12 --ztranslate -12
    automesh 0.3.3
     Reading spheres_resolution_4.npy
        Done 2.846917ms [4 materials, 13824000 voxels]
     Meshing voxels into hexes [xscale: 0.1, yscale: 0.1, zscale: 0.1, xtranslate: -12, ytranslate: -12, ztranslate: -12]
        Done 430.685042ms [3 blocks, 7145880 elements, 7281019 nodes]
     Writing spheres_resolution_4.exo
        Done 464.796625ms
       Total 1.119838875s
Visualization
Cubit is used for the visualizations with the following recipe:
reset
cd "/Users/chovey/autotwin/automesh/book/analysis/sphere_with_shells"
import mesh "spheres_resolution_1.exo" lite
graphics scale on
graphics clip off
view iso
graphics clip on plane location 0 -1.0 0 direction 0 1 0
view up 0 0 1
view from 100 -100 100
graphics clip manipulation off
view bottom
| resolution | 1 vox/cm | 2 vox/cm | 4 vox/cm | 10 vox/cm | 
|---|---|---|---|---|
| midline |  |  |  |  | 
| isometric |  |  |  |  | 
| block 1 (green) #elements | 3,648 | 31,408 | 259,408 | 4,136,832 | 
| block 2 (yellow) #elements | 1,248 | 10,400 | 86,032 | 1,369,056 | 
| block 3 (magenta) #elements | 1,376 | 12,280 | 103,240 | 1,639,992 | 
| total #elements | 6,272 | 54,088 | 448,680 | 7,145,880 | 
| Exodus file | spheres_resolution_1.exo(401 kB) | spheres_resolution_2.exo(3.2 MB) | spheres_resolution_3.exo(25.7 MB) | spheres_resolution_4.exo(404 MB) | 
| Abaqus file | spheres_resolution_1.inp(962 kB) | spheres_resolution_2.inp(8.5 MB) | spheres_resolution_3.inp(73.6 MB) | spheres_resolution_4.inp(1.23 GB) |