Non linear finite element method
J. Besson
Centre des Matériaux, École des Mines de Paris,
UMR CNRS 7633, BP 87 Evry cedex 91003
Introduction — Outline
• The finite element method
• Application to mechanics
• Solving systems of non linear equations
• Incompressibility
Recalls about the finite element method
Spatial discretisation nodes, edges, faces (3D), elements
Node position
actual coordinates x = (x, y, z) reference coordinates η = (η, ζ, ξ)
η ζ
x y
espace reel espace de reference
Coordinates of the nodes belonging to one element:
xi, i = 1. . . N x = X
i
Ni(η)xi Ni interpolation function (or shape functions) such that:
Ni(ηj) = δij et X
i
Ni(η) = 1, ∀η
Jacobian matrix of the transformation η → x(η) J
∼ = ∂x
∂η Jij = ∂xi
∂η = ∂(Nkxki )
∂η = xki ∂Nk
∂η
Discrete integration methods
• Gauss method 1D
Z 1
−1
f(x)dx = wif(xi)
xi positions where the function is evaluated wi weight associated to the Gauss points
A Gauss integration with n Gauss points can exactly eval- uate the integral of a 2n − 1 order polynom.
• Extension to 2D and 3D cases.
Gauss points are very important in the case of the non linear FEM as the material behavior is evaluated at each Gauss point. State variables must be stored for each Gauss point
Integral over one finite element Ve (reference element Vr) Z
Ve
f(x)dx = Z
Vr
f(η)Jdη = X
i
f(ηi)(Jwi) It is possible to define the volume associated to a given Gauss point i:
vi = Jwi
Discretisation of unknown fields
η ζ
noeud
point de Gauss
The unknown fields (displacement, temperature, pressure,. . . ) are discretized in order to solve the problem:
at nodes : displacement, temperature, pressure
at elements: pressure in the case of incompressible materials
at element sets : periodic elements (homogeneosation), 2D elements inclusing torsion/flexion on the third direction
• Mechanics (ui displacement at node i)
u(η) = Nk(η)uk
• Thermal problem (T : temperature) :
T(η) = Ni(η)Ti
• Computation of the gradients:
(grad
∼
u)ij = ∂ui
∂xj
= ∂ui
∂ηk
∂ηk
∂xi
= uni ∂Nn
∂ηk
∂ηk
∂xi
(gradT)i = ∂T
∂xi
= ∂T
∂ηk
∂ηk
∂xi
= Tn∂Nn
∂ηk
∂ηk
∂xi
These formula can be rewritten in a compact form as:
{u} and {T} are vectors of nodal variables:
{u} =
u11 u12 u13 ... uN1 uN2 uN3
{T} =
T1 ... TN
Isoparametric elements Isoparametric elements are el- ements for which the unknowns and the coordinates are interpolated using the same shape functions.
Voigt Notations
ngrad
∼
uo
= [B].{u}
???
• The Voigt Notation is in fact used
• standard notation / recommanded notation :
∼ε =
ε11
ε22
ε33
2ε12
2ε23
2ε
, σ∼ =
σ11
σ22
σ33
σ12
σ23
σ
x
∼ =
x11
x22
x33
√2x12
√2x23
√2x
Application to mechanics
Ud
Fd
Sd
Sf
deplacement impose force imposee
Sd Sf Ω f
In the static case, the problem to be solved is as follows:
divσ∼ + f = 0 sur Ω σ∼.n = T sur Sf
u = ud sur Sd
where Ω is the volume of the solid, Sd surfaces where displacements are imposed, Sf
surfaces where efforts are imposed. f represents bodu forces (i.e. gravity)
Principle of virtual work
• Statically admissible stress field: A stress field σ∼∗ is statically admissible if:
divσ∼∗ + f = 0 on Ω σ∼∗.n = Fd on Sf
• Kinematically admissible displacement field: A displacement field u0 is kinematically admissible if:
u0 = ud sur Sd
• Principle of virtual work: Let σ∼∗ be a statically admissible stress field and let u0 be a kinematically admissible displacement field
Z
Ω
σ∼∗ : ∼0dΩ = Z
Ω
f.u0dΩ + Z
S
T.u0dS
∼
0 = 1 2
(grad
∼
u0) + (grad
∼
u0)T
Le left hand side corresponds to the internal virtual work and the right handside to the external virtual work.
Equilibrium (MEF)
• The discretized displacement field is KA
• The associated stress field is not necessarily SA (σ∼(ε∼(~u))))
• Solving the problem: Find the displacement fiel such that the associated stress field verifies the PVW.
Discretisation of the PVW : internal virtual work
wi ≡ {Fi({u})} .{u˙0}
= Z
Ω
σ∼(u) : ∼ε˙( ˙u0)dV
= X
e
Z
Ve
σ∼({ue}) .[B].{u˙e0} dV
= X
e
Z
Ve
[B]T .
σ∼({ue0}) dV
.{u˙e0}
= X
e
{Fie} .{u˙e0}
{σ} .[B].{u˙e0} = σiBiju˙e0j = σiBjiTu˙e0j = BjiT σi
u˙e0j
Discretisation of the PVW : external virtual work (imposed volume forces)
we ≡ {Fe({u})} .{u˙0}
= Z
Ω
f.u˙ 0dV
= X
e
Z
Ve
f.[N].{u˙ e0} dV
= X
e
Z
Ve
[N]T .fdV
{u˙e0}
= X
e
{Fee} .{u˙e0}
Resolution
wi = we
⇒ {Fi({u})}.{u˙0} = {Fe({u})} .{u˙0} ∀ {u˙0}
⇒ {Fi({u})} = {Fe({u})}
This system can be solved using an iterative Newton method (in the following) which requires the calculation of:
[K] = ∂ {Fi({u})}
∂ {u} Note that
[Ke] = ∂ {Fie({ue})}
∂ {ue}
= Z
Ve
[B]T .∂ σ∼
∂
∼ε
. ∂
∼ε
∂ {ue}dV = Z
Ve
[B]T .h L
∼∼
c
i.[B]dV
Assembly of the global stiffness matrix
The global stiffness matrix is obtained by assembling the [Ke] matrices.
The internal forces vector {Fi} ({Fe}) is obtained by assembling the {Fie} ({Fee}) vectors.
Example
4 5
6 7
A
B C
3 4 3
1 2
3 4
{u} =
u1x, u1y, u2x, u2y, u3x, u3y, u4x, u4y, u5x, u5y, u6x, u6y, u7x, u7y For element A, the local unknown vector
uA is:
uA =
uA1x , uA1y , uA2x , uA2y , uA3x , uA3y =
u1x, u1y, u2x, u2y, u4x, u4y The associated internal forces vector associated to element A is:
FiA =
FxA1, FyA1, FxA2, FyA2, FxA3, FyA3
Internal Forces
{Fi} =
Fx1 = FxA1 Fy1 = FyA1
Fx2 = FxA2 + FxB1 Fy2 = FyA2 + FyB1 Fx3 = FxB2
Fy3 = FyB2
Fx4 = FxA3 + FxB4 + FxC1 Fy4 = FyA3 + FyB4 + FyC1 Fx5 = FxB3 + FxC2
Fy5 = FyB3 + FyC2 Fx6 = FxC4
6 C4
Stiffness matrix
[K] =
O ON NO O N N O ON NO O N N N N N N N N N N N N N N N N N N O O N N O O N N N N N N N N N N
H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H
A
N B H C
O A and B 4 A and C
B and C
A, B and C
Incremental resolution Small strain case
• Strong non linearity ⇒ incremental resolution
• current time increment: from t0 to t1, ∆t = t1 − t0
• Many increments may be needed
• Quantities {Fi}, {Fe} and [KT] are computed for each element and assembled. For instancen the internal forces foe element e are computed as:
{Fie} = Z
Ve
[B]T .{σ}dV = X
g
BgT
.{σg}(Jgwg) The elementaty stiffness matrix is computed as:
[Ke] = Z
Ve
[B]T .[L].[B]dV = X
g
[Bg]T .[L].[Bg] (Jgwg)
Algorithm for the resolution
Material behavior in the finite element method
[U] (t0) known
timeincrement[t0,t1]
iteration i
∆ [U]i
evaluate
∼ε(t1), ∆ε∼
for each element
obtain σ∼(t1),
L
∼∼
=
∂∆σ∼
∼
∂∆ε∼
∼
for each element
compute
[F] using σ∼(t1) [K] using L
∼∼
evaluate [R]
is [R] small enough
? compute
δ∆ [U] using [R] and [K]
i=i+1
no
yes next increment box : global computation
box : local time integration of the constitutive equations
A generic interface between the material behavior and the FEM
• ∆t = t1 − t0
INPUT OUTPUT
[A] (t0)
∼ε(t1)
∆ε∼
[A] (t1) σ∼(t1)
L
∼∼
material behavior
Numerical methods to solve not linear systems of equations
Non linear equations written as:
{R} ({U}) = {0} FEM case:
{Fi}({u}) − {Fe}({u}) = {0}
Newton methods Linearisation of the system {R} ({U}) = {0}:
{R} ({U}) = {R} ({U}k) + ∂ {R}
∂ {U}
{U}={U}k
({U} − {U}k) (k : iteration number) Notation
[K] ({U}) = ∂ {R}
∂ {U} Kij({U}) = ∂Ri
∂Uj
After resolution
{U}k+1 = {U}k − [K]−k 1 {R}k
Illustration
R
U
U 1 U 2 0
Newton
U
Quasi Newton methods When the number of unknowns is large:
computational cost of [K]−1
computational cost of {R}({U}) and [K]−1 {R}k
The inverse matrix computed at the first iteration is kept:
{U}k+1 = {U}k − [K]−0 1 {R}k
U1 U0 U2
R Newton modifie
U
Other possibilities:
{U}1 = {U}0 − [K]−0 1 {R}0
{U}2 = {U}1 − [K]−1 1 {R}1
{U}k+1 = {U}k − [K]−1 1 {R}k
One unknown case : order of convergence
Fixed Point Method to be solved (x is scalar):
f (x) = 0 Transformation:
x = g (x) Solution : fixed point .
Iterative resolution. x0 is given.
xn+1 = g (xn) Let s be the solution of x = g (x).
If there exits an interval around s such that |g0| ≤ K < 1 then the xn serie converges toward s.
To prove this, one first notices that there exists value t (t ∈ [x, s]) such that (Mean Value Theorem)
g (x) − g (s) = g0 (t) (x − s) as g (s) = s et xn = g (xn−1), one gets :
|xn − s| = |g (xn−1) − g (s)| ≤ |g0 (t)||xn−1 − s|
≤ K|xn−1 − s|
≤ · · · ≤ Kn|x0 − s| as K < 1, lim→∞ |xn − s| = 0.
Order of an iterative method n error on xn
xn = s + n
The Taylor expansion of xn+1 leads to
xn+1 = g (xn) = g(s) + g0(s) (xn − s) + 1
2g00(s) (xn − s)2
= g(s) + g0(s)n + 1
2g00(s)2n One then gets
xn+1 − g(s) = xn+1 − s = n+1 = g0(s)n + 1
2g00(s)2n
The Order of an iterative method gives a mesure of its convergence rate. At orde 1 one gets
n+1 ≈ g0(s)n
and at order 2
n+1 ≈ 1
2g00(s)2n
Application to the Newton method
In the case of the Newton method, a Taylor expansion around xn is used to find xn+1 : f (xn+1) = f (xn) + (xn+1 − xn)f0 (xn) = 0
so that:
xn+1 = xn − f (xn) f0 (xn) This is therefore a fixed point method
g(x) = x − f(x) f0(x) One gets:
g0(x) = f(x)f00(x) f0(x) and
g00(x) = f00(x)
− 2f(x)f00(x)2
+ f(x)f000(x)
The Newton method is a second order method
In addition there always exist an interval around s such that |g0(s)| < 1. The Newton method always converges provided the start value x0 is close enough to the solution.
Application to the quasi Newton method In that case, one gets:
f (xn+1) = f (xn) + (xn+1 − xn)K = 0 where K is constant. Therefore
xn+1 = xn − f (xn) K and
g(x) = x − f(x) K and
g0(x) = 1 − f0(x) K
As g0(s) 6= 0, this method is a first order method. It converges for K such that:
Riks method Control
The “natural” problem control mode is to impose the external forces {Fe}. This control works if the load increases with displacement.
In the case of a limit load, a displacement control is needed.
In the case of snap-back instabilities, a mixte load—a displacement control is needed.
No problem
U
F
Problem under load control
U F
A B
Problem under both load and displacement control
U
F
Convergence
The convergence of the iterative resolution can be tested according to different methods:
• As the search solution verifies: {R} = {0}, the iterative process is stopped when {R} is small enough:
||{R}||n < R where R is the requested precision. With
||{R}||n = X
i
Rni
!n1
The ”inf.” norm is often used:
||{R}||∞ = max
i |Ri|
• In many cases, the equation {R} = {0} can be written as: {R}i − {R}e = {0} where {R}e is prescribed. A relative error can then be defined:
||{R}i − {R}e||
||{R}e|| < r
where r is the requested precision. Note that in some cases (residual stresses during
cooling) {R}e = {0} so that a relative error cannot be defined.
• The search can be stopped when the approximate solution is stable, i.e.
{U}k+1 − {U}k
n < U
This is not a strict convergence criterion For instance the serie: xn = log n verifies the criterion (xn+1 − xn = log((n + 1)/n)) ibut does not converge !
Incompressibility / Quasi incompressibility
Some materials are incompressible or quasi–incompressible (rubber, metals during forming, etc. . . ).
The incompressibility condition is written as: La condition d’incompressibilité se traduit par la condition
div ( ˙u) = 0
A FE formulation based on displacement only does not “naturally” enforce this condition. An enriched method must be used.
The stress tensor can be separated into a deviatoric component s
∼ and an hydrostatic component p so that: que l’on a :
σ∼ = s
∼ − p1
∼
Symptomes — 1
U =uniforme1
U =cte2
MATRICE
INCLUSION
boundary conditions mesh
Inclusion Young’s modulus 400 GPa, Poisson coeffi- cient 0.2
Matrix Young’s modulus 70 GPa, Poisson coeffi- cient 0.3, yield stress 200 MPa
• Result (pressure)
-3000 -2000 -1000 0 1000 2000 3000 4000
Symptomes — 2
Linear (3 nodes) triangles
Solution 1
• The first solution consists in post-processing the data in order to average the pressure within each element:
¯
p = 1 V
Z
V
pdV
• A new stress field is build:
σ∼ = s
∼ − p1
∼ → σ
∼
∗ = s
∼ − p¯1
∼
• This solution can be useful but is not general (does not work for T3)
Approximated formulation : selective integration One uses a selective integration of the volume variation.
• The strain tensor is related to the nodal displacement by
∼ε = [B].{U}
• [B] can be separated into a deviatoric part [Bdev] and a dilatation part [Bdil]:
[B] = [Bdev] + [Bdil]
• [Bdil] is then avaraged over the element:
B¯dil
= 1
|Ve| Z
Ve
[Bdil]dV
• A modified [B] is reconstructed;
[B∗] = [Bdev] + B¯dil
• Deformation is then computed using [B∗]:
∼ε = [B∗].{U}
• The volume variation is therefore constant in the element
• Once again the method cannot be applied to linear triangles and tetrahedrons. It can be applied to quadraric triangles and tetrahedrons
Approximated Formulation : penalisation
• In that case the material behavior is incompressible; this implies that only s
∼ and not σ can be obtained from the material. • pressure is computed for each element ∼
p = −κui,i
• κ : numerical penalisation factor (compressibility)
• σ∼ = s
∼− p1
∼
• Ifκ is large enough : divu ≈ 0
• Unknowns: displacements {U}.
• Internes forces are still given by:
Z
Ve
[B]T .σ∼dV
• the elementary stiffness matrix is now given by:
[Ke] = Z
Ve
[B]T .L
∼∼
.[B] + λ([B]T .[m]T) ⊗ ([m].[B]) dV
• [m] = [1 1 1 0 0 0]
Mixted pressure–displacement formualtion
New degrees of freedom are added to represent the pressure field which is defined as:
p = Nk0pk0 Displacement and positions are given by:
u = Nkuk x = Nk00xk00
A higher order interpolation is used for the displacement than for the pressure so that strains (derivative of the displacement) are the same order than the pressure.
Pression
Deplacement
• For linear element with respect to ~u, the pressure is constant in each element The mechanical equilibrium and the incompress-
ibility condition must be solved simultaneously σ∼ = s
∼ − p1
∼
∆s
∼ = L
∼∼
: ∆ε∼ material p = [Hp]{p} element
∆σ∼ = L
∼∼
.[B].{∆u} − ([Hp].{∆p}) [m]T [m] = [1 1 1 0 0 0]
[Hp] =
N1 . . . Nnp
PVW
• PVW
Wi = Z
V
σ : ∼ε˙ + pdivu dV
• Internal forces
{I} =
{u} {p}
{Fi} =
R
Ve [B]T .σ∼dV R
Ve [Hp]T divudV
• Stiffness matrix
[Ke] =
R
Ve [B]T .L
∼∼
.[B]dV R
Ve([B]T .[m]) ⊗ [Hp]dV R [H ]T ⊗ ([m].[B])dV [0]