2007 European Society of Biomechanics thematic workshop on
Finite Element Modelling in Biomechanics and Mechanobiology
Non-Linear Finite Element Analysis:
Finite Element Solution Schemes
I & II
Peter McHugh
Department of Mechanical and Biomedical Engineering
National Centre for Biomedical Engineering Science
National University of Ireland, Galway
Copyright © P. McHugh, 2007
Outline
• Basic Principles of FE
• Solid Mechanics BVP
• Linear Problems
• Non-linear Problems
• Solution Schemes
– Implicit (Newton-Raphson)
– Explicit Methods
– Dynamic Explicit Methods
• Stress Update Algorithm
• Generalisations
• Summary
Introduction to FE
“The finite element method is a means of
obtaining approximate numerical solutions to field
problems”
• Discretise body into regions – elements
• Elements connected at special points – nodes
• Replace solution variable distribution with
approximate distribution based on:
– fixed solution “shapes” over elements
– solution variable values at nodes
Continuous → Discrete
FE Approximation
• Temperature distribution u(x)
– a single degree of freedom case (SDOF)
n
u (x ) ⇒ ∑ N a (x ) ⋅ ua
a =1
• Approximation: assumption of “shape” of solution
throughout element – usually polynomial – linear,
quadratic,…
• More nodes & elements → greater accuracy
• Generally quadratic better than linear
Basic Idea – One element
real FE: 4-noded quad
Nodal values:
• actual unknowns solved for in FEM since
“shape” is assumed
• approximations to exact solution at nodes
Basic Idea – One element
1
Shape Functions 4
4–noded quad =
+
3 2
1
x2 2
x1
+
4
+
3
4
u (x ) = ∑ N a (x ) ⋅ ua
a =1
SDOF → MDOF
Single degree of freedom case (SDOF)
n
u (x ) = ∑ N a (x ) ⋅ ua
a =1
Multi degree of freedom case (MDOF),
e.g. displacements in 2D or 3D
n
u(x ) = ∑ N a (x ) ⋅ u a
a =1
Matrix/Vector notation Vector of nodal
displacements
u = Nu e
One element → Mesh
• 2D: Quad/Triangle – 3D: Hex./Tetrahedral
• Good idea to keep mesh reasonably regular
Field Problems
• Usually Field Problems are posed in the STRONG
FORM
– Partal differential equations PDEs + Boundary
conditions BCs
– PDEs + BCs → Boundary Value Problem (BVP)
– “Pointwise” form
• FE solutions come from the WEAK FORM
– Convert “pointwise” form to integral form
over whole body
– Principle of Virtual Work, Galerkin Method,
etc.
– Same information contained
Solid Mechanics BVP
Principle of Virtual Work (PVW)
f
V
∫ = ∫ fdS
T T
δε σdV δu
V S σ,ε,u
For 2D case: S
δε σ δu f
δε11 σ11 δu1 f1
f2
δε 22 σ 22 δu 2
2δε σ
12 12
FE Approximation
u = Nu e δu = Nδu e
1 ∂u ∂u
T
ε= 2 + = Bu e
δε = B δu e
∂x ∂x
Principle of Virtual Work (PVW):
∫ = ∫ fdS
T T
δε σdV δu
V S
∫ e = ∫ e N fdS
T T T T
δu B σdV δu
V S
FE Approximation
∫ e B σdV =
∫ e N fdS
T T T T
δu δu
V S
Eliminate virtual displacements:
∫ = ∫ fdS
T T
B σdV N
V S
Fundamental FE Equations to solve:
∫ σ(u e )dV = F
T
B
V
Linear Problem
Linear Elasticity
σ = Dε = DBu e
Input into FE equations:
∫ B σdV = F ∫ DBu e dV = F
T
T
B
V V
Reorganise and define stiffness matrix K:
B DBdV u = F
∫B DBu e dV = F
V∫
T T
e
V
Linear Problem
B T DBdV u = F
V∫ e
Numerical Integration (for each element)
Assembly of global matrix/vectors
Ku e = F
• Solution usually “straightforward”
• Can be achieved in a single step
• Apply F, invert K, solve for ue
• Go back and determine ε and σ
Non-Linear Problems
Non-linearities can arise for many reasons, e.g.
1 ∂u ∂u
T
∂u ∂u
T
• geometric non-linearities ε= 2 + +
– large deformation kinematics ∂x ∂x ∂x ∂x
– non-linear ε-u relationship = B(u e )u e
• material non-linearities
– non-linear constitutive law σ = σ (u e )
– non-linear σ-ε relationship
• non-linear boundary conditions
– surface contact
Non-linear Material
• Bi-linear elastic material
σ1
ε
ε1
Non-linear Material
• Elastic-plastic material
σ
σy
σ0
Strain hardening
ε
εp εe
Plastic Elastic
Non-Linear Problem
FE equations
∫ e σ(u e )dV = F
T
B (u )
V
∫ e σ(u e )dV − F = G (u e ) = 0
T
B (u )
V
• G is the out of balance/residual force
• G = 0 is a set of non-linear equations in ue
• Solution usually by incremental methods
– applying load in increments/steps: t → t+∆t
– stepping to final time tfinal in time steps ∆t and solving
for each step
– Implicit and Explicit methods used
– drop “e” for convenience
Implicit
Solved for t, wish to solve for t+∆t
t + ∆t
G (u )=0
• Implicit: Solve for t+∆t using state at t and t+∆t
– don’t know state at t+∆t yet
– Newton-Raphson method used typically –
ABAQUS/Standard, ANSYS, MARC,…
– take initial guess and iterate to convergence
– end up solving “linear-like” equation for each
iteration: Ku = F
– very accurate
– can use relatively large time steps
Explicit
• Explicit: Solve for t+∆t using state at t
– know state at t so can calculate Kt
– solve directly for incremental displacements:
Kt ∆u = ∆F
– no iteration
– no convergence check
– usually used in purpose written codes
– method is very robust
– must use very small time steps (x10 → x1000)
Implicit: Newton-Raphson
Material non-linearity
G (u t + ∆t ) = ∫ B T σ (u t + ∆t )dV − F = 0
V
• Assume solved for state at t
• ut are known
• Apply load increment
• Wish to update state to t+∆t
• ut+∆t are main variables
• How does NR method work?
Newton-Raphson
Look at 1D: Wish to solve f(x) = 0
Guess at root xi : Better guess xi+1 → NR formula
−1
Method applied iteratively: df
xi +1 = xi − ⋅ f ( xi )
xi+1 → xi and reapply NR formula dx xi
Continue to iterate
until convergence:
xi +1 − xi < Tolerance
f ( xi +1 ) < Tolerance
Newton-Raphson
For FE same principle G (u t + ∆t ) = 0
u t + ∆t
=u t + ∆t ∂G u
−
( t + ∆t
i ) G (u )
−1
t + ∆t
For ith iteration i +1 i i
∂u
Reorganise δu i +1 = u t + ∆t
−u t + ∆t ∂G u
= −
( t + ∆t
i ) G (u )
−1
t + ∆t
i +1 i i
∂u
K – tangent stiffness matrix
δu i +1 = −K u ( t + ∆t −1
i ) G (u ) t + ∆t
i
( )
K u ti + ∆t δ u i +1 = − G u ti + ∆t ( )
Newton-Raphson
( ) (
K u ti + ∆t δ u i +1 = − G u ti + ∆t )
• Must be solved for each iteration for change
in incremental displacements
• K and G are different for each iteration
• Same form as for linear problems: Ku = F
• Initial guess is usually ut
Convergence: (+ ∆t
G u ti +1 )
< Tolerance
Current increment in displacements - for ith iteration:
i
u t + ∆t
i − u = ∆u i = ∑ δu k
t
k =1
Newton-Raphson
i
u ti + ∆t − u t = ∆u i = ∑ δu k
k =1
Schematic of iteration process:
F
GG((uu t0+)∆t )
t + ∆t
0 G (u1t + ∆t )
Ft+∆t
K (u1t + ∆t )
K (u t0+ ∆t )
Ft
G (uδt0+u
∆t
) δu2
1
ut ∆u ut+∆t
Newton-Raphson
G (u ti + ∆t )
Method requires accurate evaluation of
For each iteration i K (u ti + ∆t )
G requires accurate σ for current estimate of ut+∆t
G (u ti + ∆t ) = ∫ B T σ (u ti + ∆t )dV − F t + ∆t = 0
V
Requires a Stress Update Algorithm (SUA)
Newton-Raphson
Look at K
(
K u ti + ∆t ) =
(
∂G u ti + ∆t )
= ∫ BT
∂σ
dV
∂u V
∂u (u ti +∆t )
∂σ ∂ε T ∂σ
= ∫B T
dV = ∫ B BdV
V
∂ε (u ti +∆t ) ∂u V
∂ε (uti +∆t )
Jacobian of
Consistent ∂σ constitutive law
Tangent Matrix
D tan
=
∂ε (uti +∆t )
( )
K u ti + ∆t = ∫ B T Dtan BdV
V
Form of K
• Same form as for linear problem
• Different for each iteration
• Consistent tangent matrix can be difficult to
evaluate for complex constitutive laws
Newton-Raphson Re-cap
• Load applied incrementally
• For each increment, iteration is performed
until convergence is achieved
• Need to be able to calculate K and G
accurately
Application: Linear Elasticity
• Dtan = D (constant)
• K constant for each iteration
• Convergence reached in 1 iteration
• Can apply full load in one increment
• Same as simple linear one-step solution
F
G (u t0+ ∆t )
Ft+∆t
K (u t0+ ∆t )
Ft
ut ut+∆t Displacement
Newton-Raphson
• Accurate and displays rapid convergence
• However there are modified methods used
– Simplified methods:
• Constant K – from first iteration in increment
• Initial stress method – K from first increment
– Complex methods: BFGS, etc.
• Can modify K but still must calculate G
accurately (SUA)
Non-Linear Solution Methods
• Implicit methods: Newton-Raphson
– NR: Gold Standard
– Rigorous convergence criterion
• Explicit methods: Kt ∆u = ∆F
• Both involve formation and inversion of the
global stiffness matrix K
• Major computational chore – processing and
storage
– Huge efforts made in developing efficient storage
and processing methods
– Skyline solvers, element by element solvers, etc.
• Alternative?
Dynamic Explicit Methods
• Problems reformulated as dynamic
• Include nodal velocities, accelerations
• Include inertia → mass matrix M
&& + G (u, u& ) = 0
Mu
• Problems solved incrementally
• No need to form or invert K at all!
• LS-Dyna, ABAQUS/Explicit,…
• Method is very robust – great for highly non-linear
problems
• No convergence check – must be careful about
accuracy and stability
• Must use very small time steps (x10 → x1000)
• Algorithms for determining ∆t
Central Difference Method
• No formation of K, but accuracy in G still required
• M in diagonal form
• Method works in “half increments”
i-1/2, i, i+1/2, i+1,…
• Solution “marches through time”
• For increment i:
&&i = −M −1G i
u
∆ti +1 + ∆ti
u& i + 1 = u& i − 1 + u
&&i
2 2
2
u i +1 = u i + ∆ti +1u& i + 1
2
Stress Update Algorithm
• To get accurate solution for any
iteration/increment, need accurate Gt+∆t
G (u t + ∆t ) = ∫ B T σ (u t + ∆t )dV − F t + ∆t = 0
V
F
GG((uu t0+)∆t )
t + ∆t
0 G (u1t + ∆t )
Ft+∆t
K (u1t + ∆t )
K (u t0+ ∆t )
Ft
G (uδt0+u
∆t
) δu2
1
ut ∆u ut+∆t
Stress Update Algorithm
• Stress can depend on many
variables/phenomena
– displacement/strain, temperature/heat flux,
diffusion, evolving porosity, etc…
– relevant material properties for each
phenomenon
• Need σt+∆t to be accurately calculated as a
function of changes in the independent
variables: t → t+∆t
• Not trivial for very complex (multi-physics) or
non-linear systems
Stress Update Algorithm
Commerical codes (ANSYS, ABAQUS, MARC,…)
• Using standard material models available
– elasticity, visco-elasticity, plasticity,….
– accuracy usually “guaranteed”
Why Emphasis Here?
Commerical codes (ANSYS, ABAQUS, MARC,…)
• Using User Material modules (ABAQUS-UMAT)
• Now common in mechanics and biomechanics
• Great freedom in describing stress dependence on
different variables – σ(mech, therm, chem, bio)
– Bio: protein synthesis, actin fibre/bundle
formation,…
• Allow material properties to evolve through time
• ABAQUS: ∆t, ut+∆t → UMAT
• UMAT: σt+∆t → ABAQUS
• ABAQUS believes correct – it does not check!!
Why Emphasis Here?
Many constitutive laws are in rate form & non-linear
σ& = f (ε, ε& , T , T& ,......)
t + ∆t
σ = σ + ∆σ
t
Not trivial to determine ∆σ based on ∆t, ut+∆t
• Algorithms: Simple Euler, Backward Euler, Central
Difference, Radial Return,…
• User need to ensure UMAT performing accurately
before use
Other Observations 1
• Considered solid mechanics situation
– Dealing with σ
– Although generalised to multi-physics
problems
• However, general methods and cautions hold
true for other problem types
– Thermal: heat flux and temperature
– Convection+diffusion: mass transport and
concentration
Other Observations 2
• Incremental solution methods vital for non-
linear problems
• However, also very important for any
time/rate-dependent problem
– Both linear and non-linear
– Track how state is changing over time (transient)
– Same methodologies used
– Visco-elasticity
– Creep and visco-plasticity
Summary
• Introduced FE - Linear & Non-linear
• Linear – single K matrix inversion
• Non-linear – incremental methods
– Implicit: Newton-Raphson – iteration – gold standard
– Dynamic Explicit: No K – no iteration – small time steps
– Must have accurate stress update algorithm
– User modules for com. codes → great flexibility to deal
with multi-physics problems
– General principles applicable to other problem types –
thermal, mass transport, etc.
• Incremental methods
– necessary for time dependent problems