Constitutive models Constitutive model: determines P in terms of deformation Elastic material: P depends only on current F Hyperelastic material: work is independent of path strain energy density function Ψ(F) analogous to f = U P = dψ/df P ij = dψ/df ij
Constitutive models Different choices of Ψ different models of elastic materials No deformation: Ψ(I) = 0 Rotation independence: Ψ(R F) = Ψ(F) Decompose F = R S. Ψ depends only on S, min when S = I
Corotated linear elasticity Quadratic in S: Ψ(F) = μ S I 2 + λ/2 tr 2 (S I) P(F) = 2 μ R (S I) + λ R tr (S I) μ, λ: Lamé parameters μ: resistance to stretching, shearing λ: resistance to volume change (because tr (S I) det F 1) Related to Young s modulus, Poisson s ratio
<latexit sha1_base64="ohztyd/nmmikh7ixafo7mxbaetw=">aaaduxicbdjba9swfabgnd6l627p9rgxstdi2bbsmnigfakdsrykhsxtiq5blmvhjsr7kpzvcp+j/zq9je3hte5dqtgtgi7pd45ukmozvdr3f+/0vdt3793ffbd38nhjj0/7+8/ovfzitky4y5m8ijaijaoy1vqzcpflgnjeyhm0+lt7+zpirtpxtzc5mxoucppqjlrnlfqfq17aqxgmemgzqsx4glwjrfg6egvd7wwkycjszdg6rbfamazqglwbb6ox/ye/8jcddoogcqaggael/d4sjdnccci0zkipwednem6q1bqzuu2fhsi5wiuukpknbejezc3mwbv8ztmxtdjpp6hhjut2gmsvknlkkznss9w2ovk/mxu6+tg3vosfjgjfl5qudoom1rchyyoj1qy0acks2r1cvet2xrs9461vmi8ktzd66yqm4vzfekf+4ixzjgitxpuxyb0tywfcdrjfcjraxlolwkhr7zuoy3bvlynxbswdllstrx1et3stb5m2pg6mbtxy8kinxw4et/hewzoqfo5b+/f1g7pxkpbhwdf3g8mkezi74av4cyygab/abhwbp2akmpgjfoe/4k934cfv6v1el/z2mp7nygt46h8df0er</latexit> <latexit sha1_base64="ohztyd/nmmikh7ixafo7mxbaetw=">aaaduxicbdjba9swfabgnd6l627p9rgxstdi2bbsmnigfakdsrykhsxtiq5blmvhjsr7kpzvcp+j/zq9je3hte5dqtgtgi7pd45ukmozvdr3f+/0vdt3793ffbd38nhjj0/7+8/ovfzitky4y5m8ijaijaoy1vqzcpflgnjeyhm0+lt7+zpirtpxtzc5mxoucppqjlrnlfqfq17aqxgmemgzqsx4glwjrfg6egvd7wwkycjszdg6rbfamazqglwbb6ox/ye/8jcddoogcqaggael/d4sjdnccci0zkipwednem6q1bqzuu2fhsi5wiuukpknbejezc3mwbv8ztmxtdjpp6hhjut2gmsvknlkkznss9w2ovk/mxu6+tg3vosfjgjfl5qudoom1rchyyoj1qy0acks2r1cvet2xrs9461vmi8ktzd66yqm4vzfekf+4ixzjgitxpuxyb0tywfcdrjfcjraxlolwkhr7zuoy3bvlynxbswdllstrx1et3stb5m2pg6mbtxy8kinxw4et/hewzoqfo5b+/f1g7pxkpbhwdf3g8mkezi74av4cyygab/abhwbp2akmpgjfoe/4k934cfv6v1el/z2mp7nygt46h8df0er</latexit> <latexit sha1_base64="ohztyd/nmmikh7ixafo7mxbaetw=">aaaduxicbdjba9swfabgnd6l627p9rgxstdi2bbsmnigfakdsrykhsxtiq5blmvhjsr7kpzvcp+j/zq9je3hte5dqtgtgi7pd45ukmozvdr3f+/0vdt3793ffbd38nhjj0/7+8/ovfzitky4y5m8ijaijaoy1vqzcpflgnjeyhm0+lt7+zpirtpxtzc5mxoucppqjlrnlfqfq17aqxgmemgzqsx4glwjrfg6egvd7wwkycjszdg6rbfamazqglwbb6ox/ye/8jcddoogcqaggael/d4sjdnccci0zkipwednem6q1bqzuu2fhsi5wiuukpknbejezc3mwbv8ztmxtdjpp6hhjut2gmsvknlkkznss9w2ovk/mxu6+tg3vosfjgjfl5qudoom1rchyyoj1qy0acks2r1cvet2xrs9461vmi8ktzd66yqm4vzfekf+4ixzjgitxpuxyb0tywfcdrjfcjraxlolwkhr7zuoy3bvlynxbswdllstrx1et3stb5m2pg6mbtxy8kinxw4et/hewzoqfo5b+/f1g7pxkpbhwdf3g8mkezi74av4cyygab/abhwbp2akmpgjfoe/4k934cfv6v1el/z2mp7nygt46h8df0er</latexit> <latexit sha1_base64="ohztyd/nmmikh7ixafo7mxbaetw=">aaaduxicbdjba9swfabgnd6l627p9rgxstdi2bbsmnigfakdsrykhsxtiq5blmvhjsr7kpzvcp+j/zq9je3hte5dqtgtgi7pd45ukmozvdr3f+/0vdt3793ffbd38nhjj0/7+8/ovfzitky4y5m8ijaijaoy1vqzcpflgnjeyhm0+lt7+zpirtpxtzc5mxoucppqjlrnlfqfq17aqxgmemgzqsx4glwjrfg6egvd7wwkycjszdg6rbfamazqglwbb6ox/ye/8jcddoogcqaggael/d4sjdnccci0zkipwednem6q1bqzuu2fhsi5wiuukpknbejezc3mwbv8ztmxtdjpp6hhjut2gmsvknlkkznss9w2ovk/mxu6+tg3vosfjgjfl5qudoom1rchyyoj1qy0acks2r1cvet2xrs9461vmi8ktzd66yqm4vzfekf+4ixzjgitxpuxyb0tywfcdrjfcjraxlolwkhr7zuoy3bvlynxbswdllstrx1et3stb5m2pg6mbtxy8kinxw4et/hewzoqfo5b+/f1g7pxkpbhwdf3g8mkezi74av4cyygab/abhwbp2akmpgjfoe/4k934cfv6v1el/z2mp7nygt46h8df0er</latexit> Material parameters Conversion from Young s modulus k, Poisson s ratio ν: µ = k 2(1 + ), = k (1 + )(1 2 ) [Smith et al. 2018]
Other constitutive models St. Venant Kirchhoff (with E = ½ (F T F I)): Easier to compute: no need for polar decomposition Ψ, P polynomial in F Ψ(F) = μ E 2 + λ/2 tr 2 E StVK corotated linear Poor behaviour in compression 1
Other constitutive models Neo-Hookean (with C = F T F, I C = tr C, J = det F): Ψ(F) = μ/2 (I C 3) μ log J + λ/2 (log J) 2 Correctly models volume change using J = det F Good for nearly incompressible materials (e.g. rubber, flesh) StVK corotated linear Undefined under collapse, inversion (J 0) Stable neo-hookean [Smith et al. 2018] 1 neo-hookean
Anisotropy All these materials are isotropic: independent of direction of stretching Ψ(F) = Ψ(F Q) Ψ(F) = Ψ(U Σ V T ) = Ψ(Σ): Ψ only depends on principal strains Equivalently, only depends on invariants of C = F T F Examples of anisotropic materials: woven fabrics, composites [Kharevych et al. 2009]
From theory to simulation State φ(x), φ (X) Deformation gradient F(X) = dφ/dx Stress P(F) = dψ/df Force density ρ φ = div P + f ext (everything in terms of material space!) How to discretize φ(x)? How to compute F? How to compute div P?
Meshes Divide space into elements (usually triangles, tetrahedra), put samples at vertices (a.k.a nodes) Reconstruction: linear / polynomial within each element Differentiation: naively, gradient only defined in element interior Elements should be well-shaped : close to regular Software to generate mesh for given shape: Triangle, TetGen
Meshes for elasticity X i x i Create triangulated mesh in material space Each vertex stores fixed X i, varying x i = φ(x i ), v i = φ (X i ) Each element stores indices of vertices i 1, i 2, i 3 (, i 4 ) Reconstruct φ(x) by piecewise linear interpolation. (Other shapes e.g. quads, higher-order interpolation also possible)
Shape functions Interpolation can be expressed as linear combination of shape functions: f(x) = f 1 N 1 (x) + f 2 N 2 (x) + + f n N n (x) where N i (x i ) = 1, N i (x j ) = 0 for j i = f i f(x) N i (x)
Shape functions In particular, φ(x) = x 1 N 1 (X) + x 2 N 2 (X) + F(X) = x 1 dn 1 /dx + x 2 dn 2 /dx + Piecewise linear interpolation F, P constant on each element But what is div P? Zero in element interior, undefined on element boundaries
The finite element method FEM in graphics: Sifakis and Barbič, Part 1, Ch 4: Discretization FEM theory: Bathe, Finite Element Procedures (especially Ch 3.3, 4.2)