Transcript
Page 1: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

1

1M Müller – Elasto-Plastic FEM

ETH Zurich

Interactive Simulation of Elasto-Plastic Materials using the Finite Element Method

Matthias MüllerSeminar – Wintersemester 02/03

Movie

2M Müller – Elasto-Plastic FEM

ETH ZurichOutline

FEM vs. Mass-SpringStiffness

The Stiffness MatrixStatic/Dynamic Deformation

Continuum Mechanics and FEMStrain and Stress TensorsContinuous PDE’sFEM Discretization

PlasticityPlastic StrainUpdate Rules

FracturePrincipal StressesCrack Computation

3M Müller – Elasto-Plastic FEM

ETH ZurichMass-Spring vs. FEM

1. Discretization of an object into mass points

2. Representation of forces between mass points with springs

3. Computation of the dynamics

deformable mass-spring system

1. Discretization of an object into elements (tetrahedra)

2. Discretization of continuousenergy equations into algebraic equations for forces acting at vertices

3. Computation of the dynamics

deformable FEM system

4M Müller – Elasto-Plastic FEM

ETH ZurichPros and Cons of FEM

Pros:• No individual spring constants needed

(only 2 known material parameters E,ν)• No inversion problems

(inverted tetrahedra produce forces)• Stress and strain tensors allow

• fracture and• plasticity simulations

Cons:• (Pre-)compute stiffness matrix• Store stiffness matrix (3x3) per edge• Store original and actual positions of vertices

Page 2: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

2

5M Müller – Elasto-Plastic FEM

ETH ZurichOutline

FEM vs. Mass-SpringStiffness

The Stiffness MatrixStatic/Dynamic Deformation

Continuum Mechanics and FEMStrain and Stress TensorsContinuous PDE’sFEM Discretization

PlasticityPlastic StrainUpdate Rules

FracturePrincipal StressesCrack Computation

6M Müller – Elasto-Plastic FEM

ETH ZurichOne-dimensional Spring

f

∆x

f = k · ∆x

7M Müller – Elasto-Plastic FEM

ETH ZurichThree-dimensional Object

Finite Element Mesh• 903 tetrahedra• 393 vertices• 3 x 393 = 1179 dof.

∆x1x

∆x1y

∆x1z...∆xnx

∆xny

∆xnz

∆x =

f1x

f1y

f1z

...fn

x

fny

fnz

f =

8M Müller – Elasto-Plastic FEM

ETH ZurichThree-dimensional Object

f

∆x

fel = K · ∆x (Stiffness Matix K ∈ R3nx3n)

fel = F(∆x) (Function F : R3n→R3n)

Page 3: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

3

9M Müller – Elasto-Plastic FEM

ETH ZurichStatic Deformation

f

∆xfext = fel = K · ∆x∆x = K-1 · fext

fext = fel = F(∆x)∆x = F-1(fext)

Solve linear system(Conjugate Gradients)

Solve non-linear system(Newton-Raphson - generalized Newton-Method)

10M Müller – Elasto-Plastic FEM

ETH ZurichDynamic Deformation

Mx´´ + Cx´ + K∆x = fext

• Coupled system of 3n linear ODEs• Explicit integration: No solver needed• Implicit integration: Linear solver per time step

Mx´´ + Cx´ + F(∆x) = fext

• Coupled system of 3n non-linear ODEs• Explicit integration: No solver needed• Implicit integration: Linearize at every time step: K = dF/dx

11M Müller – Elasto-Plastic FEM

ETH ZurichOutline

FEM vs. Mass-SpringStiffness

The Stiffness MatrixStatic/Dynamic Deformation

Continuum Mechanics and FEMStrain and Stress TensorsContinuous PDE’sFEM Discretization

PlasticityPlastic StrainUpdate Rules

FracturePrincipal StressesCrack Computation

12M Müller – Elasto-Plastic FEM

ETH ZurichContinuous Elasticity 1-d

fn/A = E ∆l/l

fnA

∆l l

strain ε [1](Dehnung)

Elasticity (Young‘s) Modulus[N/m2]

Metal: ~1011 N/m2

Soft material: ~106 N/m2

stress σ [N/m2](Normal-Spannung)

Page 4: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

4

13M Müller – Elasto-Plastic FEM

ETH ZurichContinuous Elasticity 3-d

Deformation:

xy

z

