View
220
Download
2
Category
Preview:
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
2D elastic problems II
Important the form in which you plot the error
F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 44 / 117
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
A simple MATLAB FE code: some simple tests V
F.Auricchio (UNIPV) Elasticity & FEM April 29, 2014 81 / 117
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Recommended