Tech Report - disney-animation.s3.amazonaws.com Di erentiating constitutive model For integration,...

2
Material Point Method for Snow Simulation Alexey Stomakhin, Craig Schroeder, Lawrence Chai, Joseph Teran & Andrew Selle January 18, 2013 1 Differentiating energy Given an elasto-plastic energy density function Ψ(F E , F P ) which evaluates to Ψ p = Ψ( ˆ F Ep x), F n Pp ) at each particle p using its elastic and plastic parts of the deformation gradient ˆ F Ep x) and F n Pp , we define the full potential energy of the system to be Φ(ˆ x)= X p V 0 p Ψ( ˆ F Ep x), F n Pp )= X p V 0 p Ψ p , where ˆ F Ep x) is updated as ˆ F Ep x)= I + X i x i - x n i )(w n ip ) T ! F n Ep . (1) For the purposes of working out derivatives, we use index notation for differentiation, using Greek indices α,β,... for spatial indices, Φ ,(jσ) to indicate partial derivatives on x jσ ,(αβ) to indicate partial derivatives on F Eαβ , and summation implied over all repeated indices. The derivatives of ˆ F Ep with respect to x i are ˆ F Epαβ = ( δ αγ +(x iα - x n iα )w n ip,γ ) F n Epγβ ˆ F Epαβ,(jσ) = δ ασ w n jp,γ F n Epγβ ˆ F Epαβ,(jσ)(kτ ) = 0 With these, the derivatives of Φ with respect to x i can be worked out using the chain rule Φ = V 0 p Ψ p Φ ,(jσ) = X p V 0 p Ψ p,(αβ) ˆ F Epαβ,(jσ) = X p V 0 p Ψ p,(σβ) w n jp,γ F n Epγβ Φ ,(jσ)(kτ ) = X p (V 0 p Ψ p,(σβ) w n jp,γ F n Epγβ ) ,(kτ ) = X p V 0 p Ψ p,(σβ)(τκ) w n jp,γ F n Epγβ w n kp,ω F n Epωκ These can be interpreted without the use of indices as -f i x)= Φ ˆ x i x)= X p V 0 p Ψ F E ( ˆ F Ep x), F n Pp )(F n Ep ) T w n ip (2) and -δf i = X j 2 Φ ˆ x i ˆ x j x)δu j = X p V 0 p A p (F n Ep ) T w n ip (3) where A p = 2 Ψ F E F E (F E x), F n Pp ): X j δu j (w n jp ) T F n Ep . (4) and the notation A = C : D is taken to mean A ij = C ijkl D kl with summation implied on indices kl. 1

Transcript of Tech Report - disney-animation.s3.amazonaws.com Di erentiating constitutive model For integration,...

Page 1: Tech Report - disney-animation.s3.amazonaws.com Di erentiating constitutive model For integration, we need to compute @ @F E and @2 @F E@F E: D. In this section, we will omit the subscripts

Material Point Method for Snow Simulation

Alexey Stomakhin, Craig Schroeder, Lawrence Chai, Joseph Teran & Andrew Selle

January 18, 2013

1 Differentiating energy

Given an elasto-plastic energy density function Ψ(FE ,FP ) which evaluates to Ψp = Ψ(F̂Ep(x̂),F nPp) at each particle

p using its elastic and plastic parts of the deformation gradient F̂Ep(x̂) and F nPp, we define the full potential energyof the system to be

Φ(x̂) =∑p

V 0p Ψ(F̂Ep(x̂),F nPp) =

∑p

V 0p Ψp,

where F̂Ep(x̂) is updated as

F̂Ep(x̂) =

(I +

∑i

(x̂i − xni )(∇wnip)T)F nEp. (1)

For the purposes of working out derivatives, we use index notation for differentiation, using Greek indices α, β, . . .for spatial indices, Φ,(jσ) to indicate partial derivatives on xjσ, Φ,(αβ) to indicate partial derivatives on FEαβ , and

summation implied over all repeated indices. The derivatives of F̂Ep with respect to xi are

F̂Epαβ =(δαγ + (xiα − xniα)wnip,γ

)FnEpγβ

F̂Epαβ,(jσ) = δασwnjp,γF

nEpγβ

F̂Epαβ,(jσ)(kτ) = 0

