Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale...

117
Elementi di Meccanica Computazionale Corso di Laurea in Ingegneria Civile Pavia, 2014 Quick review on elasticity Finite element method (FE) Finite difference method (FD) Extension to dynamics Ferdinando Auricchio 12 1 DICAR – Dipartimento di Ingegneria Civile e Architettura, Universit` a di Pavia, Italy 2 IMATI – Istituto di Matematica Applicata e Tecnologie Informatiche, CNR, Italy April 29, 2014 F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 1 / 117

Transcript of Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale...

Page 1: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Elementi di Meccanica ComputazionaleCorso di Laurea in Ingegneria Civile

Pavia, 2014

Quick review on elasticity

Finite element method (FE)Finite difference method (FD)

Extension to dynamics

Ferdinando Auricchio 1 2

1DICAR – Dipartimento di Ingegneria Civile e Architettura, Universita di Pavia, Italy2IMATI – Istituto di Matematica Applicata e Tecnologie Informatiche, CNR, Italy

April 29, 2014

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 1 / 117

Page 2: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

3D elasticity: compact notation I

Three-dimensional body: Ω ⊂ R3

Deformable body: variable distance between points

Field equations:

equilibrium eq. div σ + b = 0 in Ω

constitutive eq. σ = Dεεε in Ω

compatibility eq. εεε = ∇su in Ω

with:

σ : stress (second-order) tensoru : displacement vectordiv : divergence operatorD : elasticity (fourth-order) tensor

εεε : strain (second-order) tensorb : body force vector∇s : symmetric gradient operator

Boundary conditions:

imposed displ. u = u on ∂Ωu

imposed forces σn = t on ∂Ωt

with u & t: assigned data; n: outward normal to ∂Ωt; ∂Ωu ∪ ∂Ωt = ∂Ω

Linear elasticity assumption. Easy to generalize σ = σ(εεε) !

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 2 / 117

Page 3: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

3D elasticity: indicial notation I

⋆ Recall: summation convention, i.e. repeated indices imply summation

⋆ Recall: comma indicates derivation

Field equations:

equilibrium eq. σij,j + bi = 0 in Ω

constitutive eq. σij = Dijklεkl in Ω

compatibility eq. εij =1

2(ui,j + uj,i) in Ω

with:

σij : stress (second-order) tensorui : displacement vectorDijkl : elasticity (fourth-order) tensor

εij : strain (second-order) tensorbi : body force vector

Boundary conditions:

imposed displ. ui = ui on ∂Ωu

imposed forces σijnj = ti on ∂Ωt

with ui & ti : assigned data; ni : outward normal to ∂Ωt; ∂Ωu ∪ ∂Ωt = ∂Ω.

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 3 / 117

Page 4: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

3D elasticity: engineering notation I

We take advantage of symmetry, i.e.:

σ = σT , εεε = εεε

T , D = DT , D = D

t

σij = σji , εij = εji , Dijkl = Dklij , Dijkl = Dijlk

σ, stress (second-order) tensor, in vector notation:

σ = σ11, σ22, σ33, σ12, σ23, σ31T

b, body force, in vector notation:

b = b1, b2, b3T

εεε, strain (second-order) tensor, in vector notation:

εεε = ε11, ε22, ε33, ε12, ε23, ε31T or εεεM = ε11, ε22, ε33, 2ε12, 2ε23, 2ε31

T

[D] elasticity (fourth-order) tensor, in matrix notation:

[D] =

D1111 D1122 D1133 D1112 D1123 D1113

D1122 D2222 D2233 D2212 D2223 D2213

D1133 D2233 D3333 D3312 D3323 D3313

D1112 D2212 D3312 D1212 D1223 D1213

D1123 D2223 D3323 D1223 D2323 D2313

D1113 D2213 D3313 D1212 D2313 D1313

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 4 / 117

Page 5: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

3D elasticity: engineering notation I

⋆ Take advantage of vector Voigt notation for second-order tensors (and matrixnotation for fourth-order tensors)

Field equations:

equilibrium eq. [L]T σ+ b = 0 in Ω

constitutive eq. σ = [D][M]εεε in Ω

compatibility eq. εεε = [L]u in Ω

with:

σ : stress (second-order) tensoru : displacement vector[D] : elasticity (fourth-order) tensor[M] : double-contraction

L : diff. operator (to be defined)εεε : strain (second-order) tensorb : body force vector

Boundary conditions:

imposed displ. u = u on ∂Ωu

imposed forces σ??n = t on ∂Ωt

with u & t: assigned data; n : outward normal to ∂Ωt; ∂Ωu ∪ ∂Ωt = ∂Ω

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 5 / 117

Page 6: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

3D elasticity: engineering notation II

Voigt representation requires the introduction of some special operators (!)

Differential operator [L]T correspondent to div -operator

[L]T =

∂x0 0

∂y0

∂z

0∂

∂y0

∂x

∂z0

0 0∂

∂z0

∂y

∂x

Algebraic operator [M] corresponding to double-contraction

[M] =

1 0 0 0 0 00 1 0 0 0 00 0 1 0 0 00 0 0 2 0 00 0 0 0 2 00 0 0 0 0 2

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 6 / 117

Page 7: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

3D elasticity I

For a linear isotropic material, constitutive equations specializes as follows:

σ = Dεεε = λ tr(εεε) 1+ 2µεεε

wheretr(εεε) = εεε : 1 = ε11 + ε22 + ε33

D = [λ (1⊗ 1) + 2µI]

In engineering notation

σ = [DM ]εεε = λ tr(εεε) 1+ 2µεεε

where

1 =

111000

, [DM ] = [D][M] =

λ+ 2µ λ λ 0 0 0λ λ+ 2µ λ 0 0 0λ λ λ+ 2µ 0 0 00 0 0 2µ 0 00 0 0 0 2µ 00 0 0 0 0 2µ

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 7 / 117

Page 8: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

3D elasticity II

For linear isotropic material, constitutive equations written also in different forms

Split stress and strain into volumetric and deviatoric components

σ = p1+ s

εεε =θ

31 + e

with

p =1

3tr(σ) =

1

3σ : 1 =

1

3(σ11 + σ22 + σ33)

θ = tr(εεε) = εεε : 1 = ε11 + ε22 + ε33

Accordingly

s = σ − p1

e = εεε−θ

31

Constitutive equation simplifies as follows:

p = Kθ

s = 2µe

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 8 / 117

Page 9: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

3D elasticity I

Corresponding elasticity matrix has simple form in compact notation:

D =

[

K (1⊗ 1) + 2µ

(

I−1

31⊗ 1

)]

In engineering notation

[DM ] =

K +4

3µ K −

2

3µ K −

2

3µ 0 0 0

K −2

3µ K +

4

3µ K −

2

3µ 0 0 0

K −2

3µ K −

2

3µ K +

4

3µ 0 0 0

0 0 0 2µ 0 00 0 0 0 2µ 00 0 0 0 0 2µ

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 9 / 117

Page 10: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Principle of virtual work I

Given a system F (σ, b, t) and a system D (δu, δεεε), if for any systemD which satisfies compatibility the following equality holds:

δLext = δLint

then system F satisfies equilibrium.

Some definitions:

δLint =

Ω

(σ : δεεε) dV

δLext =

Ω

(b · δu) dV +

∂Ωt

(t · δu) dA

Principle of virtual work constitutes an integral (weak) formulation of equilibrium,i.e. it is proper for the development of FE discretization

Exercise. Prove the equivalence between principle of virtual work and equilibrium equation. Discuss alsothe assumptions under such a statement.

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 10 / 117

Page 11: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Total potential energy I

Consider total potential energy functional:

Π(u) =1

2

Ω

[Dεεε(u) : εεε(u)] dV −

Ω

[b · u] dV

with

εεε(u) = ∇su =1

2

[

∇u+ (∇u)T]

where the term relative to external surface forces is neglected

Stationarity of Π gives

dΠ(u, δu) =

Ω

[Dεεε(u) : εεε(δu)] dV −

Ω

[b · δu] dV = 0 (1)

Equation 1 implies equilibrium for system F (σ, b, t) with σ computed fromconstitutive and compatibility equation, i.e. σ = D∇su

Stationarity of Total Potential energy constitutes an integral (weak) formulation ofequilibrium, i.e. it is proper for development of FE discretization

Exercise. Prove the equivalence between stationarity of Π and equilibrium equation under the positionthat σ is computed from the constitutive equation and the compatibility equation. Discuss also theassumptions introduced to prove such a statement.

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 11 / 117

Page 12: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Hu-Washizu functional I

Observe that in potential energy approach we enforce in weak form only equilibriumequation and not constitutive nor compatibility

It is possible to consider more general weak formulations

Consider Hu-Washizu functional

Π(u,εεε,σ) =1

2

Ω

[εεε : Dεεε] dV −

Ω

[σ : (εεε−∇su)] dV − Πext

Term Πext represents the contribution due to external loads

Taking the variation of the functional wrt u, εεε and σ it is possible to recoverequilibrium equation, constitutive equation and compatibility equation.

Exercise. Prove the equivalence between stationarity of Π and the full set of elasticity equations. Discussalso the assumptions introduced to prove such a statement.

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 12 / 117

Page 13: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Hellinger-Reissner functional I

It is possible to consider other weak formulations

Consider Hellinger-Reissner functional

Π(u,σ) = −1

2

Ω

[

σ : D−1σ]

dV +

Ω

[σ : ∇su] dV − Πext

Term Πext represents the contribution due to external loads

Taking the variation of the functional wrt u and σ it is possible to recoverequilibrium equation and a combination of constitutive and compatibility equation

Exercise. Prove the equivalence between stationarity of Π and a partial set of elasticity equations.Discuss also the assumptions introduced to prove such a statement.

Exercise. Derive Hellinger-Reissner functional from Hu-Washizu functional.

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 13 / 117

Page 14: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Potential energy: reduction to 2D case I

For a 2D elastic problem adopting an engineering notation we may assume:

σ = σ11, σ22, σ12T

εεε = ǫ11, ǫ22, ǫ12T

with D now a 3× 3 matrix

In particular for a plane strain problem we have:

[DM ] =

λ+ 2µ λ 0λ λ+ 2µ 00 0 2µ

In particular for a plane stress problem we have:

[DM ] =

λ+ 2µ λ 0λ λ+ 2µ 00 0 2µ

with

λ =2λµ

λ+ 2µ

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 14 / 117

Page 15: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM for elasticity I

GOAL: solve elastic boundary value problem in general situation,i.e. for general domains, loading conditions, etc.

Too difficult to obtain general closed-form solutions

Closed-form solutions possible only for simple cases, mainly linear !

Need to resort to numerical approximation Finite element method Finite difference method

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 15 / 117

Page 16: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM basic steps I

Finite-element method (FEM): general approach to computeapproximate solution for any general differential equation

Three main steps to construct a finite-element method from any ODE

1. Convert differential to integral form (strong → weak form)

2. Introduce approximation fields (integral → algebraic form)

3. Solution of algebraic problem

Differential form: natural format for BVP

Weak form: often associated to variational principles

Approximation: imply problem discretization

Algebraic problem (linear or non-linear) easy to solve ⇒ matrix inversion

Apply concepts to a “general” 1D ODE

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 16 / 117

Page 17: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM basic steps II

N.S. Ottosen and H. Petersson, Introduction to the Finite Element Methods, Prentice Hall (October1992)

J.Fish and T.Belytschko, A first course in Finite Elements, Wiley (June 2007)

T.J.R. Hughes, The Finite Element Method: Linear Static and Dynamic Finite Element Analysis, DoverPublications (August 2000)

O.C.Zienkiewicz and R.L.Taylor, The Finite Element Method, Butterworth-Heinemann; Sixth edition(September 2005)

J. Bonet, R.D. Wood, Nonlinear Continuum Mechanics for Finite Element Analysis Cambridge UniversityPress; Second edition (March 2008)

P. Wriggers, Nonlinear Finite Element Methods, Springer; Second edition (November 2010)

T. Belytschko, W.K. Liu, B. Moran Nonlinear Finite Elements for Continua and Structures, Wiley; Firstedition (September 2000)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 17 / 117

Page 18: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

1D problem: string under tension I

Strong formulation [differential form]

Given f (x), g and h, find u(x) such that:

u,xx +f = 0 in Ω

u(0) = g

u, x (l) = h

Toward a weak formulation [integral form] Multiply differential equation by a generic “weight” function w(x)

w : Ω → R

Integrate product over problem domain Observe that integral is equal to zero Integrate by parts

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 18 / 117

Page 19: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

1D problem: weak form I

Multiply differential equation by a weight function w(x)

w (u,xx +f ) = 0

Integrate over domain and use integral additive property

∫ l

0

[w (u,xx +f )] dx = 0

∫ l

0

[wu,xx ] dx +

∫ l

0

[wf ] dx = 0

Use integration by parts

[wu,x ]|x=lx=0 −

∫ l

0

[w ,x u,x ] dx +

∫ l

0

[wf ] dx = 0

Change sign and impose to choose w(x) s.t. w(0) = 0

∫ l

0

[w ,x u,x ] dx −

∫ l

0

[wf ] dx − w(l)h = 0

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 19 / 117

Page 20: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

1D problem: weak form IIWeak formulation [integral form]

Given f (x), g , and h, find u(x) such that ∀w(x):

∫ l

0

[w ,x u,x ] dx −

∫ l

0

[wf ] dx − w(l)h = 0 in Ω

withu(0) = g , w(0) = 0

Boundary condition u, x(l) = h has disappeared, i.e. no more required !!

Easy to obtain weak form from any differential problem

Mechanical interpretation: principle of virtual work Define internal virtual work Lint and external virtual work Lext as follows:

Lint =

∫ l

0[w ,x u,x ] dx , Lext =

∫ l

0[wf ] dx + w(l)h

with w(x) compatible virtual field Principle of virtual work states that:

equilibrium ⇔ Lint − Lext = 0 for all w(x)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 20 / 117

Page 21: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Static case: toward a weak/integral form I

Strong form [differential form]

Given b, u and t, find u such that:

div σ + b = 0 in Ω

u = u on ∂Ωu

σn = t on ∂Ωt

Toward a weak formulation [integral form]

Multiply differential equation by a generic “weight” function w Integrate product over problem domain Observe that integral is equal to zero Integrate by parts

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 21 / 117

Page 22: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Static case: weak form I

Multiply differential equation by a weight function w

w · (div σ + b) = 0

Integrate over domain and use integral additive property∫

Ω

[w · (div σ + b)] dΩ = 0

Ω

(w · div σ) dΩ+

Ω

(w · b) dΩ = 0

Use integration by parts and changing sign∫

Ω

(∇w : σ) dΩ−

∂Ω

(w · σn) dΩ−

Ω

(w · b) dΩ = 0

Introducing boundary conditions and requiring w = 0 on ∂Ωu

Ω

(∇w : σ) dΩ−

∂Ωt

(w · t) dΩ−

Ω

(w · b) dΩ = 0

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 22 / 117

Page 23: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Static case: weak form IIWeak formulation [integral form]

Given b, u, t, find u such that ∀w:∫

Ω

[∇w : σ(u)] dΩ−

∂Ωt

w · tdΩ−

Ω

w · bdΩ = 0

withu = u and w = 0 on ∂Ωu

Boundary condition σn = t no more required !!

Easy to obtain weak form from any differential problem

⋆ Mechanical interpretation: principle of virtual work

Lint − Lext = 0 with

Lint =

Ω

[∇w : σ(u)] dΩ

Lext =

∂Ωt

w · tdΩ−

Ω

w · bdΩ

with w compatible virtual field

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 23 / 117

Page 24: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Static case: weak form I

On ∂Ωu we have u = u ⇒ w = 0that is: since on ∂Ωu the unknown function u(x) has a known value, there is noneed to consider a non null variationhence: on ∂Ωu the weight function can be zero ⇒ w(x) = 0

On ∂Ωt we have σn = t ⇒ w 6= 0that is: since on ∂Ωt the unknown function u(x) has a unknown value, there is theneed to consider a non null variationhence: on ∂Ωt the weight function cannot be zero ⇒ w(x) 6= 0

Similarly: for any x the unknown function u(x) has an unknown value, there is theneed to consider a non null variationhence: for any x the variation should be non zero ⇒ w(x) 6= 0

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 24 / 117

Page 25: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Elasticity: weak form I

STEP 1: construct weak form, or start from “Principle of virtual work”

Ω

εεε(w)Tσ(u)

dV −

Ω

[

wTb]

dV −

∂Ωt

wT tdA = 0 (2)

which should be verified for any displacement variation w

Remarks:

Matrix (engineering) notation more appropriate for computer implementation w plays role of weight function !! εεε(u) = ∇u , εεε(w) = ∇w σ = σ(u) in general, σ = Dεεε(u) for linear elasticity⋆ Ω can be either a 3D or a 2D domain

Ω ⊂ R3 → u: 3 component vectorεεε: 6 component vectorD: 6× 6 matrix

Ω ⊂ R2 → u: 2 component vectorεεε: 3 component vectorD: 3× 3 matrix

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 25 / 117

Page 26: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Elasticity: weak form II

Weak form 2 can be rewritten using formal integro-differential operators

a(u,w)− (b,w) = 0

with

a(u,w) =

Ω

[

εεε(w)Tσ(u)]

dV

(b,w) =

Ω

[

wTb]

dV +

∂Ωt

wT tdA

Weak form 2 can be also extended to a linear thermo-elastic material

σ = D [εεε(u)− α (T − T0)1]

with α thermo-elastic coefficient, T0 reference stress-free temperature, 1 theisotropic identity matrix (second-order tensor)

Weak form 2 can be also extended to non-linear (elastic or inelastic) materials

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 26 / 117

Page 27: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM for elasticity I

STEP 2: introduce field approximation based on domain discretization (mesh) withelements of finite dimensions (finite elements)

ndm: problem space dimensionnnp: number of mesh nodes (nodal points) [ nnp = numnp ]nel: number of mesh elements [ nel = numel ]ndf: maximum number of unknowns per nodenen: maximum number of nodes per elementneq: number of active equations

Standard situations:

→ For a three-dimensional elastic problem: ndm = ndf = 3→ For a two-dimensional elastic problem: ndm = ndf = 2→ For a two-dimensional thermo-elastic problem: ndm = 2 , ndf = 3

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 27 / 117

Page 28: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM for elasticity: discretization I

At continuous level deal with a space of infinite dimension

u(x) ∈ S

S space of infinite dimension

Simpler to search solution in a space of finite dimension

u(x) ≈ N1(x)u1 + ....+ N4(x)u4 ∈ Sh

Sh space of finite dimension R3 is an example of space of finite dimension

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 28 / 117

Page 29: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM for elasticity I

Introduce vector field discretization, i.e. displacements and displacement variations

u(x) =

nnp∑

j=1

Nj (x)uj = N(x)u w(x) =

nnp∑

i=1

Ni (x)wi = N(x)w

where: uj : nodal unknown parameter vectors (ndf × 1) wi : nodal arbitrary parameter vectors (ndf × 1) Ni (x): shape function matrices (ndf × ndf ) u and w: collection of nodal parameters (neq × 1) N(x): collection of shape functions (ndf × neq)

Accordingly, associated strain fields

εεε(u) = ∇u =

nnp∑

j=1

(∇Nj ) uj =

nnp∑

j=1

Bj uj = Bu

εεε(w) = ∇w =

nnp∑

i=1

(∇Ni ) wi =

nnp∑

i=1

Bi wi = Bw

where: Bj : shape function derivative matrices (6× ndf in 3D, 3× ndf in 2D) B: collection of shape function derivative (6× neq in 3D, 3× neq in 2D)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 29 / 117

Page 30: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM for elasticity: a possible shape function choice I

For 3D problems ⇒ displacement vector has 3 components:

u = u, v ,wT

Since displacement components u, v ,w are “in general” seen as independent fields,general interpolation position looks like

u

v

w

=

j Nj uj∑

j Nj vj∑

j Nj wj

=∑

j

Nj 0 00 Nj 00 0 Nj

ujvjwj

Recalling

u =

nnp∑

j=1

Nj uj

we conclude

Nj =

Nj 0 00 Nj 00 0 Nj

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 30 / 117

Page 31: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM for elasticity: a possible shape function choice I

For 3D problems ⇒ strain vector has 6 components:

εεε = ǫxx , ǫyy , ǫzz , γxy , γyz , γxzT

Accordingly:

ǫxx =∂u

∂x=∑

j

∂Nj

∂xuj , ǫyy =

∂v

∂y=∑

j

∂Nj

∂xvj , ....

γxy =∂u

∂y+

∂v

∂x=∑

j

∂Nj

∂yuj +

j

∂Nj

∂xvj , ....

Hence:

εεε =∑

j

Bj uj with Bj =

Nj,x 0 00 Nj,y 00 0 Nj,z

Nj,y Nj,x 00 Nj,z Nj,y

Nj,z 0 Nj,x

Exercise. Compute Ni and Bi for 2D elasticity.

Exercise. Compute D for 3D elasticity, 2D plane strain elasticity, 2D plane stress elasticity.

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 31 / 117

Page 32: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM for elasticity I

⋆ Substitute compact approximation of weight functions in weak form∫

Ω

[

(Bw)T σ (u)]

dV −

Ω

[

(Nw)T b]

dV −

∂Ωt

(Nw)T tdA = 0

to be verified for any displacement variation w i.e. for any set of parameters w

Accordingly, we have:

wT

Ω

[

BTσ(u)

]

dV −

Ω

[

NTb]

dV −

∂Ωt

NT tdA

= 0

Due to arbitrariness of w, go from scalar to vector equation

R =

Ω

[

BTσ(u)

]

dV −

Ω

[

NTb]

dV −

∂Ωt

NT tdA = 0

⋆ Equation in residual form!!

For a linear elastic material σ = Dεεε = DBu

R =

Ω

[

BTDBu

]

dV −

Ω

[

NTb]

dV −

∂Ωt

NT tdA = 0

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 32 / 117

Page 33: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM for linear elasticity I

For a linear elastic material (no surface forces !!) write previous equation in matrixform

R = Ku− f = 0 or Ku = f

whereK =

Ω

[

BTDB]

dV global stiffness matrix

f =

Ω

[

NTb]

dV global load vector

Using integral additive property, switch to an element point of view:

K =

Ω

[

BTDB]

dV =

nel∑

e=1

Ωe

[

BTDB]

dV =Anele=1K

e

f =

Ω

[

NTb]

dV =

nel∑

e=1

Ωe

[

NTb]

dV =Anele=1f

e

where

Ke =

Ωe

[

BTDB]

dV element stiffness matrix

fe =

Ωe

[

NTb]

dV element load vector

⋆ Assembly operator A

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 33 / 117

Page 34: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Stiffness construction I

Example: 2D elastic problem

ndm = 2 space dimension of meshnel number of mesh elementsndf = 2 maximum number of unknowns per nodenen maximum number of nodes per elementneq number of active equations

Ke has dimension nst × nst [ normally nst = ndf × nen ]

K has dimension neq × neq

for e = 1 to nel

construct Ke

assemble Ke into Kend if

TRInen= 3nst = 6

QUADnen= 4nst = 8

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 34 / 117

Page 35: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM for elasticity: second approach I

⋆ We may also use other interpolation expression (through nodal quantities)

Substitute approximation in weak form

Ω

(

nnp∑

i

Bi wi

)T

σ (u)

dV−

Ω

(

nnp∑

i

Ni wi

)T

b

dV−

∂Ωt

(

nnp∑

i

Ni wi

)T

tdA = 0

to be verified for any displacement variation w i.e. for any set of parameters wi

Due to arbitrariness of wi we conclude that:

Ri =

Ω

[

BTi σ(u)

]

dV −

Ω

[

NTi b]

dV −

∂Ωt

NTi tdA = 0

Obtain nnp vector equations, each one composed by ndf scalar equations

For a linear elastic material σ = Dεεε(u) = D(∑nnp

i Bj uj

)

= D (Bj uj ) (i.e., adoptingsummation convention)

Ri =

Ω

[

BTi DBj uj

]

dV −

Ω

[

NTi b]

dV −

∂Ωt

NTi tdA = 0

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 35 / 117

Page 36: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

FEM for elasticity: second approach I

For a linear elastic material – neglecting also surface force term – write previousequation in matrix form

Ri = Kij uj − fi = 0 or Kij uj = fi

whereKij =

Ω

[

BTi DBj

]

dV node-to-node stiffness matrix

fi =

Ω

[

NTi b]

dV node-to-node load vector

Using integral additive property, switch to an element point of view:

Kij =

Ω

[

BTi DBj

]

dV =nel∑

e=1

Ωe

[

BTi DBj

]

dV =nel∑

e=1

Keij

fi =

Ω

[

NTi b]

dV =nel∑

e=1

Ωe

[

NTi b]

dV =nel∑

e=1

fei

where

Keij =

Ωe

[

BTi DBj

]

dV node-to-node element stiffness matrix

fei =

Ωe

[

NTi b]

dV node-to-node element load vector

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 36 / 117

Page 37: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Stiffness construction: second approach I

Example: 2D elastic problem

ndm=2 space dimension of meshnel number of mesh elementsndf=2 maximum number of unknowns per nodenen maximum number of nodes per elementneq number of active equations

for e = 1 to nel

construct Ke

for i = 1 to nen

for j = 1 to nen

construct Keij

end ifend ifassemble Ke

ij into Ke

assemble Ke into Kend if

K has dimension neq × neq

Ke has dimension nst × nst (normally nst = ndf × nen)

Keij has dimension ndf × ndf

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 37 / 117

Page 38: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D problem: 2D elements I

TRInen= 3nst = 6

QUADnen= 4nst = 8

Choose shape functions such that Ke and fe are easy to compute Local shape functions Hat shape functions

Piecewise linear shape functions

Ni (xi ) = 1 , Ni (xj ) = 0 with j 6= i

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 38 / 117

Page 39: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D TRI-3 element I

TRI-3: linear triangular element

Using three nodes, very simple to construct linear (complete) interpolating functions

Construct interpolating functions element-by-element !!

Need to introduce area coordinates L1, L2, L3

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 39 / 117

Page 40: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D TRI-3 element II

Area coordinates constructed such that:

x = L1x1 + L2x2 + L3x3

y = L1y1 + L2y2 + L3y3

1 = L1 + L2 + L3

(3)

Functions L1, L2, L3 are s.t.

Li (xi ) = 1 , Li (xj ) = 0 with i 6= j

Very simple to construct L1:

L1(x) =Area triangle ( I-2-3 )

Area triangle ( 1-2-3 )

which is also the reason for calling them“area coordinates”

Other functions obtain with cyclic rotation of indices !!

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 40 / 117

Page 41: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D TRI-3 element III

Alternatively, we can compute L1, L2, L3 solving equation 3, obtaining

L1 =a1 + b1x + c1y

2∆

where

∆ =1

2det

1 x1 y11 x2 y21 x3 y3

= Area triangle ( 1-2-3 )

and

a1 = x2y3 − x3y2

b1 = y2 − y3

c1 = x3 − x2

Other functions obtain with cyclic rotation of indices !!

Interesting aspect: easy to compute close form integrals

La1L

b2L

c3dxdy = 2∆

a!b!c!

(a + b + c + 2)!

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 41 / 117

Page 42: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D TRI-3 element IV

For a 3-node triangle:

Li =ai + bix + ciy

2∆

hence∂

∂xLi =

bi

2∆,

∂yLi =

ci

2∆

Therefore:

Bi =1

2∆

bi 00 cici bi

For a homogeneous body

Keij =

[

BTi DBj

]

d∆ =1

2∆

[

BTi DBj

]

Exercise. Study Matlab code and modify to run problems with surface load. Run a simplepatch test.

Exercise. Solve a convergence problem plotting error curves

Exercise. Study a problem with ν = 0.49, 0.4999, 0.499999

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 42 / 117

Page 43: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D elastic problems I

Convergence for a known problem

Look at a problem for which exact solution is known

Compare numerical solution vs exact solution

error =||unum − uex ||

||uex ||

Importance of right norm from a mathematical point of view

First indication from engineering considerations (displacement in a point!)

Example of patch tests

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 43 / 117

Page 44: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D elastic problems II

Important the form in which you plot the error

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 44 / 117

Page 45: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D elastic problems I

Locking effects

Inability to produce some specific situations

Study a problem with ν = 0.49, 0.4999, 0.499999

In the limit obtain a problem with no volumetric changes

Problem comes out from inability of discrete displacement to satisfy a constraint(beam/plate shear locking, shell membrane/bending locking)

Need for other formulations besides displacement-based ones

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 45 / 117

Page 46: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D elastic problems II

Different formulations are possible

Displacement formulations (Principle of virtual work)

R(u) = 0

Incompatible formulations

R(u) = 0 with u = ucomp + uincomp

Enhanced formulations

R(u,α) = 0 with εεε = Lu+α

Mixed formulationsR(u,σ) = 0 Hellinger-Reissner

R(u,εεε,σ) = 0 Hu-Washizu

with u, εεε and σ independent approximations (!)

Possible many other approaches: under-integrated, stabilized, etc. etc.

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 46 / 117

Page 47: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D QUAD isoparametric element I

QUAD-4: Bilinear quadrilateral element

We may think of two different set of interpolations

Geometric interpolation Unknown field interpolation

x = x(xi ) , u = u(ui)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 47 / 117

Page 48: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D QUAD isoparametric element I

Bilinear quadrilateral element

To construct shape functions, convenient to introduce a parent element Parent element: fixed known geometry Current element: variable geometry (nodal coordinates depend on specific element)

ξ: coordinates for parent element (often called natural coordinates)

x: coordinates for current element

ξ =

ξ

η

, x =

x

y

Clearly, we can introduce a map from current to parent element and viceversa

ξ = ξ(x) , x = x(ξ)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 48 / 117

Page 49: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D QUAD isoparametric element I

Restrict attention to a single element

Using same interpolating functions for unknown interpolation as well as for x = x(ξ)geometrical interpolation ⇒ isoparametric element

u =

u

v

,

u ≈ uh =

4∑

i=1

Ni ui

v ≈ vh =

4∑

i=1

Ni vi

x =

x

y

,

x =4∑

i=1

Ni xi

y =

4∑

i=1

Ni yi

where xi and yi are the x- and y-coordinates of the element nodes

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 49 / 117

Page 50: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D QUAD isoparametric element I

At this stage Ni are functions defined on parent element

Ni = Ni (ξ, η) = Ni (ξ)

Once defined on parent element, Ni functions can be mapped to current element ifor whenever necessary:

ξ = ξ(x) ⇒ Ni = Ni (ξ) = Ni (ξ(x)) = Ni (x)

Easier to define Ni on parent element since parent element has a fixed geometry

Possible choice:

Ni =1

4

(

1 + ξiξ)

(1 + ηiη)

with ξi and ηi nodal parent coordinates, i.e.:

ξ1 = −1 , ξ2 = 1 , ξ3 = 1 , ξ4 = −1

η1 = −1 , η2 = −1 , η3 = 1 , η4 = 1

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 50 / 117

Page 51: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D QUAD isoparametric element I

Explicit expression for shape functions

N1 =1

4(1− ξ) (1− η)

N2 =1

4(1 + ξ) (1− η)

N3 =1

4(1 + ξ) (1 + η)

N4 =1

4(1− ξ) (1 + η)

Note that :

Ni (ξi ) = 1 , Ni (ξj) = 0

Recall: a shape function is relative to a node in global setting and it is not definedonly on a single element

Consider different element patches

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 51 / 117

Page 52: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D QUAD isoparametric element I

Shape functions depend on the natural coordinates ξ

Ni (ξ)

Shape function derivatives computed wrt current coordinates x

∂Ni

∂x

Required a change of coordinates (chain rule!!)

u = u(ξ) = u(ξ(x))

u,x =∂u

∂x=

∂u

∂ξ

∂ξ

∂x+

∂u

∂η

∂η

∂x

u,y =∂u

∂y=

∂u

∂ξ

∂ξ

∂y+

∂u

∂η

∂η

∂y

u,x

u,y

=

∂ξ

∂x

∂η

∂x∂ξ

∂y

∂η

∂y

∂u

∂ξ

∂u

∂η

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 52 / 117

Page 53: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D QUAD isoparametric element I

Derivatives wrt natural coordinates are easy to compute

∂u

∂ξ=

∂ξ

(

4∑

i=1

Ni ui

)

=4∑

i=1

(

∂ξNi

)

ui =4∑

i=1

Ni,ξui

∂u

∂η=

∂η

(

4∑

i=1

Ni ui

)

=4∑

i=1

(

∂ηNi

)

ui =4∑

i=1

Ni,η ui

Accordingly:

Ni =1

4

(

1 + ξiξ)

(1 + ηiη)

Ni,ξ =1

4ξi (1 + ηiη)

Ni,η =1

4ηi(

1 + ξiξ)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 53 / 117

Page 54: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D QUAD isoparametric element I

Slightly more complex to compute:

F =

∂ξ

∂x

∂η

∂x∂ξ

∂y

∂η

∂y

This is the transpose of the jacobian relative to the coordinate change

ξ = ξ(x)

Since we know the inverse relation

x = x(ξ)

we can easily compute:

G =

∂x

∂ξ

∂x

∂η

∂y

∂ξ

∂y

∂η

Then:F = G−T

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 54 / 117

Page 55: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D isoparametric element I

Feap already provides you with all the subroutine for implementing a 2D isoparametricelement. In particular:

subroutine shp2Dit computes shape functions and derivatives for quadrilateral elements

up to 9 node elements possible to compute derivatives wrt to natural or to current coordinates compute also jacobian determinant shp2d(ss,xl,shp,xsj,ndm,nel,ix,flg)

subroutine elmt01dummy subroutine for the implementation of a user element

elmt01 (d,ul,xl,ix,tl,s,p,ndf,ndm,nst,isw)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 55 / 117

Page 56: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D isoparametric element I

% subroutine shp2d(ss,xl,shp,xsj,ndm,nel,ix,flg)%

%c-----[--.----+----.----+----.-----------------------------------------]%c Purpose: Computes shape function and derivatives for

%c quadrilateral elements%%c Inputs:

%c ss(2) - Natural coordinates for point%c xl(ndm,*) - Nodal coordinates for element

%c ndm - Spatial dimension of mesh%c nel - Number of nodes on element

%c ix(*) - Nodes attached to element%c flg - Flag, compute global x/y derivatives if false,%c else derivatives are w/r natural coords.

%%c Outputs:

%c shp(3,*) - Shape functions and derivatives at point%c shp(1,i) = dN_i/dx or dN_i/dxi_1%c shp(2,i) = dN_i/dy or dN_i/dxi_2

%c shp(3,i) = N_i%c xsj - Jacobian determinant at point

%c-----[--.----+----.----+----.-----------------------------------------]

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 56 / 117

Page 57: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D isoparametric element I

c**********************************************************************]

cc ELASTIC 2D QUADRILATERAL ELEMENT: DISPLACEMENT FORMULATIONc

c**********************************************************************]c

c Parameter passed :cc d(*) = array storing material parameter

c ul(ndf,nen) = displ. i: dof (u,v), j: node # (1->4)c xl(ndm,nen) = nodal coord’s i: (x,y)-coord. j: node # (1->4)

c ix(*) = global/local node number (0 free - 1 fixed)c tl(*) = nodal temperature array

c s(nst,nst)= stiffness matrixc p(nst) = residualc ndf = max. n. of dof at any nodes = 2

c ndm = spatial dimension of the problem = 2c nst = ndf*nen 2 x 4 = 8

c isw = action to performcc----------------------------------------------------------------------]

cc nel = max. n. of nodes on current element = 4

c nen = max. n. of nodes connected to any element = 4c

c**********************************************************************]

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 57 / 117

Page 58: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D numerical integration I

General term in the element stiffness:

Ωe

f (x)dA

Transform integration over Ωe to integration over , with the bi-unit parentelement

Ωe

f (x)dA =

f [x(ξ)]Jd

where: the function expression does not change, i.e.:

f (x) = f [x(ξ)]

J is the determinant of the jacobian matrix corresponding to the map x = x(ξ), i.e.:

J = det

(

∂x

∂ξ

)

= det(G)

For a 2D problem

J =

∂x

∂ξ

∂x

∂η

∂y

∂ξ

∂y

∂η

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 58 / 117

Page 59: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D numerical integration I

General term in the element stiffness

g(ξ)d

Function g is usually quite complex and non-linear (i.e., it includes also jacobiandeterminant)

Possible and convenient to compute integrals in close form only for specific cases(linear triangles)

Non practical or not possible to compute it in close form in the general case

Adopt numerical integration (quadrature formulas)

g(ξ)d ≈

ng∑

l=1

g(ξl)wl

where:⋆ ξl : well-defined points where function should be evaluated⋆ wl : weights

Integration over parent element transformed into a combination – through theweights wl – of the function evaluated at specific point

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 59 / 117

Page 60: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

2D numerical integration. Gauss-Legendre I

Many quadrature formulas exist

Gauss-Legendre quadrature are the most accurate for polynomials

Gauss quadrature are generally tabulated over the range of coordinates −1 < ξ < 1(hence our main reason for also choosing many shape functions on this interval)

In 1D Gaussian quadrature integrates a functions with the following approximation:

∫ 1

−1

f (ξ)dξ =n∑

j=1

f (ξj)wj +O

(

d2nf

dξ2n

)

with j the points where the function is evaluated and wj the weights

A n-point Gauss formula integrates exactly a polynomial of order 2n − 1

Integrations over multi-dimensional problems may be performed by products of theonedimensional formula

As an example in 2D

∫ 1

−1

∫ 1

−1

f (ξ, η)dξdη ≈n∑

j=1

n∑

k=1

f (ξj , ηk )wjwk

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 60 / 117

Page 61: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: construction of local stiffness matrix I

Shape functions

Ni = Ni , N1×4 =[

N1 N2 N3 N4

]

Shape function derivatives

[

∂N

∂ξ

]

ij

=∂Nj

∂ξi

,

[

∂N

∂ξ

]

2×4

=

∂N1

∂ξ

∂N2

∂ξ

∂N3

∂ξ

∂N4

∂ξ∂N1

∂η

∂N2

∂η

∂N3

∂η

∂N4

∂η

[

∂N

∂x

]

ij

=∂Nj

∂xi,

[

∂N

∂x

]

2×4

=

∂N1

∂x

∂N2

∂x

∂N3

∂x

∂N4

∂x∂N1

∂y

∂N2

∂y

∂N3

∂y

∂N4

∂y

Shape-function and shape-function derivatives wrt natural coordinates (easy !!)

Ni =1

4

(

1 + ξiξ)

(1 + ηiη)

Ni,ξ =1

4ξi (1 + ηiη)

Ni,η =1

4ηi(

1 + ξiξ)

withξ =

−1 1 1 −1

η =

−1 −1 1 1

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 61 / 117

Page 62: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: construction of local stiffness matrix II

Shape-function chain-rule

∂Ni

∂x=

∂Ni

∂ξ

∂ξ

∂x+

∂Ni

∂η

∂η

∂x=

[

∂ξ

∂x

∂η

∂x

]

∂Ni

∂ξ∂Ni

∂η

∂Ni

∂x∂Ni

∂y

=

∂ξ

∂x

∂η

∂x∂ξ

∂y

∂η

∂y

∂Ni

∂ξ∂Ni

∂η

∂N1

∂x

∂N2

∂x

∂N3

∂x

∂N4

∂x∂N1

∂y

∂N2

∂y

∂N3

∂y

∂N4

∂y

=

∂ξ

∂x

∂η

∂x∂ξ

∂y

∂η

∂y

∂N1

∂ξ

∂N2

∂ξ

∂N3

∂ξ

∂N4

∂ξ∂N1

∂η

∂N2

∂η

∂N3

∂η

∂N4

∂η

[

∂N

∂x

]

2×4

=

[

∂ξ

∂x

]T

2×2

[

∂N

∂ξ

]

2×4

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 62 / 117

Page 63: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: construction of local stiffness matrix III

Jacobian transformationNeed to compute

∂ξ

∂x

∂η

∂x∂ξ

∂y

∂η

∂y

=

[

∂ξ

∂x

]T

=

(

[

∂x

∂ξ

]T)

−1

First compute

[

∂x

∂ξ

]T

=

∂x

∂ξ

∂y

∂ξ∂x

∂η

∂y

∂η

Geometric map

x = x(ξ) ⇒ x =4∑

i=1

Ni xi , y =4∑

i=1

Ni yi

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 63 / 117

Page 64: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: construction of local stiffness matrix IV

[

∂x

∂ξ

]T

11

=∂x

∂ξ=

4∑

i=1

∂Ni

∂ξxi

[

∂x

∂ξ

]T

12

=∂y

∂ξ=

4∑

i=1

∂Ni

∂ξxi

[

∂x

∂ξ

]T

21

=∂x

∂η=

4∑

i=1

∂Ni

∂ηxi

[

∂x

∂ξ

]T

22

=∂y

∂η=

4∑

i=1

∂Ni

∂ηxi

jac = det

(

∂x

∂ξ

)

= det(G)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 64 / 117

Page 65: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: construction of local stiffness matrix V

Final matrices for load and stiffness construction

N =

[

N1 0 N2 0 N3 0 N4 00 N1 0 N2 0 N3 0 N4

]

B =

∂N1

∂x0

∂N2

∂x0

∂N3

∂x0

∂N4

∂x0

0∂N1

∂y0

∂N2

∂y0

∂N3

∂y0

∂N4

∂y∂N1

∂y

∂N1

∂x

∂N2

∂y

∂N2

∂x

∂N3

∂y

∂N3

∂x

∂N4

∂y

∂N4

∂x

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 65 / 117

Page 66: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: the code! I

Finite element driver for 4-node plane strain elastic problems

%==========================================================================

%% CODE: elast

%% Solve quite-general 2D elastic problems reading input data from files

%%==========================================================================% xxx_nodes.dat

% node1,ngen,x1,y1% node2,ngen,x2,y2

%% xxx_elements.dat% nelm1,ngen,matn,node1,node2,node3,node4

% nelm2,ngen,matn,node1,node2,node3,node4%

% xxx_loads.dat% node1,ngen,loadx1,loady1

% node2,ngen,loadx2,loady2%% xxx_bc.dat

% node1,ngen,bcx1,bcy1% node2,ngen,bcx2,bcy2

%%==========================================================================

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 66 / 117

Page 67: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: the code! II

clcclear all

ngdl = 2; % number of gdl / node

nen = 4 % Maximum number of nodes on any elementnmat = 1 % Maximum number of material properties

ngauss = 3

ee = 1000; % Input material parameters

nu = 0.3;mat(1,1) = ee;

mat(1,2) = nu;

fx = 0; % Input volume loads [ feature not tested yet !! ]

fy = 0;

% load mesh data and material properties

load square_nodes.datload square_elements.datload square_loads.dat

load square_bc.dat

nodes = square_nodes;elements = square_elements;loads = square_loads;

bc = square_bc;

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 67 / 117

Page 68: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: the code! III

% Compute problem characteristic dimensions

nnod = size(nodes,1);nel = size(elements,1);

ndof = nnod * ngdl;

% Number dofs for all nodes

dofs = zeros(nnod,2);

number = [1:nnod*2];dofs = reshape(number,2,nnod)’; % dofs = [ u1, u2, ... un, v1, v2, ... vn ]

% Construct connectivity matrix

connect = zeros(nel,nen);connect(:,[1:4]) = elements(:,[4:4+nen-1]);

% Inizialize solution quantities

%k_gl = sparse(ndof,ndof);k_gl = zeros(ndof,ndof);

f_gl = zeros(ndof,1);displ = zeros(nnod,3);

% Compute gauss point and weights on parent element

[gp,gw] = HP_gauleg(-1,1,ngauss);

% Construct stiffness matrix

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 68 / 117

Page 69: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: the code! IV

for i = 1:nel % loop over elements

nodes_el = connect(i,1:4); % extract local nodes

coor_el = nodes(nodes_el,3:4); % extract coord element nodesdofs_el = dofs(nodes_el,1:2); % extract local dofsmat_el = mat(elements(i,3),:); % extract material number

[k_el,f_el] = k_el_q1(mat_el,coor_el,gp,gw,fx,fy); % compute element stiffness

[k_gl,f_gl] = assembl_el(k_el,k_gl,f_el,f_gl,dofs_el);% assemble into global stiffness

end

f_gl = assembl_load(f_gl,loads,dofs);

[k_gl,f_gl] = reduce_bc(k_gl,f_gl,bc,dofs);

u_gl = k_gl\f_gl; % solve the linear system by gaussian elimination

plot_sol(nodes,u_gl)

format longu_gl(end-1)u_gl(end)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 69 / 117

Page 70: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: the code! V

4-node plane strain elastic element. Stiffness and load construction

%---------------------------------------------------------------------

% 4-node plane strain elastic element. Stiffness and load construction%% Input:

% mat_el = material data% coor_el= element nodal coordinates

% gp = integration pts for Gauss-integration% gw = weight vector for Gauss-integration% fx = body force in the x-direction

% fy = body force in the y-direction%

% Output:%

% (converted from q1 element by Alessandro Reali)%---------------------------------------------------------------------

function [k_el,f_el]=k_el_q1(mat_el,coor_el,gp,gw,fx,fy)

E = mat_el(1);nu = mat_el(2);mu = E/(2*(1 + nu));

lambda = E*nu/((1 + nu)*(1 - 2*nu));

CC = mu*[2 0 0;0 2 0;0 0 1] + lambda*[1 1 0; 1 1 0; 0 0 0];

ngauss = size(gw,2);

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 70 / 117

Page 71: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: the code! VI

AA = zeros(2,8);

BB = zeros(3,8);k_el = zeros(8,8);

f_el = zeros(8,1);

N = zeros(1,4);dN_dxi = zeros(2,4);dN_dx = zeros(2,4);

for ig = 1:ngauss

for jg = 1:ngauss

N(1) = (1 - gp(ig))*(1 - gp(jg))/4; % bilinear shape functions

N(2) = (1 + gp(ig))*(1 - gp(jg))/4;N(3) = (1 + gp(ig))*(1 + gp(jg))/4;

N(4) = (1 - gp(ig))*(1 + gp(jg))/4;

dN_dxi(1,1) = -(1 - gp(jg))/4; % shape-function derivativesdN_dxi(1,2) = (1 - gp(jg))/4; % wrt csidN_dxi(1,3) = (1 + gp(jg))/4;

dN_dxi(1,4) = -(1 + gp(jg))/4;

dN_dxi(2,1) = -(1 - gp(ig))/4; % shape-function derivativesdN_dxi(2,2) = -(1 + gp(ig))/4; % wrt etadN_dxi(2,3) = (1 + gp(ig))/4;

dN_dxi(2,4) = (1 - gp(ig))/4;

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 71 / 117

Page 72: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: the code! VII

% Jacobian matrix inverse [ matrix "G^T" in the notes ]dx_dxiT = zeros(2,2);

for i = 1:4dx_dxiT(1,1) = dx_dxiT(1,1) + coor_el(i,1)*dN_dxi(1,i);

dx_dxiT(1,2) = dx_dxiT(1,2) + coor_el(i,2)*dN_dxi(1,i);dx_dxiT(2,1) = dx_dxiT(2,1) + coor_el(i,1)*dN_dxi(2,i);

dx_dxiT(2,2) = dx_dxiT(2,2) + coor_el(i,2)*dN_dxi(2,i);endJac = det(dx_dxiT);

% Jacobian matrix [ matrix "F" in the notes ]

dxi_dxT = inv(dx_dxiT);

dN_dx = dxi_dxT * dN_dxi;

gwt = gw(ig)*gw(jg)*Jac;

AA(1,1:2:7) = N;

AA(2,2:2:8) = N;

BB([1,3],1:2:7) = dN_dx;

BB([3,2],2:2:8) = dN_dx;

k_el = k_el + BB’*CC*BB *gwt;f_el = f_el + AA’*[fx;fy] *gwt;

endend

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 72 / 117

Page 73: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: the code! VIIIAssembling of element stiffness matrix and load vector

function [k_gl,f_gl] = assembl_el(k_el,k_gl,f_el,f_gl,dofs_el)

% set global and local indices

index_gl = reshape(dofs_el’,1,8);index_loc = [1:8];

% assemble k_el into k_gl

k_gl(index_gl,index_gl) = k_gl(index_gl,index_gl) +...k_el(index_loc,index_loc);

return

Construction of global load contribution

function f_gl = assembl_load(f_gl,loads,dofs)

nload = size(loads,1);

for i=1:nload

nn = loads(i,1);index_gl = dofs(nn,:);f_gl(index_gl) = f_gl(index_gl) + loads(i,3:4)’;

end

return

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 73 / 117

Page 74: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: the code! IX

Imposition of boundary conditions on global stiffness matrix and load vector

function [k_gl,f_gl] = reduce_bc(k_gl,f_gl,bc,dofs)

nbc = size(bc,1);

pt = 2; % pointer to position in "bc" array

for i=1:nbcnn = bc(i,1); % node with boundary condition

for j=1:2 % explore all dofs / node

if (bc(i,pt+j)==1) % if active boundary condition

index_gl = dofs(nn,j); % global dof number

f_gl(index_gl) = 0; % modify global load vectork_gl(index_gl,:) = 0; % modify global tangent vector

k_gl(:,index_gl) = 0;k_gl(index_gl,index_gl) = 1;

endend

endreturn

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 74 / 117

Page 75: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: some simple considerations I

2D elastic matrix

C = µ

2 0 00 2 00 0 1

+ λ

1 1 01 1 00 0 0

=

λ+ 2µ λ 0λ λ+ 2µ 00 0 µ

First consideration: third strain component is γ Second consideration: 3D constitutive

σ11

σ22

σ33

σ12

σ23

σ13

=

λ+ 2µ λ λ 0 0 0λ λ+ 2µ λ 0 0 0λ λ λ+ 2µ 0 0 00 0 0 µ 0 00 0 0 0 µ 00 0 0 0 0 µ

ε11ε22ε33ε12ε23ε13

Therefore ε33 = ε13 = ε23 = 0 ⇒ plain strain problem ⇒ σ33 6= 0

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 75 / 117

Page 76: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: some simple considerations II

Third consideration: solution for a unixial test σ22 = 0 patch testConsider inverse relation

ε11ε22ε33ε12

=1

E

1 −ν −ν 0−ν 1 −ν 0−ν −ν 1 00 0 0 1− ν

σ11

σ22

σ33

σ12

Eliminate third equation, imposing ε33 = 0, therefore

1

E[−ν (σ11 + σ22) + σ33] = 0 ⇒ σ33 = ν (σ11 + σ22)

Assume unixial traction condition σ22 = σ12 = 0, i.e.

ε11 =σ11

E−

ν

Eσ33

ε22 = −ν

E(σ11 + σ33)

ε11 =1− ν2

Eσ11

ε22 = −ν

E(1 + ν)σ11

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 76 / 117

Page 77: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: some simple tests I

Uniaxial patch test

Pure traction problem

The problem admits a simple analytical solutions. Solve the problem for example with

L = 10 , E = 1000 , ν = 0.3

Solution @x = y = 10 ⇒

u = 9.1× 10−3

v = −3.9× 10−3

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 77 / 117

Page 78: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: some simple tests II

Solve now numerically using a 2× 2 element regular mesh Solve numerically using a 2× 2 element non-regular mesh Solve numerically using a 10× 10 element regular mesh

Verify that for all the problems it is possible to obtain the correct solutionindependently of the number of the elements and of the mesh regularity

Improve the code computing and plotting the stresses and the strains.

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 78 / 117

Page 79: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: some simple tests III

Element stiffness matrix

5.7692E + 02 2.4038E + 02 −3.8462E + 02 4.8077E + 01 −2.8846E + 02 ...

2.4038E + 02 5.7692E + 02 −4.8077E + 01 9.6154E + 01 −2.4038E + 02 ...

−3.8462E + 02 −4.8077E + 01 5.7692E + 02 −2.4038E + 02 9.6154E + 01 ...

4.8077E + 01 9.6154E + 01 −2.4038E + 02 5.7692E + 02 −4.8077E + 01 ...

−2.8846E + 02 −2.4038E + 02 9.6154E + 01 −4.8077E + 01 5.7692E + 02 ...

−2.4038E + 02 −2.8846E + 02 4.8077E + 01 −3.8462E + 02 2.4038E + 02 ...

9.6154E + 01 4.8077E + 01 −2.8846E + 02 2.4038E + 02 −3.8462E + 02 ...

−4.8077E + 01 −3.8462E + 02 2.4038E + 02 −2.8846E + 02 4.8077E + 01 ...

Prove the correctness of stiffness matrix, for example summing up all the rowscorresponding to horizontal dofs lying on the right of the element. What is thephysical meaning of the results ??

Prove that homothetically scaling the element dimension (from a square of side 1 to asquare of side 5) the element stiffness does not change.

Is the previous result general ?? Why not??

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 79 / 117

Page 80: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: some simple tests IV

Bending patch test

Pure bending problem

Solve now numerically using a 1× 2 element regular mesh

Solve numerically using a 1× 2 element non-regular mesh

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 80 / 117

Page 81: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

A simple MATLAB FE code: some simple tests V

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 81 / 117

Page 82: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Finite difference method I

Finite difference method

A general discussion

A 1D problem

Extension to 2D

Finite-differences vs finite-elements

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 82 / 117

Page 83: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Finite difference method I

Finite difference method: a more traditional (but less flexible!)method to solve boundary value problems, directly in the differentialform

Two main steps to construct a finite-difference method from any ODE

1. Approximate derivatives with finite differences(differential → algebraic form)

2. Solve algebraic problem

Approach the solution directly from the differential form

Classical method to find a numerical solution of a differential equation

Derivatives are replaced by finite difference approximations

From differential directly to algebraic form

No need for a weak (integral) form

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 83 / 117

Page 84: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

1D problem: string under tension I

Strong formulation [differential form]

Given f (x), g and h, find u(x) such that:

u,xx +f = 0 in Ω

u(0) = g

u, x (l) = h

Same equation considered as example for FEM

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 84 / 117

Page 85: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Finite difference method: 1 D problem I

Introduce a spatial discretization of the domain based on equal spacing ∆x

Consider N-discretization internal points and indicate with ui = u(xi )

Approximate first derivative as

u′

i+ 12=

ui+1 − ui

∆x, u

i− 12=

ui − ui−1

∆x

Approximate second derivative as

u′′

i =u′

i+ 12− u′

i− 12

∆x=

ui+1−ui∆x

−ui−ui−1

h

∆x

Obtain the central difference approximation for the second derivative

u′′

i =ui+1 − 2ui + ui−1

(∆x)2

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 85 / 117

Page 86: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Finite difference method: 1 D problem II

Introduce approximation in the differential equation

ui+1 − 2ui + ui−1

(∆x)2+ fi = 0 for i = 1, ..N − 1

Previous equations represent a set of N equations

Need to consider also two boundary conditions

u0 = u(x = 0) = g

u′

N = u′(x = l) =

uN − uN−1

∆x= h

Obtain a total of N+2 equations for N+2 unknowns

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 86 / 117

Page 87: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Finite difference method: 2 D problem I

Possible to generalize to higher dimensional problems

uxx + uyy + f = 0 with u(x , y)

Central difference approximation

u,xx(xi , yi ) =1

(∆x)2[u(xi+1, yi )− 2u(xi , yi ) + u(xi−1, yi )]

u,yy (xi , yi ) =1

(∆y)2[u(xi , yi+1)− 2u(xi , yi ) + u(xi , yi−1)]

Stencil for uniform grid

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 87 / 117

Page 88: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Finite elements vs Finite differences I

Finite element method

+ Very flexible in terms of domain geometry+ Related to model derivation/approximation

(beam vs continuum, field order reduction)+ Contain finite-difference method (collocation schemes)- Naturally tied to less-natural variational format

Finite difference method

+ Historically first method+ Naturally tied to differential format+ Computationally very fast- Difficult to generalize to non-uniform stencils

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 88 / 117

Page 89: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamics I

Dynamic problems

Strong form

FE discrete form

Free-response / eigenvalue problem

Frequency response procedures

General time-histories

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 89 / 117

Page 90: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamic problem: strong/differential form in compact notation I

All the fields are now time-dependent

σ = σ(x, t) , εεε = εεε(x, t) , u = u(x, t)

Equilibrium:

div (σ) + b− ρu = 0 in Ω + BC σ(x, t)n = t(x , t) on ∂Ωt

Constitutive equation

σ = σ(εεε) general nonlinear elastic material

σ = Cεεε general linear elastic material

Compatibility

εεε = ∇su +

BC u(x, t) = u(x, t) on ∂Ωu

IC u(x, 0) = u0(x)

Some remarks:[div (σ)]i = σij,j

∂Ω = ∂Ωu ∪ ∂Ωt

σ = σ(u)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 90 / 117

Page 91: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamic problem: finite element formulation I

From now on assume trivial displacement BC (i.e. u = 0)

Follow steps very similar to static case

Introduce time-independent weight functions

w(x) = NI (x)wI

ObtainRI = −Rint

I + RextI − Rinert

I = 0

where

RintI =

Ω

BTI σ , Rext

I =

Ω

NTI b+

∂Ωt

NTI t , Rinert

I =

Ω

NTI ρu

Accordingly

RI (u, u) = 0

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 91 / 117

Page 92: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamic problem: finite element formulation II Introduce time-dependence displacement interpolation

u(x, t) = NI (x)uI (t)

such thatu(x, t) = NI (x)uI (t)

Accordingly

RinertI =

Ω

NTI ρNJ uJ = MIJ uJ

with

MIJ =

Ω

NTI ρNJ

Dynamical nodal discrete equilibrium equation

RI (uJ , uJ) = −RintI (uJ) + Rext

I −MIJ uJ = 0

Dynamical global discrete equilibrium equation

R(u, u) = −Rint(u) + Rext −Mu = 0

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 92 / 117

Page 93: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamic problem: finite element formulation III

For linear elastic problemMu+ Ku = f

Including also a linear viscous resistance dynamical equilibrium is

div (σ) + b− ρu− µu = 0

Linear elasticity and linear viscous resistance

Mu+ Cu+ Ku = f (4)

where

C =

Ω

NTµN

In structural analysis often assumption on the form of C

C = αM+ βK

with α and β to be determined experimentally

⋆ Focus now on the solution of equation 4, considering this also as the formcorresponding to a finite-difference approach (M and C diagonal!)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 93 / 117

Page 94: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamic problem: free-response / eigenvalue problem I

Case 1: no damping or forcing terms. Dynamical linear problem reduces as

Mu+ Ku = 0 (5)

A general solution can be written in the form

u = u exp(iωt)

with the corresponding real part representing an harmonic response since

exp(iωt) = cos(ωt) + i sin(ωt)

Back-substitution into equation 5 returns

(

−ω2M+ K

)

u = 0 (6)

i.e. a general linear eigenvalue or characteristic value problem

For non-zero solutions determinant of coefficient matrix must be zero

det(

−ω2M+ K

)

= 0 (7)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 94 / 117

Page 95: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamic problem: free-response / eigenvalue problem II

Provided that M and K are n × n symmetric-definite matrices, condition 7 gives npositive roots or eigenvalues ωi with i = 1..n

For each eigenvalue using equation 6 possible to compute the eigenvectors or normalmodes ui of the system

Eingenvectors in general are normalized

uTi Mui = 1

s.t.

uTi Kui = ω

2i

Recall classical orthogonality condition

uTi Muj = uT

i Kuj = 0 for i 6= j

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 95 / 117

Page 96: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamic problem: forced periodic response I

Case 2: periodic forcing term Assuming

f = f exp(αt)

with α complex (i.e. α = α1 + iα2), then general solution again written as

u = u exp(αt)

which plugged into linear dynamical equation gives

(

α2M+ αC+K

)

u = f

No more an eigenvalue problem, hence it can simply solved as

u = K−1f

where

K = α2M + αC+ K

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 96 / 117

Page 97: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamic problem: frequency response procedures I

Case 3: general (non-periodic) forcing term

We just showed that response of a linear dynamical system to a general periodicforce can be obtained solving a linear system

In general an arbitrary forcing function can be represented approximately by aFourier series

Accordingly, response to an arbitrary forcing function can be obtained properlycombining the response to a series of periodic forcing functions

The technique of frequency response is readily adapted to problems where thematrix C is of an arbitrary form

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 97 / 117

Page 98: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamic problem: modal decomposition analysis I

For free response the general solution is

u =

n∑

i

ui exp(αi t)

with αi complex eigenvalues and ui complex eigenvectors

For forced response we assume that the problem is linear and that the solution canbe expressed as a linear combination of the modes

u =n∑

i

uiyi (t) (8)

with yi scalar modal partecipation factors, assumed to be function of time

Position 8 presents no restriction as all the modes are linearly indipendent

Assume simplified version for damping matrix C = αM+ βK

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 98 / 117

Page 99: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

Dynamic problem: modal decomposition analysis II

Using position 8 in the dynamical equation and premultiplying by the complexconjugate eigenvectors uT

i , the result is simply a set of scalar, indipendent equations

mi y + ci y + kiyi = fi

where

mi = uTi Mui , ci = uT

i Cui , ki = uTi Kui , fi = uT

i f

since we have

uTi Muj = uT

i Cuj = uTi Kuj = 0 when i 6= j

Each scalar equation can be solved by elementary procedures indipendently

Total motion is obtained by superposition using 8

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 99 / 117

Page 100: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution I

Described analytical solutions provide insights into behaviour of linear systems

Not computationally economical for the solution of transient problems

Cannot be extended to nonlinear cases

Investigate now discretization methods directly applicable to time-domain

Since time domain is infinite, we refer to a finite time increment ∆t consideredbetween tn and tn+1 = tn +∆t, obtaining the so-called recurrence relations

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 100 / 117

Page 101: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution II

GOAL: solve equation of motion for a general load condition and possibly forgeneral internal force response

Time interval of interest: [0,T ]

Discretize time interval in N time sub-intervals of size ∆t, such that

t0 = 0, t1 = ∆t, t2 = 2∆t, .... tN = N∆t = T

or assume variable time sub-intervals

Resort to time-marching numerical scheme, i.e. assume to know solutions up to tn,want to compute solution at tn+1

Look for numerical solutions with bounded error wrt exact solution

un+1 ≈ u(tn+1) such that un+1 = u(tn+1) + O(∆tk)

then time integration method is k-order accurate

Second order accurate methods are desirable !!!!

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 101 / 117

Page 102: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution: central difference method I

Central difference method

Equation of motion at time tn

Mun + Cun + Kun = fn (9)

Central difference approximation of first derivative

un =un+1 − un−1

2∆t(10)

Central difference approximation of second derivative

un =un+ 1

2− un− 1

2

∆t=

un+1−un∆t

−un−un−1

∆t

∆t

=un+1 − 2un + un−1

(∆t)2

(11)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 102 / 117

Page 103: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution: central difference method II

Substituting positions 10 and 11 into equation of motion 9, we obtain:

[

1

(∆t)2M+

1

2∆tC

]

un+1 = fn −

[

1

(∆t)2M−

1

2∆tC

]

un−1 −

[

K −2

(∆t)2M

]

un

(12)i.e.

Kun+1 = fn

where

K =

[

1

(∆t)2M+

1

2∆tC

]

fn = pn −

[

1

(∆t)2M−

1

2∆tC

]

un−1 −

[

K−2

(∆t)2M

]

un

Note: explicit method since restoring force based only on quantities evaluated at tn

Easy to extend to non-linear problems

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 103 / 117

Page 104: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution: central difference method III

Starting procedure

Required u0, u−1 to solve for u1 !!

Compute accelaration at t = 0

u0 = M−1 (f0 − Cu0 − Ku0)

Assume that acceleration u0 at t = 0 acts for whole time-interval [t−1, t0] Estimate u−1 backward from t0 to t−1 and initial conditions at t0

u−1 = u0 + (−∆t) u0 +1

2(−∆t)2 u0

i.e.

u−1 = u0 −∆tu0 +1

2(∆t)2 u0

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 104 / 117

Page 105: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution: central difference method IV

Properties of numerical scheme

Consistency with order of accuracy k : gives informations on the relation between numerical approximated scheme and

original differential equation based on time-interval discretization ∆t. “Approximated” numerical scheme is said consistent if it reproduces “exact”

differential equation when ∆t → 0.

Stability: Local truncation error in numerical approximation does not grow in time.

Consistency + stability = convergence

Convergence: Numerical solution approaches exact solution when ∆t goes to zero

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 105 / 117

Page 106: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

SDOF central difference method: consistency I

Consider equationu+ ω

2u = f(t)

Define local truncation error τ as

τ = approx. ODE− exact ODE

In the particular case under investigation

τ =

[

un+1 − 2un + un−1

∆t2+ ωun − fn

]

−[

un + ω2un − fn

]

and after simplyfication

τ =un+1 − 2un + un−1

∆t2− un (13)

Expand displacement in Taylor series

un+1 = un + un∆t +1

2un (∆t)2 +

1

6

...u (∆t)3 +O

(

∆t4)

un−1 = un − un∆t +1

2un (∆t)2 −

1

6

...u (∆t)3 +O

(

∆t4)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 106 / 117

Page 107: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

SDOF central difference method: consistency II

Substituting Taylor expansion in 13 we obtain local truncation error as:

τ =un+1 − 2un + un−1

∆t2− un = O

(

∆t2)

(14)

Central difference method is consistent with second order accuracy

Damping term does not affect second order accuracy

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 107 / 117

Page 108: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF central difference method: stability I

We obtain a condition on time step ⇒ numerical approximation of ODE isconditionally stable

∆t

T<

1

π

For accuracy however a good guideline is

∆t

T<

1

10

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 108 / 117

Page 109: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution: central diff. method & nonlinear response I

Equation of motion at time tn with nonlinear internal force

Mun + Cun + fint(un) = fn (15)

Substituting positions 10 and 11 into equation of motion 15, we obtain:

[

1

(∆t)2M+

1

2∆tC

]

un+1 = fn−

[

1

(∆t)2M−

1

2∆tC

]

un−1+

[

2

(∆t)2Mun + f

int(un)

]

(16)i.e.

Kun+1 = fn

where

K =

[

1

(∆t)2M+

1

2∆tC

]

fn = fn −

[

1

(∆t)2M−

1

2∆tC

]

un−1 +

[

2

(∆t)2Mun + f

int(un)

]

Nonlinear internal force can be produced for example by an elasto-plastic spring

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 109 / 117

Page 110: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution: Newmark’s method I

Newmark’s method

Assume form of acceleration during time interval [tn, tn+1]

constant acceleration, i.e. u(τ ) =1

2(un + un+1)

linear acceleration, i.e. u(τ ) = un + (un+1 − un)τ

∆t

(17)

with τ ∈ [0,∆t] and ∆t = tn+1 − tn

Integrate twice over time interval to obtain velocity and displacement

constant acceleration

u(τ ) = un +1

2(un + un+1) τ

u(τ ) = un + unτ +1

4(un + un+1) τ

2

linear acceleration

u(τ ) = un + unτ +1

2(un+1 − un)

τ 2

∆t

u(τ ) = un + unτ +1

2unτ

2 +1

6(un+1 − un)

τ 3

∆t

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 110 / 117

Page 111: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution: Newmark’s method IIEvaluate at the end of time interval

constant acceleration

un+1 = un +1

2(un+1 + un)∆t

un+1 = un + un∆t +1

4(un+1 + un)∆t

2

linear acceleration

un+1 = un +1

2(un+1 + un)∆t

un+1 = un + un∆t +

(

1

6un+1 +

1

3un

)

∆t2

Both constant acceleration and linear acceleration can be put in the same form interms of two parameters β and γ defining the integration method

un+1 = un + [(1− γ) un + γun+1]∆t

un+1 = un + un∆t +

[(

1

2− β

)

un + βun+1

]

∆t2

such that

constant acceleration γ =1

2and β =

1

4

linear acceleration γ =1

2and β =

1

6F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 111 / 117

Page 112: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution: Newmark’s method III

It is interesting that both methods can be put in a predictor-corrector

un+1 = [un + (1− γ) un∆t] + [γun+1∆t]

un+1 =

[

un + un∆t +

(

1

2− β

)

un∆t2

]

+[

βun+1∆t2]

which can be rewritten as

un+1 = ˜un+1 + γ∆tun+1

un+1 = un+1 + β∆t2un+1

(18)

where

˜un+1 = un + (1− γ) un∆t

un+1 = un + un∆t +

(

1

2− β

)

un∆t2

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 112 / 117

Page 113: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF numerical solution: Newmark’s method IV

Assume to know solution at tn, want to solve at tn+1

Mun+1 + Cun+1 + Kun+1 = fn+1

Two options:

Express un+1 and un+1 in terms of un+1 and solve for un+1

Express un+1 and un+1 in terms of un+1 and solve for un+1

Second approach is particular interesting in case of nonlinear internal forces

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 113 / 117

Page 114: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF Newmark’s method in terms of displacements I

From equation 182 we express

un+1 =1

β∆t2(un+1 − un+1) (19)

and using 181un+1 = ˜un+1 + γ∆tun+1

= ˜un+1 +γ

β∆t(un+1 − un+1)

(20)

Plugging back into equilibrium equation we obtain

M

[

1

β∆t2(un+1 − un+1)

]

+ C

[

˜un+1 +γ

β∆t(un+1 − un+1)

]

+Kun+1 = fn+1

i.e.[

1

β∆t2M+

γ

β∆tC+ K

]

un+1 =

[

fn+1 +M1

β∆t2un+1 + C

γ

β∆tun+1

]

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 114 / 117

Page 115: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF Newmark’s method in terms of displacements II

Previous equation can be rewritten as:

Kun+1 = fn+1

where

K =

[

1

β∆t2M+

γ

β∆tC+ K

]

fn+1 =

[

fn+1 +M1

β∆t2un+1 + C

γ

β∆tun+1

]

and where we recall that

˜un+1 = un + (1− γ) un∆t

un+1 = un + un∆t +

(

1

2− β

)

un∆t2

(21)

Once solved for un+1, possible to compute new velocities and accelerations as

un+1 =1

β∆t2(un+1 − un+1)

un+1 = ˜un+1 + γ∆tun+1

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 115 / 117

Page 116: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

MDOF Newmark’s method in terms of displacements III

Simple starting procedure: only need is to compute acceleration u0 = u(0)

u0 = M−1 (p0 − Cu0 − Ku0)

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 116 / 117

Page 117: Elementi di Meccanica Computazionale Corso di Laurea … · Elementi di Meccanica Computazionale Corso di Laurea ... ij: stress (second-order) tensor ... Multiply differential equation

SDOF Newmark’s method: consistency I

Evaluation of local truncation error of velocity and acceleration shows that:

τ = O(∆tk)

with:

k = 2 for γ =1

2i.e second order

k = 1 for γ 6=1

2i.e first order

F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 117 / 117