Eulerian Simulation of Large Deformations Shayan Hoshyari April, 2018
Some Applications 1 Biomechanical Engineering 2 / 11
Some Applications 1 Biomechanical Engineering 2 Muscle Animation 2 / 11
Some Applications 1 Biomechanical Engineering 2 Muscle Animation 3 Structural Engineering 2 / 11
A very general problem T 1 T 2 Solid 1 Solid 2 Fluid 3 / 11
A very general problem T 1 T 2 Solid 1 Solid 2 Fluid 3 / 11
A very general problem T 1 T 2 Solid 1 Solid 2 Fluid 1 Fluid variables: level set φ, pressure p, velocity v, (density ρ) 3 / 11
A very general problem T 1 T 2 Solid 1 Solid 2 Fluid 1 Fluid variables: level set φ, pressure p, velocity v, (density ρ) 2 Solid variables: velocity v, reference map ξ 3 / 11
A more specific problem Eulerian Solid Simulation with Contact D. I. Levin, J. Litven, G. L. Jones, S. Sueda, D. K. Pai, Siggraph 2011 4 / 11
A more specific problem Eulerian Solid Simulation with Contact D. I. Levin, J. Litven, G. L. Jones, S. Sueda, D. K. Pai, Siggraph 2011 Solid 1 Solid 2 4 / 11
A more specific problem Eulerian Solid Simulation with Contact D. I. Levin, J. Litven, G. L. Jones, S. Sueda, D. K. Pai, Siggraph 2011 Solid 1 Solid 2 No clamped boundaries. 4 / 11
A more specific problem Eulerian Solid Simulation with Contact D. I. Levin, J. Litven, G. L. Jones, S. Sueda, D. K. Pai, Siggraph 2011 Solid 1 Solid 2 No clamped boundaries. Frictionless contact. 4 / 11
A more specific problem Eulerian Solid Simulation with Contact D. I. Levin, J. Litven, G. L. Jones, S. Sueda, D. K. Pai, Siggraph 2011 Solid 1 Solid 2 No clamped boundaries. Frictionless contact. Large deformations. 4 / 11
A more specific problem Eulerian Solid Simulation with Contact D. I. Levin, J. Litven, G. L. Jones, S. Sueda, D. K. Pai, Siggraph 2011 Solid 1 Solid 2 No clamped boundaries. Frictionless contact. Large deformations. This presentation: formulation in 1-D. 4 / 11
Equations [ ] [ ρ ρv + T ] t ρv ρvv T σ = [ ] 0 ρg Conservation of mass and momentum. 5 / 11
Equations [ ] [ ρ ρv + T ] t ρv ρvv T σ = [ ] 0 ρg Conservation of mass and momentum. Fluids: σ = σ( v). 5 / 11
Equations ρ ρv + t ρξ ρv T 0 ρvv T σ = ρg ρξv T 0 Conservation of mass and momentum. Fluids: σ = σ( v). Solids: σ = σ(f = ( ξ) 1 ). 5 / 11
Equations ρ ρv + t ρξ ρv T 0 ρvv T σ = ρg ρξv T 0 Conservation of mass and momentum. Fluids: σ = σ( v). Solids: σ = σ(f = ( ξ) 1 ). No need to solve for ρ anymore, ρ det(f ) = ρ 0 5 / 11
Equations ρv t + (v )v = σ + ρg ξ t + (v )ξ = 0 ρ = ρ 0 det( ξ) Conservation of mass and momentum. Fluids: σ = σ( v). Solids: σ = σ(f = ( ξ) 1 ). No need to solve for ρ anymore, ρ det(f ) = ρ 0 5 / 11
Equations ρv t + (v )v = σ + ρg ξ t + (v )ξ = 0 ρ = ρ 0 det( ξ) Conservation of mass and momentum. Fluids: σ = σ( v). Solids: σ = σ(f = ( ξ) 1 ). No need to solve for ρ anymore, ρ det(f ) = ρ 0 Let s use a very simple stress model: σ = κ( F T F 1), κ = 10. 5 / 11
Equations ρv t + (v )v = σ + ρg ξ t + (v )ξ = 0 ρ = ρ 0 det( ξ) Conservation of mass and momentum. Fluids: σ = σ( v). Solids: σ = σ(f = ( ξ) 1 ). No need to solve for ρ anymore, ρ det(f ) = ρ 0 Let s use a very simple stress model: σ = κ( F T F 1), κ = 10. In 1-D: σ = κ( 1 ξ x 1) 5 / 11
Discretization e: i i+1 i+2 v: i i+1 i+2 i+3 Grid 6 / 11
Discretization e: i i+1 i+2 v: v i i+1 i+2 i+3 velocity 6 / 11
Discretization e: i i+1 i+2 v: i i+1 i+2 i+3 reference map ξ 6 / 11
Discretization e: i Ω i+1 i+2 i v: i i+1 i+2 i+3 control volume 6 / 11
Discretization e: Ω i i i+1 i+2 v: i i+1 i+2 i+3 { ρv t = ρvv x + σ x + ρg ξ t = vξ x 6 / 11
Discretization e: Ω i i i+1 i+2 v: i i+1 i+2 i+3 { Ω i (ρv t = ρvv x + σ x + ρg) ξ t = vξ x 6 / 11
Discretization e: Ω i i i+1 i+2 v: { i i+1 i+2 i+3 dv m i i dt dξ i dt = m i (vv x ) i + (σ i+1/2 σ i 1/2 ) + m i g + O( x) = (vξ x ) i 6 / 11
Discretization e: Ω i i i+1 i+2 v: { i i+1 i+2 i+3 dv m i i dt dξ i dt = m i (vv x ) i + (σ i+1/2 σ i 1/2 ) + m i g + O( x) = (vξ x ) i m i : subsampling, bisection, non-linear solve, etc. 6 / 11
Discretization e: Ω i i i+1 i+2 v: { i i+1 i+2 i+3 dv m i i dt dξ i dt = m i (vv x ) i + (σ i+1/2 σ i 1/2 ) + m i g + O( x) = (vξ x ) i m i : subsampling, bisection, non-linear solve, etc. (vv x ) i = max(v i, 0) v i v i 1 x + min(v i, 0) v i+1 v i x 6 / 11
Discretization e: Ω i i i+1 i+2 v: { i i+1 i+2 i+3 dv m i i dt dξ i dt = m i (vv x ) i + (σ i+1/2 σ i 1/2 ) + m i g + O( x) = (vξ x ) i m i : subsampling, bisection, non-linear solve, etc. (vv x ) i = max(v i, 0) v i v i 1 x (ξ x ) i+1/2 = ξ i+1 ξ i x + min(v i, 0) v i+1 v i x 6 / 11
Discretization e: Ω i i i+1 i+2 v: { i i+1 i+2 i+3 dv m i i dt dξ i dt = m i (vv x ) i + (σ i+1/2 σ i 1/2 ) + m i g + O( x) = (vξ x ) i m i : subsampling, bisection, non-linear solve, etc. (vv x ) i = max(v i, 0) v i v i 1 x + min(v i, 0) v i+1 v i x (ξ x ) i+1/2 = ξ i+1 ξ i x { σ((ξ x ) σ i+1/2 = i+1/2 ) x i+1/2 inside solid 0 otherwise 6 / 11
Discretization Continued System of ODEs Mv t = R v (v, ξ) ξ t = R ξ (v, ξ) 7 / 11
Discretization Continued System of ODEs Mv t = R v (v, ξ) ξ t = R ξ (v, ξ) Explicit Euler Find M 7 / 11
Discretization Continued System of ODEs Mv t = R v (v, ξ) ξ t = R ξ (v, ξ) Explicit Euler Find M Mv (t+ t) = Mv (t) + tr v (v (t), ξ (t) ) = R v (v (t), ξ (t) ) 7 / 11
Discretization Continued System of ODEs Mv t = R v (v, ξ) ξ t = R ξ (v, ξ) Explicit Euler Find M Mv (t+ t) = Mv (t) + tr v (v (t), ξ (t) ) = R v (v (t), ξ (t) ) Extrapolate v (t+ t) to all the domain. 7 / 11
Discretization Continued System of ODEs Mv t = R v (v, ξ) ξ t = R ξ (v, ξ) Explicit Euler Find M Mv (t+ t) = Mv (t) + tr v (v (t), ξ (t) ) = R v (v (t), ξ (t) ) Extrapolate v (t+ t) to all the domain. ξ (t+ t) = ξ (t) + tr ξ (v (t+ t), ξ (t) ) 7 / 11
Squeezing an Object ρ 0 1 v(x, t = 0) = 0 ξ(x, t = 0) = 10x ρ(t=0) -1 1 squeeze ξ Solution: Link 1-0.1 0.1 x 8 / 11
Collision g n s n b Solid v s v b i i+1 i+2 i+3 Barrier 9 / 11
Collision g n s n b Solid v s v b i i+1 i+2 i+3 Barrier Constraint: g t = v b n b + v s n s 0 9 / 11
Collision g n s n b Solid v s v b i i+1 i+2 i+3 Barrier Constraint: g t = v b n b + v s n s 0 Matrix form: Jv b 9 / 11
Collision g n s n b Solid v s v b i i+1 i+2 i+3 Barrier Constraint: g t = v b n b + v s n s 0 Matrix form: Jv b Old time advance: Mv (t+ t) = R v (v (t), ξ (t) ) 9 / 11
Collision g n s n b Solid v s v b i i+1 i+2 i+3 Barrier Constraint: g t = v b n b + v s n s 0 Matrix form: Jv b Old time advance: Mv (t+ t) = R v (v (t), ξ (t) ) New time advance: v (t+ t) = arg min v ( 1 2 vt Mv + R T v v), subject to Jv b 9 / 11
Collision Example ρ(t=0) 1 v 0-2 Barrier -1 1 1.2 Barrier x v(x, t = 0) = 1 ξ(x, t = 0) = x Solution: Link Mesh dependence: Link 10 / 11
Challenges in Higher-Dimensions Finding M can be more complicated. 11 / 11
Challenges in Higher-Dimensions Finding M can be more complicated. Integrating Jv b requires surface reconstruction and collision detection. 11 / 11
Challenges in Higher-Dimensions Finding M can be more complicated. Integrating Jv b requires surface reconstruction and collision detection. Velocity extrapolation needs finding the closest point to the surface. 11 / 11
Challenges in Higher-Dimensions Finding M can be more complicated. Integrating Jv b requires surface reconstruction and collision detection. Velocity extrapolation needs finding the closest point to the surface. The advection terms (v )(.) should be discretized carefully. 11 / 11