With these, the derivatives of Φ with respect to xi can be worked out using the chain rule

Φ = V 0p Ψp

Φ,(jσ) =∑p

V 0p Ψp,(αβ)F̂Epαβ,(jσ)

=∑p

V 0p Ψp,(σβ)w

njp,γF

nEpγβ

Φ,(jσ)(kτ) =∑p

(V 0p Ψp,(σβ)w

njp,γF

nEpγβ),(kτ)

=∑p

V 0p Ψp,(σβ)(τκ)w

njp,γF

nEpγβw

nkp,ωF

nEpωκ

These can be interpreted without the use of indices as

−fi(x̂) =∂Φ

∂x̂i(x̂) =

∑p

V 0p

∂Ψ

∂FE(F̂Ep(x̂),F nPp)(F

nEp)

T∇wnip (2)

and

−δfi =∑j

∂2Φ

∂x̂i∂x̂j(x̂)δuj =

∑p

V 0pAp(F

nEp)

T∇wnip (3)

where

Ap =∂2Ψ

∂FE∂FE(FE(x̂),F nPp

) :

∑j

δuj(∇wnjp)TF nEp

. (4)

and the notation A = C : D is taken to mean Aij = CijklDkl with summation implied on indices kl.

1

Page 2: Tech Report - disney-animation.s3.amazonaws.com Di erentiating constitutive model For integration, we need to compute @ @F E and @2 @F E@F E: D. In this section, we will omit the subscripts

2 Differentiating constitutive model

For integration, we need to compute ∂Ψ∂FE

and ∂2Ψ∂FE∂FE

: δD. In this section, we will omit the subscripts E.

Ψ = µ‖F −R‖2F +λ

2(J − 1)2

δΨ = δ

(µ‖F −R‖2F +

λ

2(J − 1)2

)= µδ

(‖F −R‖2F

)+ λ(J − 1)δJ

= µδ(tr(F TF )

)− 2µδ

(tr(RTF )

)+ µδ

(tr(RTR)

)+ λ(J − 1)δJ

= 2µF : δF − 2µδ(tr(S)) + λ(J − 1)JF−T : δF

= 2µF : δF − 2µtr(δS) + λ(J − 1)JF−T : δF

F = RS

δF = δRS +RδS

tr(δS) = tr(RT δF )− tr(RT δRS)

= tr(RT δF )− (RT δR) : S

= tr(RT δF )

= R : δF

Note that since RTR = I, RT δR must be skew-symmetric. Since S is symmetric, (RT δR) : S = 0. Finally,

δΨ = 2µF : δF − 2µtr(δS) + λ(J − 1)JF−T : δF

= 2µF : δF − 2µR : δF + λ(J − 1)JF−T : δF

∂Ψ

∂F: δF =

(2µF − 2µR+ λ(J − 1)JF−T ) : δF

∂Ψ

∂FE= 2µ(FE −RE) + λ(JE − 1)JEF

−TE

Note that Cauchy stress σ and first Piola-Kirchhoff stress P are related to ∂Ψ∂FE

by

σ =1

J

∂Ψ

∂FEF TE =

J(FE −RE)F TE +

λ

J(JE − 1)JEI P =

∂Ψ

∂FEF−TP

The second derivatives require a bit more care but can be computed relatively easily.

∂2Ψ

∂F ∂F: δF = δ

(∂Ψ

∂F

)= δ(2µ(F −R) + λ(J − 1)JF−T )

= 2µδF − 2µδR+ λJF−T δJ + λ(J − 1)δ(JF−T )

= 2µδF − 2µδR+ λJF−T (JF−T : δF ) + λ(J − 1)δ(JF−T )

Since JF−T is a matrix whose entries are polynomials in the entries of F , δ(JF−T ) = ∂∂F (JF−T ) : δF can readily

be computed directly. That leaves the task of computing δR.

δF = δRS +RδS

RT δF = (RT δR)S + δS

RT δF − δF TR = (RT δR)S + S(RT δR)

Here we have taken advantage of the symmetry of δS and the skew symmetry ofRT δR. There are three independentcomponents of RT δR, which we can solve for directly. The equation is linear in these components, so RT δR canbe computed by solving a 3× 3 system. Finally, δR = R(RT δR).

2