Nonlinear finite elements/Kinematics - polar decomposition

From testwiki
Revision as of 03:34, 25 January 2018 by 2601:240:4200:4553:f82f:a036:55ab:e3fc (talk) (β†’Polar decomposition)
(diff) ← Older revision | Latest revision (diff) | Newer revision β†’ (diff)
Jump to navigation Jump to search

Polar decomposition

The w:Polar decomposition theorem states that any second order tensor whose determinant is positive can be decomposed uniquely into a symmetric part and an orthogonal part.

In continuum mechanics, the deformation gradient 𝑭 is such a tensor because det(𝐅)>0. Therefore we can write

𝑭=𝑹𝑼=𝑽𝑹

where 𝑹 is an orthogonal tensor (𝑹𝑹T=1) and 𝑼,𝑽 are symmetric tensors (𝑼=𝑼T and 𝑽=𝑽T) called the right stretch tensor and the left stretch tensor, respectively. This decomposition is called the polar decomposition of 𝑭.

Recall that the right Cauchy-Green deformation tensor is defined as

π‘ͺ=𝑭T𝑭

Clearly this is a symmetric tensor. From the polar decomposition of 𝑭 we have

π‘ͺ=𝑼T𝑹T𝑹𝑼=𝑼𝑼=𝑼2

If you know π‘ͺ then you can calculate 𝑼 and hence 𝑹 using 𝑹=𝑭𝑼1.

How do you find the square root of a tensor?

If you want to find 𝑼 given π‘ͺ you will need to take the square root of π‘ͺ. How does one do that?

We use what is called the spectral decomposition or eigenprojection of π‘ͺ. The spectral decomposition involves expressing π‘ͺ in terms of its eigenvalues and eigenvectors. The tensor product of the eigenvectors acts as a basis while the eigenvalues give the magnitude of the projection.

Thus,

π‘ͺ=i=13λi2𝑡i𝑡i

where λi2 are the principal values (eigenvalues) of π‘ͺ and 𝑡i are the principal directions (eigenvectors) of π‘ͺ.

Therefore,

𝑼2=i=13λi2𝑡i𝑡i

Since the basis does not change, we then have

𝑼=i=13λi𝑡i𝑡i

Therefore the λi can be interpreted as principal stretches and the vectors 𝑡i are the directions of the principal stretches.

Exercise:

If

𝑼=i=13λi𝑡i𝑡i

show that

𝑼2=𝑼𝑼=i=13λi2𝑡i𝑡i.

Example of polar decomposition

Let us assume that the motion is given by

x1=14[4X1+(93X15X2X1X2)t]x2=X2+(4+2X1)t

The adjacent figure shows how a unit square subjected to this motion evolves over time.

File:MotionExample.png
An example of a motion.

Deformation gradient

The deformation gradient is given by

𝑭=𝐱𝑿Fij=xiXj

Therefore

F11=x1X1=14[4+(3X2)t]F12=x1X2=14[(5X1)t]F21=x2X1=2tF22=x2X2=1

At t=1 at the position 𝑿=(0,0) we have

𝐅=[x1X1x1X2x2X1x2X2]=14[1584]

You can calculate the deformation gradient at other points in a similar manner.

Right Cauchy-Green deformation tensor

We have

π‘ͺ=𝑭T𝑭

Therefore,

𝐂=𝐅T𝐅=116[65272741]

To compute 𝑼 we have to find the eigenvalues and eigenvectors of π‘ͺ. The eigenvalue problem is

(𝐂λ2𝐈)𝐍=𝟎

where

𝐈=[1001]

To find the eigenvalues we solve the characteristic equation

det(𝐂λ2𝐈)=0

Plugging in the numbers, we get

det[6516λ2271627164116λ2]=0

or

λ4538λ2+12116=0

This equation has two solutions

λ12=5316+31697=5.159λ22=531631697=1.466

Taking the square roots we get the values of the principal stretches

λ1=2.2714λ2=1.2107

To compute the eigenvectors we plug into the eigenvalues into the eigenvalue problem to get

{[65272741]λ12[1001]}[N1(1)N2(1)]=[00]

Because this system of equations is not linearly independent, we need another equation to solve this system of equations for N1(1) and N2(1). This problem is eliminated by using the following equation (which implies that 𝐍 is a unit vector)

N2(1)=1(N1(1))2

Solving, we get

𝐍1=[N1(1)N2(1)]=[0.83850.5449]

We can do the same thing for the other eigenvector 𝐍2 to get

𝐍2=[N1(2)N2(2)]=[0.54490.8385]

Therefore,

𝑡1𝑡1=𝐍1𝐍1T=[0.83850.5449][0.83850.5449]=[0.70310.45690.45690.2969]

and

𝑡2𝑡2=𝐍2𝐍2T=[0.54490.8385][0.54490.8385]=[0.29690.45690.45690.7031]

Therefore,

π‘ͺ=λ12𝑡1𝑡1+λ22𝑡2𝑡2𝐂=5.159[0.70310.45690.45690.2969]+1.466[0.29690.45690.45690.7031]

We usually don't see any problem to calculate π‘ͺ at this point and go straight to the right stretch tensor.

Right stretch

The right stretch tensor 𝑼 is given by

𝑼=λ1𝑡1𝑡1+λ2𝑡2𝑡2𝐔=2.2714[0.70310.45690.45690.2969]+1.2107[0.29690.45690.45690.7031]

or

𝐔=[1.95650.48460.48461.5256]

We can invert this matrix to get

𝐔1=[0.55480.17620.17620.7114]

Rotation

We can now find the rotation matrix by using th relation

𝑹=𝑭𝑼1

In matrix form,

𝐑=14[1584][0.55480.17620.17620.7114]=[0.35900.93340.93340.3590]

You can check whether this matrix is orthogonal by seeing whether 𝐑𝐑T=𝐑T𝐑=𝐈.

You thus get the polar decomposition of 𝑭. In an actual calculation you have to be careful about floating point errors. Otherwise you might not get a matrix that is orthogonal.

Template:Subpage navbar