Select Git revision
hierarchy.md
-
Amira Abdel-Rahman authoredAmira Abdel-Rahman authored
hierarchy.md 5.92 KiB
Multi-Scale Hierarchical Modeling
Going from thousands of elements (FEA/DEM) to hundred of elements (Beam Theory) to tens of elements (Homogenization and hierarchy).
Example:
830 Nodes, 2111 edges > 75% less nodes and 82% less edges
264 Nodes, 1034 edges > 92% less nodes and 91% less edges
Hierarchy Implementation
-
Automated workflow to extract the elasticity tensor from voxel units
-
Detailed explanation here.
-
Steps
-
Get Microstructure
-
Apply 6 main harmonic displacements
-
Solve elasticity tensor to get young's modulus and poisson ratio
S=\frac{1}{E}\begin{vmatrix} 1& -\nu & -\nu & 0 & 0 &0\\\ -\nu& 1 & -\nu & 0 & 0 &0\\\ -\nu& -\nu &1 & 0 &0 &0\\\ 0& 0 &0 &2(1+\nu)&0 &0\\\ 0& 0 &0 &0&2(1+\nu)& 0\\\ 0& 0 &0 &0& 0 &2(1+\nu)\end{vmatrix}
-
Use these properties to for coarse simulation
- Global Properties Using Local Rules
-
Multi-Scale Implementation
- Best Representation for Multi-scale nodes and edges
- add the tag
multiscale
tosetup
- nodes
- add property
scale
= 1, 2, 4, 8 ..
- add property
- edges
- add property
order
(0 to 8) to each source/target (or bakerelPos
)-
0
is the nodal coordinate: ( 0, 0, 0) i.e. the center -
1
is the nodal coordinate: (-1,-1,-1) -
2
is the nodal coordinate: (-1, 1,-1) -
3
is the nodal coordinate: (-1,-1, 1) -
4
is the nodal coordinate: (-1, 1, 1) -
5
is the nodal coordinate: ( 1,-1,-1) -
6
is the nodal coordinate: ( 1, 1,-1) -
7
is the nodal coordinate: ( 1,-1, 1) -
8
is the nodal coordinate: ( 1, 1, 1)
-
- add property
- add the tag
- How to turn forces between two nodes into moments (based on this)
- transition of center of mass
- just add all forces that are applied in
updateNodes
at the beginning when updatingN_intForce
andN_intMoment
- just add all forces that are applied in
- Rotation
- in addition to the moment that is applied (
momentPos
/momentNeg
), add new moment which is the cross product between the relative position and the force
- in addition to the moment that is applied (
- transition of center of mass
- How to get edge end position and orientation
- orientation is the same as parent node (
oVNeg
andoVPos
) - rotate the nodal coordinates around the center of mass of node
- in
updateEdges
when updatingpVNeg
andpVPos
get position and shifted by therelPos
oriented byoVNeg
/oVPos
(is it as simple as angle normalized *relPos
)
- in
- orientation is the same as parent node (
Detailed TODO
-
create simple case study
- one scale 2 node surrounded by 8 scale 1 nodes
- prescribe/create json in julia/javascript
-
special visualization
- for bigger scales create 8 smaller cubes that are transparent
- small force on one of the nodes
- setup add all stuff written in point 1
-
run.jl
- see what special CUDA arrays have to be added
-
scale
to be added to material node -
multiscale
to material node -
E_relPosSource
andE_relPosTarget
to be added to edges - create special struct for Edges and nodes, or just add properties that do not change like source target or relPos to edge material
-
check that when you angle normalized *
relPos
the position is correct- code it (done with quaternions)
-
in
updateEdges
-
at the beginning update
pVNeg
andpVPos
-
at the end add moment (cross product) to
momentPos
ormomentNeg
-
at the beginning update
-
in
updateNodes
-
check
N_edgeID
to add edges connected - add all children forces
- add all children moments
-
check
-
Automatic efficient way to switch between both representations
- generation
- simulation
- visualization
Multi-Scale Hello World
- non axial forces
- new hierarchial representation with nodes having parents and children
10 nodes, 14 edges vs 3 nodes, 2 edges
Multi-Scale Case Study



Detailed | Hierarchical | Multi-scale | |
---|---|---|---|
# Edges | 980 | 127 | 75 |
# Nodes | 320 | 62 | 41 |
Memory | 100% | 14% | 9% |
# Timesteps | 50000 | 1000 | 1000 |
Speedup | 1x | 124x | 160x |
Accuracy | 100% | -- | -- |
dt ∝ particle mass, the smaller the particle the smaller dt, ∴ more timesteps needed
MADCAT






Future Steps
-
Detailed and hierarchical model comparison
-
Choose interesting case study
- Madcat (working with Ben)
- list physical parameters that could be changed to increase accuracy
- graph computational speedup vs accuracies
-
Choose interesting case study
- twist a,d anisotropic
- Timescales