- Sierra Solid Mechanics simulations (content of this page, see below)
- Smoothed meshes
- Reproduce the Mil Med workflow.
- Substitute BCs: Compare RMU
8 krad/s
8 ms
boundary condition. - Substitute mesh: Substitute Bob model with Autotwin three material model (deprecated: two material model).
Create a high-resolution mesh (1-mm^3 cubic element size) mesh:
cp ~/autotwin/mesh/tests/files/IXI012-HH-1211-T1_tiny_test.yml ~/autotwin/ssm/geometry/a001/.
cd ~/autotwin/ssm/geometry/a001
mv IXI012-HH-1211-T1_tiny_test.yml a001.yml
# edit a001.yml
# create the mesh
cd ~/autotwin/mesh
source .venv/bin/activate.fish
cd ~/autotwin/ssm/geometry/a001
npy_to_mesh a001.yml > a001.log
# manual copy from local to HPC
# macOS local finder, command+K to launch "Connect to Server"
# smb://cee/chovey
# copy [s1088757]~/autotwin/ssm/geometry/a001/a001.e.1.0 to [eclipse]~/autotwin/ssm/geometry/a001/a001.e.1.0
Boundary Condition | Mesh |
---|---|
![]() |
![]() ![]() ![]() |
![]() |
![]() ![]() ![]() |
Figure 1: Reproduction of boundary condition and mesh figures.
Note: View reproducibility in Cubit:
# example with bob
import mesh "/Users/chovey/autotwin/ssm/geometry/bob-1mm-5kg-helmet2-hemi.g" lite
# block 12 and higher, visibility set to off # gui command
graphics scale on
view iso
view up 0 0 1 # z-axis up
view from 1000 -1000 1000
help clip
Graphics Clip {on|off} [ Plane <options> | [Location <location>] [Direction <direction>]]
Graphics Clip Manipulation {on|off}
# graphics clip on location (42.3 - 24.8)/2 + 24.8 (32.1 - 8.8)/2 + 8.0 (23.9 - 4.0)/2 + 4.0 direction -1 0 0
# graphics clip on location 33.55 20.45 13.95 direction -1 0 0
# reference page 73 of Terpsma 2020 SAND report for x-axis cut plane
graphics clip on location 33.6315 0 0 direction -1 0 0
graphics clip manipulation off
# example with a001
Cubit>
import mesh "/Users/chovey/autotwin/ssm/geometry/a001/a001.e.1.0" lite
# block 4 visibility off # gui command
graphics scale on
view iso
view up 0 0 1 # z-axis up
view from 1000 -1000 1000
# graphics clip on location 15.5/2 18.5/2 15.5/2 direction -1 0 0 # center point of the domain in a001.log
graphics clip on location 7.55 9.25 7.75 direction -1 0 0 # center point of the domain in a001.log
graphics clip manipulation off
- The spheres mesh is 5,496,376 elements, 400 MB.
- The Mil Med mesh has 4,631,316 elements, 328 MB.
- The a001 (IXI012-HH-1211-T1_large.npy -> a001.e.1.0) has 4,329,925 elements (2,389,783 void block 0, 240,895 bone block 1, 448,654 csf block 2, 1,250,593 brain block 3), 220 MB (see table).
Table 1: Simulation index.
item | sim |
mesh | bc (ms, krad/s) | T_sim (ms) | machine | # proc | cpu time (hh:mm) | wall time (days) |
---|---|---|---|---|---|---|---|---|
0 | vox_0.1cm |
spheres | 8, 8 | 20 | skybridge | 160 | 01:43 | 12 |
1 | bob066b |
Bob | 10, 3 | 6.57 | eclipse | 336 | 04:00 | 56 |
2 | bob067 |
Bob | 10, 3 | 10 | eclipse | 336 | 02:35 | 36 |
Figure 2a: Analysis of time to completion for simulations.
Reference:autotwin/ssm/analysis/simulaton_time_to_completion.xlsx
item | sim |
mesh | bc (ms, krad/s) | T_sim (ms) | machine | # proc | cpu time (hh:mm) | wall time (days) |
---|---|---|---|---|---|---|---|---|
3 | bob068 |
Bob | 10, 3 | 20 | eclipse | 336 | 05:57 | 83 |
4 | bob069 |
Bob | 10, 3 | 20 | eclipse | 700 | 04:00 | 117 |
Figure 2b: Bob sims expanded to 20 ms, 336 versus 700 processors.
item | sim |
mesh | bc (ms, krad/s) | T_sim (ms) | machine | # proc | cpu time (hh:mm) | wall time (days) |
---|---|---|---|---|---|---|---|---|
5 | a001 |
10, 3 | 20 | eclipse | 336 | 02:86 | - | |
6 | a001_skybridge |
10, 3 | 20 | skybridge | 336 | 03:36 | - |
Figure 2c: Autotwin a001 sim in context on elipse and skybride.
Figure 3: Autotwin a001 MPS with anvil boundary conditions (falling toward head, positive z direction, then rotating nose up.)
item | sim |
bc (ms, krad/s) | T_sim (ms) | machine | # proc | cpu time (hh:mm) |
---|---|---|---|---|---|---|
7 | a002 |
8, 8 | 20 | ghost | 336 | 00:48 |
ambient | cross-section |
---|---|
![]() |
![]() |
Figure 4: Autotwin a002 MPS at
t=0
, full view and axial section view.
Figure 5: Autotwin a002 MPS evolution at
delta_t = 1 ms
, simultion time20 ms
.
ssh eclipse
cd ~/autotwin/ssm/geometry/a001
# use `submit_script` to decompose the geometry for 336 processors
cd ~/autotwin/ssm/input/a001
# edit a001.i
# check the ssm input file
module purge
module load sierra
export PSM2_DEVICES='shm,self'
IFILE="a001.i"
adagio --check-syntax -i $IFILE
adagio --check-input -i $IFILE
./submit_script
Axes | Figure |
---|---|
X axis is right to left ("yes" gesture head rotation).Z axis is vertical (inferior to superior axis in Figure 4-9),* Y axis horizontal (anterior to posterior axis in Figure 4-9). |
![]() |
Linear Acceleration | Rotational Acceleration | Rotational Velocity |
---|---|---|
![]() |
![]() |
![]() |
Figure 4
Bob-066b
- Terpsma 2020 SAND, at page 22, Table 3-1, helmeted Bob onto inclined anvil is simulation referenceBob-066b
. Boundary condition: experimental angular velocity time history (Figure 4-11), which is a time integration of the angular acceleration time history (Figure 4-10), aroundX
axis ("yes" gesture head rotation).
All simulations herein use the Centimeter-Gram-Second (CGS) system. In this system, the unit of force is the dyne, which is defined as the force required to accelerate a mass of one gram at a rate of one centimeter per second squared. Length units are centimeters. Mass units are grams. Time units are seconds.
R | G | B | R | G | B | Block | Hex |
---|---|---|---|---|---|---|---|
0.961 | 0.871 | 0.702 | 245 | 222 | 179 | 1 |
F5DEB3 |
1 | 0.647 | 0 | 255 | 165 | 0 | 2 |
FFA500 |
1 | 0 | 0 | 255 | 0 | 0 | 3 |
FF0000 |
0.333 | 0.42 | 0.184 | 85 | 107 | 47 | 4 |
556B2F |
1 | 0.843 | 0 | 255 | 215 | 0 | 5 |
FFD700 |
0 | 1 | 1 | 0 | 255 | 255 | 6 |
00FFFF |
0.745 | 0.745 | 0.745 | 190 | 190 | 190 | 7 |
BEBEBE |
0.412 | 0.412 | 0.412 | 105 | 105 | 105 | 8 |
696969 |
0.804 | 0.361 | 0.361 | 205 | 92 | 92 | 9 |
CD5C5C |
0.824 | 0.706 | 0.549 | 210 | 180 | 140 | 10 |
D2B48C |
mywcid
sinfo
squeue -u chovey
squeue -u chovey --start
# .bash_profile alias shortcuts
alias sq="squeue -u chovey"
alias ss="squeue -u chovey --start"
# Sample scripts are available in /projects/samples/
- Why does this no longer work:
# new, run this first
export PSM2_DEVICES='shm,self'
# then
# DRY code
IFILE="bob069.i"
echo "Check syntax of input deck: $IFILE"
adagio --check-syntax -i $IFILE # to check syntax of input deck
# echo "Check syntax of input deck ($IFILE) and mesh loading"
adagio --check-input -i $IFILE # to check syntax of input deck and mesh load
- How do determine the number of equations being solved, not just the number of elements?
The two-material model from the pixel
repo is now deprecated
in favor of the three-material model from the
ensemble
repo.
<style>
.bone {
background-color: #F5DEB3;
}
.disc {
background-color: #FFA500;
}
.vasculature {
background-color: #FF0000;
}
.airway_sinus {
background-color: #556B2F;
}
.membrane {
background-color: #FFD700;
}
.csf {
background-color: #00FFFF;
}
.white_matter {
background-color: #BEBEBE;
}
.gray_matter {
background-color: #696969;
}
.muscle {
background-color: #CD5C5C;
}
.skin {
background-color: #D2B48C;
}
</style>