• Continuous 3-d vector field u: R3 → R3

• Defined within undeformed object

u(x)u(x,y,z)v(x,y,z)w(x,y,z)

x+u(x)x

14M Müller – Elasto-Plastic FEM

ETH ZurichLinear 3-d Strain

normal strain in x - direction:

x x+dx

u(x) u(x+dx)

dx

dx u(x+dx)-u(x)εx = u(x+dx)–u(x)

dx= ∂/∂xu = ux

shear strain:

x x+dx

v(x) v(x+dx)

dx

v(x+dx)-v(x)γxy = v(x+dx)–v(x)

dx= ∂/∂xv = vx

15M Müller – Elasto-Plastic FEM

ETH ZurichLinear 3-d Strain

Linear strain tensor:

++++++

=

==

zzyzx

yzyyx

xzxyx

zzyzx

yzyyx

xzxyx

wvwuw

wvvuv

wuvuu

zyx

εγγγεγγγε

),,(εε

∂∂∂∂∂∂∂∂

∂∂∂∂∂∂

∂∂∂∂

=

=w

v

u

xz

yz

xy

z

y

x

zx

yz

xy

z

y

x

/0/

//0

0//

/00

0/0

00/

γγγεεε

ε

Symmetric, 3x3 matrix → 6 vector:

16M Müller – Elasto-Plastic FEM

ETH ZurichNon-Linear 3-d Strain

Green-Saint-Venant strain tensor:

( )

+∂∂+∂∂+∂∂

+∂∂+∂∂+∂∂

+∂∂+∂∂+∂∂

==)(/

)(/

)(/

,

)(/

)(/

)(/

,

)(/

)(/

)(/

,,

wzz

vyz

uxz

wzy

vyy

uxy

wzx

vyx

uxx

zyx JJJJ

• Transformation we use: x → x + u(x):• Use Jacobian of transformation:

IJJε −= TGreen

• Interpretation:

xy

zx

x + u(x)

Jx

JyJz

Page 5: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

5

17M Müller – Elasto-Plastic FEM

ETH Zurich3-d Stress

An

f

A

fσ⋅

==dA

d

d

d

Stress is force per (oriented) area:

A

zyzxz

yzyxy

xzxyx

AdA

dnnσf ⋅

=⋅=στττστττσ

xz

xy

x

ττσ

yz

y

yx

τστ

z

zy

zx

σττ

nA

f

A

18M Müller – Elasto-Plastic FEM

ETH ZurichConstitutive Relation (isotropic)

The stress tensor is symmetric, 3x3 matrix → 6 vector:

Only two scalar parameters:E: Young’s modulus, ν: Poisson ratio

−−

=

zx

yz

xy

z

y

x

zx

yz

xy

z

y

x

G

G

G

ccc

ccc

ccc

γγγεεε

ννννννννν

τττσσσ

0

)1(

0)1(

)1(

)1(2,)21)(1( ννν +

=−+

= EG

Ec

E εσ =Hooke‘s law:

19M Müller – Elasto-Plastic FEM

ETH ZurichPutting it all together

Given u(x) we can compute• strain ε(x) and• stress σ(x) = E ε(x) at every point x within the object.

→ Find u(x) such that corresponding stresses σ(x) are in balance with external forces f(x) everywhere within object:

0

0

0

,,,

,,,

,,,

=+++

=+++

=+++

zzzyzyxzx

yzyzyyxyx

xzxzyxyxx

fσττfτστfττσ • Strong formulation

• Coupled system of partial differential equations!

20M Müller – Elasto-Plastic FEM

ETH ZurichEnergy Formulation

• Energy U is a scalar• U at point x is given by „displacement × force“:

Eεεσε TTelastic 2

1

2

1 ==U

• The total Energy of the deformed body:

⋅−=

body

Tbody fu

2

1dVU Eεε

• Given f, E we can compute Ubody for any u(x)• Find u(x) such that Ubody is a minimum (δU = 0)

Page 6: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

6

21M Müller – Elasto-Plastic FEM

ETH ZurichOutline

FEM vs. Mass-SpringStiffness

The Stiffness MatrixStatic/Dynamic Deformation

Continuum Mechanics and FEMStrain and Stress TensorsContinuous PDE’sFEM Discretization

PlasticityPlastic StrainUpdate Rules

FracturePrincipal StressesCrack Computation

22M Müller – Elasto-Plastic FEM

ETH ZurichFinite Element Formulation

• So far we looked for a continuous field u(x)

u

x

• Now we look for u1, u2, .. un at fixed locations: x1, x2, .. xn

• and interpolate u(x) with fixed basis functions: u(x) ≈ Σi ui φi(x)

u

xxi

ui

φi(x)

u(x)

23M Müller – Elasto-Plastic FEM

ETH ZurichLinear Displacement Tetrahedron

• 12 unknowns (a1,..a12), 12 equations• ui, vi, wi are variables, xi, yi, zi are given numbers

+++++++++

=

zayaxaa

zayaxaa

zayaxaa

zyxw

zyxv

zyxu

1211109

8765

4321

),,(

),,(

),,(

=

4

4

4

444

444

444

),,(

),,(

),,(

w

v

u

zyxw

zyxv

zyxu

=

2

2

2

222

222

222

),,(

),,(

),,(

w

v

u

zyxw

zyxv

zyxu

=

1

1

1

111

111

111

),,(

),,(

),,(

w

v

u

zyxw

zyxv

zyxu

=

3

3

3

333

333

333

),,(

),,(

),,(

w

v

u

zyxw

zyxv

zyxu

24M Müller – Elasto-Plastic FEM

ETH ZurichDisplacements

The displacement function u(x) can be expressed as• a matrix of basis functions H(x) times• a vector of displacements:

=

4

4

4

3

3

3

2

2

2

1

1

1

4321

4321

4321

00000000

00000000

00000000

),,(

),,(

),,(

w

v

u

w

v

u

w

v

u

w

v

u

NNNN

NNNN

NNNN

zyxw

zyxv

zyxu

uxHxu à)()( ⋅=

Page 7: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

7

25M Müller – Elasto-Plastic FEM

ETH ZurichStrain

Linear displacements yield constant strain:

uBuxHε àà)(

/0/

//0

0//

/00

0/0

00/

⋅=⋅

∂∂∂∂∂∂∂∂

∂∂∂∂∂∂

∂∂∂∂

=

=

xz

yz

xy

z

y

x

zx

yz

xy

z

y

x

γγγεεε

• Matrix B ∈ R6x12 is constant (independent of x,y,z)• B depends on the original geometry of the tetrahedron only

26M Müller – Elasto-Plastic FEM

ETH ZurichStress and Energy

Stress as a function of the displacements:

uEBEεσ à⋅==

Energy as a function of the displacements:

=

element

Telement 2

1dVU Eεε

∫=element

TT àà2

1dVuEBBu

[ ]uEBBuuEBBu àà2

1àà

2

1 Telement

T

element

TT VdV =

= ∫

uKu àà2

1 T=

27M Müller – Elasto-Plastic FEM

ETH ZurichStiffness Matrix

Forces are the derivatives of the energywith respect to the degrees of freedom:

uKu àà2

1 Tbody =U

fuKu

==∂

∂à

àbodyU

The matrix K ∈ R12x12 is the stiffness matrix of the element!

EBBEBBK Telement

element

T VdV == ∫

28M Müller – Elasto-Plastic FEM

ETH ZurichAssembly of elements

Single element:

f1xf1yf1z…f4xf4yf4z

∆x1x∆x1y∆x1z…∆x4x∆x4y∆x4z

=3x33x3

Ke

=

f1..

fn

∆x1..

∆xn

Entire body:

Page 8: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

8

29M Müller – Elasto-Plastic FEM

ETH ZurichImplementation

• K is sparse• 3x3 block at (3i,3j) describes how ∆xj influences fi• every vertex stores adjacency list of

(3x3-matrix, vertex-reference) pairs

=

f1..

fn

∆x1..

∆xn

K

30M Müller – Elasto-Plastic FEM

ETH ZurichOutline

FEM vs. Mass-SpringStiffness

The Stiffness MatrixStatic/Dynamic Deformation

Continuum Mechanics and FEMStrain and Stress TensorsContinuous PDE’sFEM Discretization

PlasticityPlastic StrainUpdate Rules

FracturePrincipal StressesCrack Computation

31M Müller – Elasto-Plastic FEM

ETH ZurichPlastic Strain

→No internal forces are present when εû = εplastic

Might be for û ≠ 0!

An element is under strain εû due to displacements û:

εû = [εx, εy, εz, γxy, γyz, γzx]T = B⋅û

A plastic element „stores“ strain in a state variable:

εplastic

The elastic strain (that causes internal forces) is now:

εelastic = εû - εplastic

32M Müller – Elasto-Plastic FEM

ETH ZurichPlastic Update Rules

Initialization:

Update rule (every time step):

• Compute εû = B⋅û from actual displacements• Compute εelastic = εû - εplastic

• if ||εelastic|| > yield then εplastic = εplastic + creep ⋅ εelastic

• if ||εplastic|| > max then εplastic = εplastic ⋅ max / ||εplastic||

εplastic = 0

ε (6 dimensional)

0 εplastic εelastic

εû

beforeafter

Page 9: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

9

33M Müller – Elasto-Plastic FEM

ETH ZurichImplementation

ε = B⋅ûSince

the displacements that correpsond to the plastic strain are:ûplastic = B-1⋅εplastic

and the correpsonding forces are:

fplastic = KB-1⋅εplastic = [vBTEB] B-1⋅εplastic = vBTE⋅εplastic

→ add plastic forces to external forces

34M Müller – Elasto-Plastic FEM

ETH ZurichOutline

FEM vs. Mass-SpringStiffness

The Stiffness MatrixStatic/Dynamic Deformation

Continuum Mechanics and FEMStrain and Stress TensorsContinuous PDE’sFEM Discretization

PlasticityPlastic StrainUpdate Rules

FracturePrincipal StressesCrack Computation

35M Müller – Elasto-Plastic FEM

ETH ZurichFracture criterion

• Break if internal elastic force exeeds threshold• stress is a tensor• the force w.r.t. normal nA is:

A

zyzxz

yzyxy

xzxyx

AdA

dnnσf ⋅

=⋅=στττστττσ

• Find nmax such that df/dA is maximal!• nmax is direction of maximal tensile stress

36M Müller – Elasto-Plastic FEM

ETH ZurichPrincipal Stresses

• The stress tensor σ is symmetric• → there is a rotation matrix R such that

RR

=

pz

py

px

zyzxz

yzyxy

xzxyx

σσ

σ

στττστττσ

00

00

00T

• the diagonal entries are the eigenvalues of σ• the columns of R are the corresponing eigenvectors• there is always a rotated coordinate system

where σ is diagonal!

Page 10: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

10

37M Müller – Elasto-Plastic FEM

ETH ZurichPrincipal Stresses

• the σp are the principal (extremal) stresses• → find maximal eigenvalue of σ• corresponding eigenvector is the direction of maximal

stress

x

y

z

σpx

σpy

σpz

38M Müller – Elasto-Plastic FEM

ETH ZurichCrack computation

• for all elements: compute maximal tensile stress σpmax

39M Müller – Elasto-Plastic FEM

ETH ZurichCrack computation

• for all elements: compute maximal tensile stress σpmax

• if σpmax exceeds yield stress

σpmax

40M Müller – Elasto-Plastic FEM

ETH ZurichCrack computation

• for all elements: compute maximal tensile stress σpmax

• if σpmax exceeds yield stress

• select a vertex v (crack tip / random)

σpmax

v

Page 11: Finite Element Method Elasto-Plastic Materials using the ... · Finite Element Method Matthias Müller Seminar – Wintersemester 02/03 Movie 2 M Müller – Elasto-Plastic FEM ETH

11

41M Müller – Elasto-Plastic FEM

ETH ZurichCrack computation

• for all elements: compute maximal tensile stress σpmax

• if σpmax exceeds yield stress

• select a vertex v (crack tip / random)• set plane α normal σp

max to through v

σpmax

α

v

42M Müller – Elasto-Plastic FEM

ETH ZurichCrack computation

• for all elements: compute maximal tensile stress σpmax

• if σpmax exceeds yield stress

• select a vertex v (crack tip / random)• set plane α normal σp

max to through v• mark tetras w.r.t. α

σpmax +

+

+

-

-

α

v

43M Müller – Elasto-Plastic FEM

ETH ZurichCrack computation

• for all elements: compute maximal tensile stress σpmax

• if σpmax exceeds yield stress

• select a vertex v (crack tip / random)• set plane α normal σp

max to through v• mark tetras w.r.t. α• split vertex σp

max +

+

+

-

-

α

v

44M Müller – Elasto-Plastic FEM

ETH ZurichThe End

Thank you for your attention!


Recommended