Skip to content

autotwin/ssm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ssm

  • Sierra Solid Mechanics simulations (content of this page, see below)
  • Smoothed meshes

Goal

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

Mesh Characteristics

  • 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).

Simulation Characteristics

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 time 20 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

At scale

References

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 reference Bob-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), around X axis ("yes" gesture head rotation).

Units

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.

Color Codes

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

Queue Reference

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/

SSM Questions

  • 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?

Appendix

The two-material model from the pixel repo is now deprecated in favor of the three-material model from the ensemble repo.

html style block

<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>

About

Sierra Solid Mechanics simulation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •